FastMCP:用 Python 写 MCP 服务器,简单到离谱

最近在搞 AI 工具链的朋友应该都听过 MCP(Model Context Protocol)。这个协议想干的事很简单,就是让大模型能连上外部工具和数据源。但自己从零写一个 MCP 服务器,光是协议对接、Schema 生成、传输层适配就够喝一壶的。

FastMCP 就是来解决这个问题的。它是 Prefect 团队出的 Python 框架,GitHub 上已经 2.5 万 Star,每天被下载上百万次。一句话总结:你只管写 Python 函数,剩下的 MCP 协议细节它全包了。

正文顶部截图

用起来有多简单

看个最基础的例子:

from fastmcp import FastMCP

mcp = FastMCP("Demo")

@mcp.tool
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b

if __name__ == "__main__":
    mcp.run()

就这么多。你定义一个普通 Python 函数,加个 @mcp.tool 装饰器,FastMCP 自动帮你生成参数校验、JSON Schema 和文档。跑起来就是一个完整的 MCP 服务器,能直接被 Claude、GPT 这类大模型调用。

它到底解决了什么问题

自己写 MCP 服务器,光协议层面的事就不少:传输层选 SSE 还是 stdio?认证怎么做?工具描述的 Schema 怎么写才能让模型正确理解?生命周期怎么管理?

FastMCP 把这些全封装了。你声明一个工具,Schema 和校验自动生成。连上一个远程服务器,传输协商和认证它管。你只用关心业务逻辑,协议的事不用操心。

FastMCP 有三个核心模块:Servers 负责把你的 Python 函数暴露成 MCP 工具,Clients 负责连接任何 MCP 服务器,Apps 可以在对话里直接渲染交互式 UI。

README区域截图

为什么它能成为标准

FastMCP 1.0 在 2024 年被整合进了 MCP 官方 Python SDK。现在独立维护的版本,每天下载量过百万,全语言范围内 70% 的 MCP 服务器都用了某种形式的 FastMCP。

能做到这一步,靠的不是营销,是易用性。Python 开发者装个包就能上手,API 设计干净,文档齐全。Prefect 团队还提供了企业级的 Horizon 平台,支持从 GitHub 部署、分支预览、SSO 访问控制和审计日志,适合团队和生产环境用。

安装和上手

推荐用 uv 安装:

uv pip install fastmcp

装完就能用。文档在 gofastmcp.com,有安装指南、快速上手和进阶用法。社区有 Discord 群,遇到问题可以去问。

适合什么人

如果你在做 AI 应用,需要给模型接外部工具或数据源,FastMCP 是最省事的选择。如果你是 Python 开发者,想快速搭个 MCP 服务器给团队或自己用,它也是首选。

当然也有局限。FastMCP 是 Python 生态的,如果你的项目是 Go 或 Java,得自己找别的方案。不过考虑到 Python 在 AI 领域的地位,这个限制影响不大。

说白了,FastMCP 就是一个让 MCP 开发变简单的工具。不花哨,但管用。

AI 领域的地位,这个限制影响不大。

说白了,FastMCP 就是一个让 MCP 开发变简单的工具。不花哨,但管用。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐