Python MCP服务器示例:30分钟搭建

📘 教程 2026-08-01 约 4 分钟阅读

想把自己的数据或工具开放给Claude等AI助手。

💡 你将学到

想把自己的数据或工具开放给Claude等AI助手。

📜 目录

Python 中的 MCP 服务器示例:30 分钟构建你的第一个模型上下文协议服务器

在 2026 年,用 Python 构建 MCP 服务器已经是一个成熟的问题:官方 SDK(mcp)处理协议,你只需编写普通函数即可。本教程将构建一个可运行的服务器,暴露一个工具,然后将其连接到 Claude Desktop。

第一步:安装

pip install "mcp[cli]"

第二步:服务器(约 20 行代码)

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("Weather Demo")

@mcp.tool()
def get_weather(city: str) -> str:
    # 生产环境中,这里应调用真实的天气 API
    return "Weather in " + city + ": 22C, partly cloudy"

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

这就是一个完整的服务器。一个装饰器,一次运行调用。

第三步:测试

python server.py
# 在另一个终端中:
mcp dev server.py

mcp dev 命令会打开一个检查器界面,你可以在其中调用 get_weather 并查看结果。

第四步:连接到 Claude Desktop

claude_desktop_config.json 中添加:

{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": ["C:/path/to/server.py"]
    }
  }
}

重启 Claude Desktop。现在 Claude 可以调用 get_weather("Tokyo") 并在对话中使用结果。

FastMCP 层为你处理了什么

关注点 由谁处理
JSON-RPC 传输 SDK(stdio 或 SSE/HTTP)
工具发现 SDK 内省
输入验证 Pydantic 模型
错误处理 SDK 错误码

常见问题

FastMCP 还是原始 SDK? 新项目建议使用 FastMCP——它是官方高级 API,可减少 80% 的样板代码。

我可以将 REST API 暴露为 MCP 吗? 可以,将 REST 调用封装在 @mcp.tool() 函数中即可;LLM 会调用你的工具,工具再调用 API。

有 TypeScript 版本吗? 有,官方 SDK 在 TypeScript 中也是一等公民。Python 和 TS 覆盖了绝大多数服务器场景。

相关文章

❓ 常见问题

FastMCP 还是原始 SDK?

新项目建议使用 FastMCP——它是官方高级 API,可减少 80% 的样板代码。

我可以将 REST API 暴露为 MCP 吗?

可以,将 REST 调用封装在 `@mcp.tool()` 函数中即可;LLM 会调用你的工具,工具再调用 API。

有 TypeScript 版本吗?

有,官方 SDK 在 TypeScript 中也是一等公民。Python 和 TS 覆盖了绝大多数服务器场景。

相关文章
2026-08-12
微调数据集2026:在Hugging Face上哪里找真实训练数据
2026-07-16
AI Agent日志最佳实践:把Agent的思考过程记下来
2026-08-06
开源AI Logo生成器:用Stable Diffusion本地设计Logo

本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。

💬 评论 (0)

暂无评论,来说两句吧~

登录后评论