MCP 火了之后,大家发现「写个 MCP 服务」并不难,但要把工具、资源、提示词的 schema、校验、文档、传输层都弄对,琐碎活一点也不少。FastMCP 的出现就是为了解决这个:它是目前最流行的 Python 系 MCP 应用框架,口号是「The fast, Pythonic way to build MCP servers and clients」。你只要写一个普通 Python 函数,加个装饰器,FastMCP 就自动帮你生成工具 schema、参数校验和文档,几行代码起一个可被任意 MCP 客户端接入的服务。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | fastmcp |
| GitHub地址 | https://github.com/PrefectHQ/fastmcp |
| 项目描述 | 🚀 The fast, Pythonic way to build MCP servers and clients. |
| 作者 | PrefectHQ |
| 开源协议 | Apache-2.0 |
| 开源状态 | 公开 |
| Languages | Python |
| Stars | 28,213 |
| Forks | 2,523 |
| 支持平台 | Windows / macOS / Linux |
| 最后更新 | 2026-10-27 |
一、项目介绍
FastMCP 是 Prefect 团队维护的 MCP 应用框架,覆盖服务端、客户端与交互式应用。它用装饰器把普通 Python 函数变成 MCP 工具,基于类型注解自动生成入参校验与 schema,并内置 stdio 与 Streamable HTTP 传输。文档站点 gofastmcp.com 内容完善,迭代活跃,是 Python 开发者入局 MCP 最顺手的起点。
二、核心优势
- 极简 API:一个
@mcp.tool装饰器就能把函数变成 MCP 工具。 - 全家桶:服务端、客户端、交互式应用一套框架全包。
- 自动校验:基于类型注解自动生成入参校验与 OpenAPI 式 schema。
- 多传输:stdio、Streamable HTTP 开箱即用,部署灵活。
三、适用场景
- 快速把内部 API、数据库、脚本封装成 AI 可调用工具。
- 给编码 Agent 定制专属 MCP 服务。
- 构建带前端界面的 MCP 交互应用。
- 学习 MCP 协议的入门首选框架。
四、安装教程
需要 Python 3.10+,推荐用 uv 或 pip:
pip install fastmcp
# 或
uv add fastmcp最简示例,server.py:
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()本地调试可用官方 Inspector:
fastmcp dev server.py常见报错:ModuleNotFoundError: fastmcp——确认装在运行环境里;Python 3.9 不支持——升级到 3.10+。
五、使用示例
启动后,任意 MCP 客户端(如 Claude Desktop)配置指向该脚本即可调用 add。你也可以写客户端连回去:
from fastmcp import Client
async def main():
async with Client("server.py") as client:
result = await client.call_tool("add", {"a": 1, "b": 2})
print(result)六、常见问题
- 和官方 SDK 什么关系?FastMCP 是构建在官方 Python SDK 之上的高层封装,开发体验更好。
- 支持哪些传输?stdio 与 Streamable HTTP。
- 能接资源(resources)和提示(prompts)吗?能,均有对应装饰器。
- 生产部署?配合
fastmcp run或挂到 HTTP 服务即可。
七、总结
FastMCP 把「写 MCP 服务」从一堆样板代码,压缩成了几个装饰器。它让普通 Python 开发者也能几分钟内交付一个像样的 AI 工具服务,是当下入局 MCP 最顺手的起点。
评论 0
还没有评论,来说两句吧。