MCP Python SDK 安装指南:v2 稳定版的完整安装、依赖解析与 CLI 工具链
MCP Python SDK 安装指南v2 稳定版的完整安装、依赖解析与 CLI 工具链【免费下载链接】python-sdkThe official Python SDK for Model Context Protocol servers and clients项目地址: https://gitcode.com/gh_mirrors/pythonsd/python-sdk导读本文围绕 Model Context ProtocolMCP官方 Python SDKPyPI 包名mcp的安装主题展开覆盖 uv/pip 两种安装方式、Python 3.10 版本要求、v2 稳定版本线的迁移注意事项并逐一解析安装后实际落入环境的每一个依赖包及其职责。读完本文你将掌握如何在开发机与部署环境正确安装 SDK、如何利用mcp[cli]与mcp[rich]两个可选扩展以及安装后如何通过mcp命令行工具验证并驱动自己的服务器。本文以 i18n/de/pages/get-started/installation.md与英文原版 docs/get-started/installation.md 同源为主体并辅以当前仓库的 pyproject.toml 与 CLI 源码 进行源码级佐证。安装前提Python 3.10 与 v2 稳定版本线SDK 以mcp为包名发布在 PyPI 上要求 Python 3.10 及以上版本。这一要求直接体现在仓库根目录 pyproject.toml 的requires-python 3.10声明中同时其打包元数据中的 classifiers 明确列出的支持版本为 Python 3.10、3.11、3.12、3.13 与 3.14。当前文档描述的默认安装目标是v2 版本线即当前稳定发布分支从仓库发布状态与 docs/migration.md 的说明看v2 是带破坏性变更的主版本。v2 相比 v1 在包结构上有一个显著变化协议线类型被拆分到独立的mcp-types发行包详见下文「依赖解析」一节因此 v2 的安装过程与依赖解析行为与 v1 并不完全一致这也是官方文档专门提示迁移注意事项的原因。两种主流安装方式uv 与 pip官方文档给出两种等价安装命令二者安装的均为mcp[cli]含 CLI 扩展的完整版本 uvbash uv add mcp[cli] pipbash pip install mcp[cli] uvuv add mcp[cli]会在当前项目pyproject.toml/uv.lock环境中声明并锁定依赖。由于本仓库本身就是用 uv 管理的工作区见 pyproject.toml 中[tool.uv.workspace]与[tool.uv.sources]的配置uv add是与仓库内建工具链最一致的方式。pippip install mcp[cli]适用于任何标准 Python 环境行为与普通 PyPI 安装一致。两种方式都通过 extras 语法[cli]把命令行工具链一并装入。如果你只想安装 SDK 核心不含 CLI直接使用pip install mcp或uv add mcp即可。从 v1 迁移版本上限约束与迁移指南安装文档专门为仍在使用 v1 的用户给出了明确的版本约束建议v2 是带破坏性变更breaking changes的主版本官方提供了逐项说明的迁移指南。如果你的包依赖mcp且尚未准备好迁移请在依赖声明中保留2的上限例如mcp1.28,2这样未固定unpinned的依赖解析会停留在 1.x 版本线上不会被意外解析到 v2。对应仓库内的完整迁移说明见 docs/migration.md其中详细列出了 v2 的主要破坏性变更包括但不限于FastMCP更名为MCPServer、协议字段由 camelCase 改为 snake_case、httpx/httpx-sse被httpx2取代、mcp.types迁移到独立的mcp-types包等。在动手升级前通读该文档可以大幅降低迁移成本。安装后实际获得的依赖包逐一解析官方文档在「What gets installed」一节中说明了每个依赖的用途。以下结合仓库根目录 pyproject.toml 中[tool.uv-dynamic-versioning]声明的运行时依赖即实际打包进mcp发行版的依赖逐一展开依赖版本要求来自 pyproject.toml职责mcp-types与 mcp 版本完全一致协议线类型请求、结果、内容块作为独立发行包与 SDK 同步版本anyio4.9Python 3.14/4.10Python 3.14异步运行时抽象pydantic2.12.0所有mcp.types模型的基座承担 schema 生成与校验httpx22.5.0Streamable HTTP 与 SSE 客户端传输背后的 HTTP 客户端内建 Server-Sent Events 支持starlette0.27Python 3.14/0.48.0Python 3.14HTTP 服务器传输ASGI 框架层uvicorn0.31.1sys_platform ! emscriptenHTTP 服务器传输ASGI 服务器层sse-starlette3.0.0SSE 服务器端传输python-multipart0.0.9HTTP 服务器传输的表单解析jsonschema4.20.0校验工具的声明式结构化输出pyjwt[crypto]2.10.1OAuth 令牌处理授权流程opentelemetry-api1.28.0轻量级可观测性 APItyping-extensions4.13.0在 Python 3.10 上提供现代类型特性typing-inspection0.4.1类型内省工具pywin32311仅sys_platform win32Windows 平台下stdio子进程管理下面按职责分组做深入说明。mcp-types协议类型独立成包官方文档明确指出每一个协议类型requests、results、content blocks现在都作为独立发行包mcp-types导入名mcp_types发布并与 SDK 严格同步版本mcp-typesmcp 版本精确固定。对依赖mcp的项目来说导入方式完全不变——mcp.types是永久别名逐名镜像mcp_types文档与代码中的每个from mcp.types import ...都通过该别名工作只有在一个只安装mcp-types而不安装完整 SDK的项目里才需要直接import mcp_types。这一设计在仓库源码中可以得到印证src/mcp/types/__init__.py的核心逻辑就是from mcp_types import *并将jsonrpc、methods、version三个子模块逐一镜像绑定保证mcp.types.Tool、mcp.types.version.LATEST_PROTOCOL_VERSION等写法与 v1 完全一致。同时 src/mcp/init.py 顶部直接from mcp_types import (CallToolRequest, ...)再统一__all__导出让from mcp import Tool这样的顶层导入也保持不变。拆分mcp-types的好处在于只做协议序列化/反序列化的轻量工具链无需拖入httpx2、starlette、uvicorn等整套传输栈mcp-types的运行时依赖仅pydantic与typing-extensions见其目录 src/mcp-types/mcp_types 下的pyproject.toml。anyio跨 asyncio/trio 的异步运行时整个 SDK 都是针对 anyio 编写的因此同一套代码可以运行在asyncio或trio之上。这对安装的影响是无论你最终用哪个事件循环anyio 都是强制依赖如果你在测试中需要 trio 支持需要自行额外安装trio仓库开发依赖组中即包含trio0.26.2。httpx2取代 httpx 的新一代 HTTP 客户端v2 用httpx2取代了 v1 的httpx与httpx-sse组合。httpx2是httpx的下一代分支内建了 Server-Sent Events 支持因此独立的httpx-sse依赖被移除。Streamable HTTP 与 SSE 的客户端传输都构建在它之上。从 docs/migration.md 可以看到迁移时通常只需把import httpx改为import httpx2API 兼容但需要注意异常类型、logging.getLogger(httpx)的日志名改为httpx2/httpcore2以及 TLS 校验方式httpx2通过truststore使用操作系统信任库等细节差异。starlette / uvicorn / sse-starlette / python-multipartHTTP 服务器传输栈这四个包共同构成 SDK 的 HTTP服务器端传输能力starlette提供 ASGI 应用框架、uvicorn负责实际起服务、sse-starlette提供 SSE 端点、python-multipart处理 multipart 表单。也就是说如果你只写 MCP客户端而不自建 HTTP 服务器这些包依然会被安装它们是硬依赖但不会被实际使用这是官方文档「什么都不用知道也能用 SDK」的直接体现。jsonschema 与结构化输出jsonschema用于将工具的结构化输出structured output与其声明的输出 schema 进行校验。该能力与 docs/servers/structured-output.md 中讲解的功能直接对应是 v2 类型安全体系的一部分。pyjwt[crypto] 与 OAuth 授权pyjwt[crypto]负责 OAuth 令牌的解析与处理服务于 SDK 的授权authorization能力。相关使用方式可参考 docs/run/authorization.md 与客户端 OAuth 文档 docs/client/oauth-clients.md。opentelemetry-api零成本的可观测性注意这里只引入轻量级的 API 包而不是完整的 OpenTelemetry SDK。官方文档特别强调SDK 的 tracing 中间件因此是零成本的——除非你自己另行安装 OpenTelemetry SDK 与 exporter否则不会产生实际的追踪导出开销。这保证了安装默认不附带任何遥测副作用。完整接入方式见 docs/run/opentelemetry.md。typing-extensions 与 typing-inspection这两个包在 Python 3.10 上补齐现代类型特性如NotRequired、TypeAliasType等是 SDK 严格类型体系仓库以 pyright strict 模式自检见 pyproject.toml 的[tool.pyright]的地基。pywin32仅 Windows 平台的条件依赖pywin32只在 Windows 平台sys_platform win32安装用于管理stdio子进程。在 Linux/macOS 上它不会进入安装结果属于典型的平台条件依赖marker 依赖。可选扩展extrasmcp[cli] 与 mcp[rich]官方文档给出了两个可选扩展其精确版本约束可从 pyproject.toml 的[project.optional-dependencies]中确认mcp[cli]开发必备的命令行工具cli [typer0.16.0, python-dotenv1.0.0]mcp[cli]为mcp命令行工具补齐typerCLI 框架与python-dotenv.env文件加载。装上后即可使用mcp dev、mcp run、mcp install三个子命令详见下文。官方建议开发期间你一定会需要它在已部署的服务器上则可能用不到。mcp[rich]更漂亮的服务器日志rich [rich13.9.4]mcp[rich]引入rich用于美化服务器日志输出。纯体验增强不影响功能。为什么主安装命令总是带 [cli]官方文档示例uv add mcp[cli]与pip install mcp[cli]均默认携带 CLI 扩展这与[project.scripts]中mcp mcp.cli:app [cli]的入口声明一致——mcp命令入口本身就以[cli]为前置条件。若不带[cli]安装后再执行mcpCLI 源码会明确报错提示Install with pip install mcp[cli]见 src/mcp/cli/cli.py 的导入兜底逻辑。安装后验证与使用mcp 命令行工具链安装mcp[cli]后终端中会出现mcp命令。从 src/mcp/cli/cli.py 的源码可以确认其四个子命令及核心参数子命令用途关键参数mcp version打印当前安装的 SDK 版本无mcp dev file在 MCP Inspector 中运行服务器调试用:object后缀指定服务器对象--with-editable/-e可编辑安装目录--with附加安装包mcp run file直接运行 MCP 服务器--transport/-t指定stdio、sse或streamable-httpmcp install file将服务器安装进 Claude 桌面应用--name/-n服务器名--with-editable/-e--with--env-var/-v注入KEYVALUE环境变量--env-file/-f加载.env文件几个与安装主题直接相关的实践要点验证安装运行mcp version会打印形如MCP version x.y.z的输出若包未安装则提示MCP version unknown (package not installed)源码中通过importlib.metadata.version(mcp)实现。服务器文件定位mcp dev/mcp run/mcp install接受file.py或file.py:server_object两种写法不指定对象时按mcp、server、app三个常见变量名依次探测且要求对象是MCPServer类型低层Server暂不支持。开发工作流官方快速入门推荐uv run mcp dev server.py启动 MCP Inspector 进行交互调试具体流程见 docs/get-started/first-steps.mdmcp run适合直接运行服务器mcp install则面向 Claude 桌面应用集成。安装后的下一步安装完成后官方建议的后续路径是对应 docs/get-started/index.md构建你的第一个服务器docs/get-started/first-steps.md连接到真实宿主如 Claude Desktopdocs/get-started/real-host.md用内存客户端为服务器编写测试docs/get-started/testing.md。如果从 v1 升级遇到破坏性问题请回到 docs/migration.md 按「Suggested migration order」逐项处理若需了解依赖如何影响生产部署可参考 docs/run/deploy.md。【免费下载链接】python-sdkThe official Python SDK for Model Context Protocol servers and clients项目地址: https://gitcode.com/gh_mirrors/pythonsd/python-sdk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

SSM框架老年人健康饮食管理系统开发实战

SSM框架老年人健康饮食管理系统开发实战

简介:面向计算机相关专业毕业生的Java SSM老年人健康饮食管理系统毕业论文文档,可作为毕业设计选题、系统开发与论文撰写的直接参考。资源包内共1个doc文件,大小4.46MB,为包含摘要、中英文关键词、目录、正文及参考文献的完整论文…

2026/9/20 15:08:28 阅读更多 →
水平井DTS温度剖面与产出剖面反演:Python实现方法

水平井DTS温度剖面与产出剖面反演:Python实现方法

简介:面向石油工程领域科研人员与技术人员的水平井产出剖面解释复现资源,聚焦分布式光纤温度测试(DTS)应用,围绕温度预测模型、油藏-井筒耦合建模以及蒙特卡罗马尔科夫链(MCMC)反演渗透率等核心…

2026/9/20 15:08:28 阅读更多 →
架空电缆敷设施工全流程:牵引力校核与弧垂控制要点

架空电缆敷设施工全流程:牵引力校核与弧垂控制要点

简介:这份PPT是一份面向通信线路施工人员、运维工程师及通信专业学生的技术讲解材料,聚焦架空全塑电缆敷设中的吊线架设与连接工艺。内容按施工流程展开:先讲吊线程式选用,包括7/2.2、7/2.6、7/3.0钢绞线的适用条件,吊…

2026/9/20 15:08:28 阅读更多 →

最新新闻

CheckBox 选中背景色不生效?用 TaoToken 接 Codex 改 input:checked 样式

CheckBox 选中背景色不生效?用 TaoToken 接 Codex 改 input:checked 样式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 20:23:28 阅读更多 →
10 个前端 MCP 服务器盘点:这次用 TaoToken 走通 Claude Code 的模型通道

10 个前端 MCP 服务器盘点:这次用 TaoToken 走通 Claude Code 的模型通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 20:23:28 阅读更多 →
莎木online 面试必问:3分钟吃透核心原理与薪资真相

莎木online 面试必问:3分钟吃透核心原理与薪资真相

莎木online 面试必问:3分钟吃透核心原理与薪资真相 别再去啃那些几百页的官方文档了,真的,没人能看完。 很多刚入行的朋友,拿到【莎木online】相关的技术栈,第一反应就是慌。为什么?因为资料太散,官方文档太长抓不住重点,面试时被问倒…

2026/9/21 20:23:28 阅读更多 →
idt官网速查:面试原理吃透,完整示例救急

idt官网速查:面试原理吃透,完整示例救急

idt官网速查:面试原理吃透,完整示例救急 面试被问原理答不上来,那一刻脑子是空白的。别慌,这就是你急需 idt官网 相关技术点 完整示例…

2026/9/21 20:23:28 阅读更多 →
成志鹏证书避坑指南:版本升级后API全变?3招搞定

成志鹏证书避坑指南:版本升级后API全变?3招搞定

成志鹏证书避坑指南:版本升级后API全变?3招搞定 刚把环境升到最新稳定版,原本跑得好好的代码直接崩了?报错信息满屏红字,查半天文档发现核心 API 签名全改了。这种“版本升级后 API…

2026/9/21 20:23:28 阅读更多 →
3个坑让你面试翻车:第一徻所性能优化完整示例

3个坑让你面试翻车:第一徻所性能优化完整示例

3个坑让你面试翻车:第一徻所性能优化完整示例 面试被问原理答不上来,那种大脑一片空白的感觉,真的比写不出代码还难受。很多转岗的朋友,简历上写着精通Java或Go,面试官随口一问“这个模块为什么慢”,你只能支支吾吾说“可能是GC”,或者直接愣…

2026/9/21 20:22:27 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →