当前位置:首页>python>FastMCP — 用 Python 函数,3 行代码搭一个 MCP 服务器

FastMCP — 用 Python 函数,3 行代码搭一个 MCP 服务器

  • 2026-10-11 08:34:41
FastMCP — 用 Python 函数,3 行代码搭一个 MCP 服务器

模块 1:MCP 很火,但自己搭服务器有多痛苦?

MCP(Model Context Protocol)现在有多火,不用多说了。

但当你真的想自己写一个 MCP 服务器的时候——

打开官方文档,看到的是传输层协议、Schema 定义、认证配置……还没开始写业务逻辑,光是协议层面的东西就已经劝退了一大半人。

有没有一种更简单的方式?

写一个 Python 函数,然后自动变成 MCP 工具——Schema 自动生成、参数自动验证、文档自动补全——剩下的全交给框架处理。

这就是 FastMCP 做的事。


模块 2:FastMCP 是什么?

FastMCP 是一个 Python 优先的 MCP 框架,由 PrefectHQ(知名工作流编排公司 Prefect 的母公司)开发和维护。

github.com/PrefectHQ/fastmcp 目前 ⭐ 25k stars。

它的历史很有意思——

2024 年,FastMCP 1.0 的核心代码被直接合并进了 官方 MCP Python SDK,意味着你现在用的 MCP Python SDK,里面很多最佳实践都来自 FastMCP。

但 FastMCP 项目本身没有消失,而是继续独立发展,专注于提供比官方 SDK 更好的开发体验。

现在的 FastMCP:

  • • 📦 每天下载量:100 万次
  • • 🌍 全平台:70% 的 MCP 服务器底层跑着 FastMCP 代码
  • • 🔧 三个核心模块:Servers(服务端)、Clients(客户端)、Apps(交互 UI)
  • • 📚 文档最全,官网 gofastmcp.com 提供完整指南和升级路径

简单说:FastMCP 是目前 Python 生态里,搭建 MCP 服务最简单、最成熟的选择。


模块 3:3 行代码,跑通你的第一个 MCP 服务

不想看长文档?直接从这里开始,10 分钟跑通。

第一步:安装

推荐用 uv(最快的 Python 包管理器):

uv pip install fastmcp

也可以用 pip:

pip install fastmcp

第二步:写代码

创建一个 server.py,内容如下:

from fastmcp import FastMCPmcp = FastMCP("我的工具 🚀")@mcp.tool()def add(a: int, b: int) -> int:    """加法计算器"""    return a + b@mcp.resource("data://status")def get_status() -> str:    """返回系统状态"""    return "所有服务运行正常 ✅"@mcp.prompt()def write_blog(topic: str) -> str:    """生成博客大纲"""    return f"请为'{topic}'写一篇 1000 字的技术博客大纲"if __name__ == "__main__":    mcp.run()

没错,就是这么简单——写函数,加装饰器,mcp.run(),搞定。

第三步:连接到 AI 助手

方式一:Claude Desktop(最常见)

在 Claude Desktop 的 MCP 配置文件中添加:

{  "mcpServers": {    "my-tools": {      "command": "uv",      "args": ["--directory", "/你的/项目路径", "run", "python", "server.py"]    }  }}

方式二:Cherry Studio(零代码 GUI)

打开 Cherry Studio → 设置 → MCP 服务器 → 添加:

  • • 类型:streamableHttp
  • • URL:http://localhost:8000/mcp(本地运行时地址)

全程不需要了解 MCP 协议细节。


模块 4:三个核心功能,分别解决什么问题?

1. 🖥️ Servers — Python 函数秒变 MCP 工具

传统方式手写 MCP 服务,你要处理:

  • • JSON Schema 生成
  • • 参数类型验证
  • • 函数文档格式化
  • • 传输协议配置

FastMCP 全部自动完成。

你只需要专注于写 Python 函数的逻辑,剩下的它全部包圆:

@mcp.tool()def search_news(keyword: str, days: int = 7) -> list[dict]:    """    搜索近期的新闻    Args:        keyword: 搜索关键词        days: 搜索最近几天(默认7天)    """    # 你的业务逻辑    return [...]

调用时,Claude/AI 助手会自动看到这个函数的说明和参数,直接用自然语言调用即可。

2. 🔗 Clients — 连接任意 MCP 服务器

FastMCP 不只是服务端框架,也是一个全功能 MCP 客户端:

from fastmcp import FastMCPclient = FastMCP.client()# 连接远程 MCP 服务器await client.connect("https://api.example.com/mcp")# 调用远程工具result = await client.call_tool("search_news", {"keyword": "AI"})

支持三种传输协议:

  • • StreamableHTTP:生产环境推荐
  • • stdio:本地进程通信
  • • SSE:服务器推送事件

3. 🎨 Apps — 在对话中直接渲染交互 UI

这是 FastMCP 最亮眼的功能——你的工具在 AI 对话里直接显示成交互界面:

@mcp.tool()def create_form(title: str):    """创建表单"""    return App(        kind="form",        props={            "title": title,            "fields": [                {"name": "email", "type": "email", "label": "邮箱"},                {"name": "content", "type": "textarea", "label": "内容"}            ]        }    )

用户在 AI 对话里点击工具,直接弹出表单、滑块、文件上传框——不需要切换到其他界面。


模块 5:为什么选 FastMCP?

FastMCP 的核心优势:

  • • ✅ Python 优先:Python 开发者零门槛,不用学 TypeScript 或 Go
  • • ✅ 上手最快:3 行代码跑通,文档最全,gofastmcp.com 完整指南
  • • ✅ 生产可用:Prefect 背书,每天 100 万次下载,70% 市场占有率
  • • ✅ 协议标准:核心进入官方 SDK,持续跟进 MCP 最新版本
  • • ✅ 社区活跃:Discord 讨论热烈,持续更新迭代

适合场景:

  • • 🔧 内部工具 MCP 化:把现有 Python 函数快速暴露给 AI 助手
  • • 🔒 私有数据接入:数据库查询、文件读取、API 调用,全部 MCP 化
  • • 👥 团队协作:团队共享一套工具库,Claude/Cursor 都能用
  • • 🚀 快速原型:先跑通再优化,不用纠结协议细节

FastMCP vs 其他选择:

对比项
FastMCP
MCP Python SDK
其他框架
上手难度
⭐ 最简单
⭐⭐⭐ 较复杂
⭐⭐
Python 原生
✅ 是
✅ 是
❌ 多为 TS
文档完整度
⭐⭐⭐⭐⭐
⭐⭐⭐
⭐⭐⭐
生产级支持
✅ Prefect
✅ Anthropic
❌ 社区

模块 6:现在就开始

FastMCP 把 MCP 开发的门槛降到了最低。你不需要理解协议,不需要手写 Schema,不需要配置认证——你只需要会写 Python 函数。

不想卷 MCP 协议?FastMCP 帮你躺赢。

资源汇总:

  • • GitHub:github.com/PrefectHQ/fastmcp
  • • 官网:gofastmcp.com
  • • 安装:uv pip install fastmcp
  • • Discord:discord.gg/uu8dJCgttd
  • • 官方文档:gofastmcp.com/getting-started/quickstart

🎯 你最想用 MCP 封装哪个现有工具?

  • • 📊 数据库查询?
  • • 📁 文件管理?
  • • 🔍 内部搜索?
  • • 📮 邮件处理?

评论区聊聊 👇

最新文章

随机文章