国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

MCP開發從入門到實戰,少走99%彎路

發布于 2025-8-22 07:05
瀏覽
0收藏

模型上下文協議(Model Context Protocol,MCP)正在徹底改變我們與人工智能的交互方式,它讓從數據科學家到業余愛好者的每個人都能輕松地為 AI 助手接入真實世界的數據,從而大幅提升其能力。舉個例子,你可以像和同事聊天一樣與 AI 對話,毫不費力地讓它深入分析復雜數據集、發現隱藏模式、進行數值計算,甚至實時抓取網絡上的市場趨勢——整個過程自然流暢,就像普通對話一樣。MCP 就像一個通用連接器,彌合了現代 AI 模型強大能力與動態變化的數據世界之間的鴻溝。無論是分析銷售數據、預測趨勢,還是探索實時洞察,MCP 都能把 AI 轉變成一個強大的數據伙伴,它不僅能對話,更能真正理解并交互與你關心的重要信息。這個協議正在開啟智能、上下文感知助手的新紀元,它們不再只是生成文本,而是能夠推理、計算,并交付符合你需求的可執行結果。

什么是 MCP 服務器?

MCP 服務器就像一座橋梁,把 AI 模型(如 Claude 或 GPT)與您的數據或工具連接起來。它允許 AI 通過標準化協議訪問數據集、執行計算或獲取外部數據。你可以把它想象成 AI 的 USB-C 接口——它把數據科學的工作流與 AI 連接,使其功能遠超文本生成。

對于數據科學家來說,MCP 服務器可以:

  • 讀取并總結數據集(例如 CSV 文件)。
  • 計算統計量(如均值、中位數或標準差)。
  • 從 API 獲取實時數據(如股票價格或天氣)。
  • 基于數據生成洞察或可視化結果。

我們將在本文創建一個基于 Python 的 MCP 服務器,它可以:

  • 讀取包含銷售數據的 CSV 文件。
  • 提供計算統計量的工具(均值、中位數、標準差)。
  • 使用 Alpha Vantage API 獲取實時股票價格。
  • 連接到 Claude Desktop,讓你能與數據進行對話。

以下是高層次的工作流圖:

MCP開發從入門到實戰,少走99%彎路-AI.x社區

設置開發環境

步驟 1:安裝 Python

確保已安裝 Python 3.10 或更高版本。檢查方式:

python --version

步驟 2:安裝 uv

uv 是一個輕量級的 Python 包管理器。安裝方法:

Mac/Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

安裝完成后,重啟終端以確保 ??uv?? 命令可用。

步驟 3:創建項目目錄

創建一個項目文件夾,并設置虛擬環境:

mkdir data_science_mcp
cd data_science_mcp
uv init data_science_mcp
uv venv
source .venv/bin/activate  # Mac/Linux
.venv\Scripts\activate     # Windows

步驟 4:安裝依賴

創建一個 ??requirements.txt?? 文件,列出依賴:

mcp[cli]>=1.4.0
pandas>=2.0.0
httpx>=0.23.0
python-dotenv>=1.0.0

安裝依賴:

uv pip install -r requirements.txt

步驟 5:獲取 Alpha Vantage API Key

在 Alpha Vantage 注冊并獲取免費的 API key(每天 25 次請求)。將其保存到項目根目錄下的 ??.env?? 文件:

ALPHA_VANTAGE_API_KEY=your_api_key_here

步驟 6:準備示例數據集

創建一個 ??data??? 文件夾,并添加一個示例 CSV 文件 ??sales_data.csv??:

product,category,price,quantity_sold
Laptop,Electronics,999.99,50
Phone,Electronics,499.99,120
T-Shirt,Clothing,19.99,200
Jeans,Clothing,49.99,80

這個數據集包含了產品的銷售數據,我們將用它來做分析。

步驟 7:安裝 Claude Desktop

從 Anthropic 官網 下載并安裝 Claude Desktop。它支持 macOS 和 Windows(Linux 用戶可以構建自定義 MCP 客戶端)。

環境準備完成!

項目結構應如下

data_science_mcp/
├── .venv/
├── data/
│   └── sales_data.csv
├── .env
├── requirements.txt

構建 MCP 服務器

接下來我們來創建 MCP 服務器。我們將使用 FastMCP 庫來定義數據分析和 API 調用的工具。

步驟 1:創建服務器文件

在項目根目錄下創建 ??server.py?? 文件,寫入以下代碼:

import pandas as pd
import httpx
from mcp.server.fastmcp import FastMCP
from dotenv import load_dotenv
import os


# 加載環境變量
load_dotenv()


# 初始化 MCP 服務器
mcp = FastMCP("data_science_server")


# 加載示例數據集
DATA_PATH = "data/sales_data.csv"
df = pd.read_csv(DATA_PATH)


# 工具 1:獲取數據集摘要
@mcp.tool()
def summarize_dataset() -> str:
    """總結數據集:行數、列數和列名。"""
    rows, cols = df.shape
    columns = ", ".join(df.columns)
    return f"Dataset has {rows} rows and {cols} columns. Columns: {columns}"


# 工具 2:計算列均值
@mcp.tool()
def compute_mean(column: str) -> float:
    """計算數值列的均值。"""
    if column not in df.columns:
        return f"Error: Column '{column}' not found."
    if not pd.api.types.is_numeric_dtype(df[column]):
        return f"Error: Column '{column}' is not numeric."
    return float(df[column].mean())


# 工具 3:計算列中位數
@mcp.tool()
def compute_median(column: str) -> float:
    """計算數值列的中位數。"""
    if column not in df.columns:
        return f"Error: Column '{column}' not found."
    if not pd.api.types.is_numeric_dtype(df[column]):
        return f"Error: Column '{column}' is not numeric."
    return float(df[column].median())


# 工具 4:計算列標準差
@mcp.tool()
def compute_std(column: str) -> float:
    """計算數值列的標準差。"""
    if column not in df.columns:
        return f"Error: Column '{column}' not found."
    if not pd.api.types.is_numeric_dtype(df[column]):
        return f"Error: Column '{column}' is not numeric."
    return float(df[column].std())


# 工具 5:獲取股票價格
@mcp.tool()
async def get_stock_price(symbol: str) -> str:
    """獲取指定股票代碼的最新價格。"""
    api_key = os.getenv("ALPHA_VANTAGE_API_KEY")
    url = f"https://www.alphavantage.co/query?functinotallow=TIME_SERIES_INTRADAY&symbol={symbol}&interval=5min&apikey={api_key}"
    async with httpx.AsyncClient() as client:
        try:
            response = await client.get(url)
            response.raise_for_status()
            data = response.json()
            if "Time Series (5min)" not in data:
                return f"Error: No data found for symbol '{symbol}'."
            latest_time = list(data["Time Series (5min)"].keys())[0]
            price = data["Time Series (5min)"][latest_time]["4. close"]
            return f"Latest price for {symbol}: ${price}"
        except httpx.HTTPError:
            return f"Error: Failed to fetch stock price for '{symbol}'."


# 運行服務器
if __name__ == "__main__":
    mcp.run(transport="stdio")

代碼解釋

  • 導入:使用 pandas 處理數據,httpx 調用 API,FastMCP 創建 MCP 服務器,dotenv 管理環境變量。
  • 服務器初始化:FastMCP("data_science_server")創建一個名為 “data_science_server” 的服務器。
  • 加載數據集:讀取 sales_data.csv 到 Pandas DataFrame。
  • 工具:

summarize_dataset:返回行數、列數和列名。

compute_mean / compute_median / compute_std:計算數值列的基本統計量(如價格或銷量)。

get_stock_price:異步獲取實時股票價格(Alpha Vantage API)。

  • 運行服務器:mcp.run(transport="stdio")啟動服務器(STDIO 模式),適合本地與 Claude Desktop 測試。

步驟 2:配置 Claude Desktop

要將服務器連接到 Claude Desktop:

  1. 找到 Claude Desktop 的配置文件 claude_desktop_config.json(路徑見官方文檔)。
  2. 添加服務器配置:

{
  "mcpServers": {
    "data_science_server": {
      "command": "/path/to/your/venv/bin/python",
      "args": ["/path/to/data_science_mcp/server.py"]
    }
  }
}

將 ??/path/to/your/venv/bin/python??? 和 ??/path/to/data_science_mcp/server.py?? 替換為你本地的實際路徑。

步驟 3:測試服務器

運行服務器:

uv run python server.py

打開 Claude Desktop。你應該能在可用工具中看到該服務器。如果顯示綠色指示符(??),說明連接成功。

本文轉載自????????PyTorch研習社????,作者:南七無名士


收藏
回復
舉報
回復
相關推薦
蜜桃成人av| 黄色在线小视频| 老司机色在线视频| 国产精品99久久久久久有的能看 | 色影院视频在线| 久久中文欧美| 国产呦系列欧美呦日韩呦| 日本黄在线观看| 国产精品网站在线| 国产美女永久无遮挡| 国产精品一区二区三区四区在线观看 | 国产麻豆日韩| 国产精品视频一区视频二区| 精品精品国产高清a毛片牛牛| 精品免费久久久久久久| 久久精品国产成人一区二区三区| 久久久久久久国产| 美女搞黄视频在线观看| 中文字幕乱码久久午夜不卡 | 无码av免费一区二区三区试看| 91牛牛免费视频| 国产不卡av一区二区| 欧美亚洲一区在线| 女人丝袜激情亚洲| 亚洲一区二区三区视频播放| 伊人精品视频| 蜜桃传媒视频麻豆第一区免费观看| 最新精品国产| 国语精品免费视频| 欧美日韩成人| 成人免费看片视频在线观看| 免费高清成人在线| 日韩一级性生活片| 91丝袜美腿高跟国产极品老师 | 国产freexxxx性播放麻豆| 国产99久久久久久免费看农村| 欧洲黄色一级视频| 无码av免费一区二区三区试看| 日本在线播放| 丝袜美腿亚洲一区二区| 试看120秒一区二区三区| 国产精品久久久久久久一区探花| 最新精品国偷自产在线| 欧美成人免费在线| 成av人片一区二区| 伊人资源视频在线| 精品久久久久久久久久久久| 日本www在线| 午夜精品久久久久久久久| 欧美女同网站| 欧美一区日本一区韩国一区| 三上悠亚国产精品一区二区三区| 性欧美激情精品| 免费久久99精品国产自在现线| 韩国无码av片在线观看网站| 亚洲欧美另类久久久精品| 午夜成年人在线免费视频| 久久久久久噜噜噜久久久精品| 亚洲www.| 麻豆精品传媒视频| 国产精品亲子乱子伦xxxx裸| 成人在线观看黄色| 亚洲娇小xxxx欧美娇小| 精精国产xxxx视频在线野外| 俺去亚洲欧洲欧美日韩| 亚洲第一天堂| 视频免费观看| 久久久久久综合网天天| 亚洲一区日韩| 翔田千里在线视频| 久久久精品中文字幕| 婷婷精品视频| 在线看的黄色网址| 伊人亚洲福利一区二区三区| 一区二区久久| 国产特级毛片| 高清欧美性猛交xxxx黑人猛交| 国产精品一卡二卡| 亚洲插插视频| 精品少妇在线视频| 精品伊人久久97| 日韩国产欧美在线视频| 91免费黄视频| 欧美日韩国产123区| 蘑菇福利视频一区播放| 美国成人毛片| 久久99精品久久久久久久久久| 日韩欧美一区二区三区| 欧美99久久| 久草在线视频网站| 欧美大片免费播放| 色综合伊人色综合网| 成人激情动漫在线观看| 久久综合偷偷噜噜噜色| 亚洲综合在线小说| 欧美日韩在线一区二区| 午夜欧美视频| 忘忧草在线www成人影院| 国产精品视频网| 欧美伊人久久大香线蕉综合69 | 99久久伊人久久99| 日韩一级二级| 黄色网免费看| 神马影院我不卡| 日韩视频精品在线| 亚洲男女毛片无遮挡| 9国产精品视频| 免费黄色网页在线观看| 秋霞在线一区二区| 精品自拍视频在线观看| 国产乱码精品一区二区三区av | 99蜜桃在线观看免费视频网站| 99在线精品视频| 色男人天堂综合再现| 91豆花视频在线播放| 超碰影院在线观看| 国产精品自产拍在线观看中文| 亚洲第一精品电影| 午夜不卡在线视频| 国产综合色视频| 国产精品国码视频| 伊人春色之综合网| 国产九色在线| 欧美日韩福利在线| 国产精品激情av在线播放| 精品国产伦一区二区三区观看方式| 国产精品色呦呦| 成人一区二区三区视频在线观看| 亚洲一区二区三区四区五区午夜 | 国产美女精品视频| 日韩美女一区二区三区| 久久久国产午夜精品| 精品无人码麻豆乱码1区2区 | 国产乱子视频| 国产熟人av一二三区| 美国av在线播放| 亚洲电影免费| 国产精品久久久久久久7电影| 欧美精品免费在线观看| 色爱精品视频一区| 日韩在线观看免费全| 综合国产在线观看| 椎名由奈av一区二区三区| 国产精品一区二区在线观看不卡| 丝袜美腿亚洲色图| 免费观看在线色综合| 成人涩涩网站| 加勒比色综合久久久久久久久| 免费黄色电影在线观看| 国产一级黄色电影| 美女胸又www又黄的网站| 97在线国产视频| 污污污污污污www网站免费| 亚洲精品天堂成人片av在线播放| 日本一二三区视频在线| 人妻少妇被粗大爽9797pw| 黑巨人与欧美精品一区| 中国一级特黄毛片大片| 久久伊伊香蕉| 校园春色亚洲色图| 羞羞色国产精品网站| 欧美美女在线直播| 国产韩日影视精品| 日日摸夜夜添夜夜添国产精品| www.日本不卡| 在线看不卡av| 欧美日韩精品久久久| 亚洲欧美福利视频| 国产精品黄页免费高清在线观看| 91在线观看网站| 91亚洲精品国产| 亚洲校园欧美国产另类| 啦啦啦中文在线观看日本| 欧美天堂影院| 日本欧美韩国一区三区| 亚洲视频在线一区| 69久久99精品久久久久婷婷| 色青青草原桃花久久综合| 欧美野外猛男的大粗鳮| 97人人澡人人爽| 蜜桃视频一区二区在线观看| 国产高清免费在线| 欧美黑人又粗又大又爽免费| 精品欧美色视频网站在线观看| 日本精品另类| 亚洲专区一区二区三区| 成人福利视频网站| 美女性感视频久久| av男人天堂一区| 色狠狠桃花综合| 国产一区视频在线播放| 日韩成人三级视频| 女囚岛在线观看| 麻豆9191精品国产| 久久er99热精品一区二区| 日韩一区二区三区免费观看| 国产一区二区三区色淫影院| 国产综合在线观看| 国产精品a级| 国产精品免费av|