构建与暴露 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

向智能体提供 MCP 工具的三种路径

直接使用厂商官方服务、将现有 API 自动转换为 MCP,或用 SDK 编写自定义工具。

  1. 用 SDK 编写自定义工具

    用 Python 函数定义专门设计的工具与资源。

  2. 转换现有 FastAPI / GraphQL 接口

    复用现有后端路由、Schema 与鉴权。

  3. 平台官方出品的 MCP 服务

    GitHub 与 AWS 官方维护的开箱即用服务。

快速选择

  • 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.2kApache-2.02026-10-22活跃27近 12 周提交: 28, 21, 8, 16, 28, 11, 26, 59, 21, 134, 4, 48uv add fastmcp
python-sdkMCP Server 和 Client 的官方 Python SDK24.6kMIT2026-10-17活跃10近 12 周提交: 0, 4, 13, 9, 12, 3, 1, 1, 29, 1, 10, 0uv add "mcp[cli]"
fastapi_mcp把 FastAPI 接口开放为 MCP 工具,并支持认证12.0kMIT2025-11-24停滞0近 12 周提交: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0uv add fastapi-mcp
grafbase由 Rust 驱动的高性能 GraphQL 联邦网关,支持 WebAssembly 扩展并内置 MCP 服务器能力1.2kMPL-2.02026-07-01放缓0近 12 周提交: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0curl -fsSL https://grafbase.com/downloads/gateway | bash
GitHub MCP ServerGitHub 官方 MCP Server,管理仓库和 PR33.8kMIT2026-10-21活跃14近 12 周提交: 12, 13, 60, 15, 21, 3, 2, 0, 13, 20, 5, 0docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-…
mcpAWS 官方的 MCP 服务套件,覆盖文档、基础设施、数据和成本工具9.8k未知2026-10-22活跃17近 12 周提交: 64, 12, 10, 18, 12, 11, 16, 7, 16, 19, 12, 11uvx 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 和文档,但没有逐个实际运行,依赖前请自行测试。

更多清单