安裝
Python SDK 在 PyPI 上的套件名稱是 mcp,需要 Python 3.10+。
這份文件描述的是 v2,也就是目前的穩定版本線:
uv add "mcp[cli]"
pip install "mcp[cli]"
從 v1 過來的嗎?
v2 是含有破壞性變更的主要版本,遷移指南逐一說明了每一項變更。如果你的套件依賴 mcp 而且還沒準備好遷移,請保留 <2 的版本上限(例如 mcp>=1.28,<2),這樣沒有鎖定版本的解析結果就會停留在 1.x 版本線。
會安裝哪些東西
使用 SDK 不需要知道這些,但如果你好奇每個相依套件的用途:
mcp-types:所有協定型別(請求、結果、內容區塊)獨立成一個套件,版本與 SDK 同步。依賴mcp的程式碼透過mcp.types這個別名匯入(這份文件裡每一個from mcp.types import ...都是如此);只有在安裝了mcp-types但沒有安裝 SDK 的專案裡,才直接匯入mcp_types。anyio:非同步執行環境。整個 SDK 都是基於 anyio 寫的,所以在asyncio或trio上都能執行。pydantic:每個mcp.types模型的基礎,也負責所有 schema 的產生與驗證。httpx2:Streamable HTTP 和 SSE 用戶端傳輸背後的 HTTP 用戶端,內建 server-sent events 支援。starlette、uvicorn、sse-starlette和python-multipart:HTTP 伺服器傳輸。jsonschema:依照工具宣告的輸出 schema 驗證它的結構化輸出。pyjwt[crypto]:授權用的 OAuth 權杖處理。opentelemetry-api:只有輕量的 API,所以除非你自己安裝 OpenTelemetry SDK 和匯出器,否則 SDK 的追蹤中介軟體不會帶來任何負擔。typing-extensions和typing-inspection:讓 Python 3.10 也能使用新的型別功能。pywin32:僅限 Windows,用於stdio子處理程序管理。
選用的 extra
mcp[cli]會加裝typer和python-dotenv,供mcp命令列工具使用(mcp dev、mcp run、mcp install)。開發期間會用到;部署後的伺服器可能就不需要了。mcp[rich]會加裝rich,讓伺服器記錄更好看。