构建与暴露 MCP 服务器的 SDK、开发框架与官方参考实现
当你想把内部系统或接口开放给 Claude、Cursor 等 MCP 客户端时,通常有两条路径:一是使用 SDK 从头编写专门设计的 MCP Server;二是直接包装已有的 FastAPI 或 GraphQL 网关,把现成接口映射为 MCP 工具。
在 Python 生态中,FastMCP 与官方 MCP Python SDK 是最主流的两个起点;如果你已有现成的 FastAPI 应用或 GraphQL 联邦网关,FastAPI-MCP 与 Grafbase 可以省去手写工具代码;而针对 GitHub 与 AWS 日常研发运维,直接使用官方出品的 MCP Server 即可。
AgentIndex · 更新于 2026-10-19
直接使用厂商官方服务、将现有 API 自动转换为 MCP,或用 SDK 编写自定义工具。
快速选择
- fastmcp — Prefect 团队开发的 Apache-2.0 Python 框架,通过函数类型注解与文档字符串自动生成 MCP Schema 与参数校验。
- python-sdk — Model Context Protocol 官方组织直接维护的 MIT 参考 Python SDK,完整支持 stdio、SSE 与 Streamable HTTP。
- fastapi_mcp — MIT 许可的 FastAPI 适配器,直接复用已有 FastAPI 鉴权依赖与 Swagger 文档,将接口暴露为 MCP 工具。
- grafbase — Rust 高性能 GraphQL Federation v2 联邦网关,原生支持通过配置将企业 GraphQL API 暴露为 MCP Server。
- GitHub MCP Server — GitHub 官方出品(MIT)的 MCP Server,支持管理代码仓库、Issue、PR、GitHub Actions 与安全告警。
- mcp — AWS Labs 官方发布的 Apache-2.0 MCP 服务套件,覆盖最新 AWS 文档、CDK/Terraform、容器与云成本分析。
并排对比
| 工具 | 简介 | Star | 许可证 | 最近推送 | 维护状况 | 近 90 天发布 | 近 12 周提交 | 安装 |
|---|---|---|---|---|---|---|---|---|
| fastmcp | 构建 MCP Server 和 Client 的 Python 框架 | 28.2k | Apache-2.0 | 2026-10-22 | 活跃 | 27 | uv add fastmcp | |
| python-sdk | MCP Server 和 Client 的官方 Python SDK | 24.6k | MIT | 2026-10-17 | 活跃 | 10 | uv add "mcp[cli]" | |
| fastapi_mcp | 把 FastAPI 接口开放为 MCP 工具,并支持认证 | 12.0k | MIT | 2025-11-24 | 停滞 | 0 | uv add fastapi-mcp | |
| grafbase | 由 Rust 驱动的高性能 GraphQL 联邦网关,支持 WebAssembly 扩展并内置 MCP 服务器能力 | 1.2k | MPL-2.0 | 2026-07-01 | 放缓 | 0 | curl -fsSL https://grafbase.com/downloads/gateway | bash | |
| GitHub MCP Server | GitHub 官方 MCP Server,管理仓库和 PR | 33.8k | MIT | 2026-10-21 | 活跃 | 14 | docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-… | |
| mcp | AWS 官方的 MCP 服务套件,覆盖文档、基础设施、数据和成本工具 | 9.8k | 未知 | 2026-10-22 | 活跃 | 17 | uvx awslabs.aws-documentation-mcp-server@latest |
本清单中已有 AgentIndex 深度评测的工具: 6/6
如何选择
- 优先围绕智能体任务设计精简的工具集,避免把上百个底层 CRUD 接口原样全量暴露,否则容易撑爆模型上下文并降低选工具准确率。
- 从零编写 Python 服务时,可在减少样板代码的 FastMCP 与提供标准底层原语的官方 MCP Python SDK 之间按偏好选择。
- 核对传输协议支持:本地桌面客户端通常使用 stdio,而远程多用户部署优先选择支持 Streamable HTTP 的方案。
- 将智能体接入生产环境前务必收敛权限(例如开启 `--read-only` 只读模式或过滤掉危险写接口)。
常见问题
写 Python MCP Server 应该选 FastMCP 还是官方 MCP Python SDK?
两者都是成熟的主流开源库。FastMCP(Apache-2.0,由 Prefect 维护)提供更高层的封装,样板代码极少;官方 MCP Python SDK(MIT)则是协议维护方提供的标准参考实现,适合希望直接控制底层协议原语的团队。
把所有 FastAPI 或 GraphQL 接口全量暴露为 MCP 工具好吗?
通常不建议全量暴露。一次性把几十上百个细粒度 CRUD 接口塞进模型上下文不仅消耗大量 Token,还会增加误执行写操作的风险。建议只挑选必要的路由开放,默认屏蔽破坏性写接口,并为保留的工具补充清晰的说明。
这份清单怎么来的
工具由我们从收录的项目中人工挑选,优先选择我们深度评测过的。Star、许可证、最近推送日期和安装命令来自各项目仓库,并随站点数据刷新。维护状况列来自 GitHub API(是否归档、最近提交、近 90 天发布数),每天刷新。我们阅读了每个项目的 README 和文档,但没有逐个实际运行,依赖前请自行测试。