python-sdk
MCP 官方 Python SDK,让 AI 应用通过标准化协议连接任意数据源与工具
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
MCP 官方 Python SDK,让 AI 应用通过标准化协议连接任意数据源与工具
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
src/mcp/├── client/ # MCP 客户端实现,含 auth、session、transport 等子模块├── server/ # MCP 服务器实现,含 auth、sse、websocket 等├── cli/ # 命令行工具(Claude 集成、开发调试工具)└── os/ # 操作系统适配(posix/win32)其中 server/ 模块还包含了一个高级封装 FastMCP,它大幅简化了服务器构建流程,开发者只需要用装饰器就能快速注册工具和资源。### MCP 能做什么?四大核心原语MCP 协议定义了四种核心能力抽象,Python SDK 对这些均有完整支持:| 核心原语 | 说明 | SDK 支持 ||---------|------|---------|| Resources | 结构化数据资源,类似文件系统或 API 数据 | 完整支持,含模板变量 || Tools | AI 可调用的函数,带参数定义和结果解析 | 完整支持,含结构化输出 || Prompts | 预定义的提示模板,支持动态参数 | 完整支持 || Sampling | AI 主动请求更高级别推理的能力 | 完整支持 |特别是 Structured Output(结构化输出) 功能,允许工具定义返回数据的 JSON Schema,AI 调用的结果会自动按 Schema 格式化返回,开发体验接近 TypeScript 的强类型定义。## 技术栈与依赖分析Python SDK 的依赖设计非常克制,核心依赖只有约 20 个:- 通信层:httpx(HTTP 客户端)、sse-starlette(SSE 传输)、uvicorn(ASGI 服务器)- 协议层:pydantic(数据建模与验证)、jsonschema(协议校验)- 认证层:pyjwt(JWT 签名验证)、OAuth2 相关扩展- 可观测性:opentelemetry-api(分布式追踪支持)- 可选依赖:Rich(美化输出)、Typer(CLI 构建)、WebSockets(实时通信)值得注意的是,SDK 不依赖任何特定的大模型 API,它只负责协议层面的通信——这意味着你可以用它连接任何支持 MCP 协议的 AI 应用(Claude、GPT、本地模型均可),生态锁定风险极低。Python 版本要求 >= 3.10,覆盖了当前主流 Python 环境,且已支持 Python 3.14(前沿版本)。## 部署体验:上手容易,但无容器化支持作为 SDK 包,Python SDK 的部署方式以库引用为主,辅以独立的 CLI 工具。安装仅需一行命令:bashpip install mcp # 核心库uv add "mcp[cli]" # 含命令行工具(推荐)构建一个最简单的 MCP Server 示例代码不足 20 行:pythonfrom mcp.server.fastmcp import FastMCPmcp = FastMCP("My Server")@mcp.tool()def calculate(expr: str) -> str: return str(eval(expr))mcp.run()但这里需要指出一个明显短板:SDK 目前没有提供 Dockerfile 或 docker-compose 配置,对于希望快速容器化部署 MCP Server 的团队来说,需要自行编写容器化方案。官方目前仅提供了 Claude Desktop 集成和直接执行两种方式,缺少开箱即用的生产级部署脚手架。硬件需求极低:不需要 GPU,普通 512MB RAM 的 Linux/Windows/macOS 环境即可运行。## 认证与安全:企业级功能的深度支持MCP Python SDK 在认证方面的实现相当完善,这与其主要服务 Claude(企业用户居多)的背景高度相关:- OAuth2.0 完整支持:包括 Authorization Code Flow、Client Credentials Flow- JWT Bearer Token 验证:支持 RS256/ES256 等签名算法- CORS 配置:支持浏览器端 MCP Client 的跨域访问控制- 安全策略:SECURITY.md 文档中记录了完整的安全漏洞报告流程对于希望在企业内部构建 MCP 服务、连接敏感数据源的开发团队,这套认证体系提供了坚实的安全基础。## 局限与挑战没有完美的工具,MCP Python SDK 也不例外:1. 生态仍处于快速迭代期:当前 main 分支已在开发 v2 版本,API 存在破坏性变更风险,生产环境使用需锁定版本号2. 调试工具不够直观:虽然提供了 MCP Inspector,但整体调试体验相比 TypeScript SDK 仍有差距3. 缺少生产级部署模板:无 Kubernetes Manifests、无 Helm Charts,对微服务架构团队不友好4. 文档存在分裂:README 同时维护 v1.x(稳定版)和 v2(开发版)两套文档,对新用户存在一定困惑## 行业意义与增长趋势截至 2025 年中,MCP 已经成为 AI 工具生态中增长速度最快的协议之一。GitHub 上围绕 MCP 的项目数量呈爆发式增长,各云服务商、数据平台、工具厂商纷纷跟进推出 MCP Server 实现。Python SDK 作为官方维护的最成熟语言实现,其 2.3 万 Stars 的体量充分说明了 Python 社区对 MCP 协议的认可程度。MCP 的意义不仅在于降低 AI 集成的开发成本,更在于推动 AI 应用从「通用问答」向「任务执行」的范式转变——AI 不再只是被动回答问题,而是能够主动调用工具、操作数据、完成任务。从这个角度看,MCP Python SDK 不仅仅是一个技术工具包,更是 AI Agent 时代的基础设施级项目。---本报告基于 GitHub 公开信息生成,分析时间为 2026-05-26。