使用 FastMCP 快速搭建 Model Context Protocol (MCP) 服务
计算学徒
2026年05月09日 21:02
收录于文集
共22篇
AI大模型

1. MCP 简介

Model Context Protocol (MCP) 是由 Anthropic 推出的一种开放标准,旨在解决大型语言模型(LLM)与外部数据源、工具之间“语言不通”的问题。

简单来说,MCP 就像是为 AI 量身定制的 USB 接口:

  • 标准化:无需为每个 AI 模型编写特定的集成代码。

  • 安全性:你可以精准控制 AI 能够访问哪些数据或执行哪些操作。

  • 灵活性:支持从本地数据库到远程 API 的各种扩展。

2. FastMCP 安装

FastMCP 是一个受 FastAPI 启发而诞生的轻量级框架,旨在让你以最少的代码量构建高性能的 MCP 服务器。

在你的 Python 环境中运行以下命令即可安装:

代码块
Python
自动换行
复制代码
pip install fastmcp
复制成功

3. 示例代码:创建一个天气服务

使用 FastMCP,你只需要通过装饰器 @mcp.tool() 就能将一个普通的 Python 函数转变为 AI 可调用的工具。

代码块
Python
自动换行
复制代码
from fastmcp import FastMCP

# 初始化 MCP 服务,设置服务名称
mcp = FastMCP("Weather Server")

@mcp.tool()
async def get_weather(city: str) -> str:
    """
    获取指定城市的实时天气。
    
    Args:
        city: 城市名称 (例如: "Beijing", "Tokyo")
    """
    # 这里通常是调用第三方 API,本示例直接返回模拟数据
    return f"{city}: 22°C, sunny"

if __name__ == "__main__":
    # 使用 SSE (Server-Sent Events) 传输协议启动服务
    # 允许局域网访问,并监听 8000 端口
    mcp.run(transport="sse", host="0.0.0.0", port=8000)
复制成功

4. MCP Client 配置

一旦你的服务运行起来,你需要告诉 MCP 客户端(如 Claude Desktop 或其他集成环境)去哪里找到这个服务。

在你的客户端配置文件(如 claude_desktop_config.json)中添加以下内容:

代码块
JSON
自动换行
复制代码
{
  "mcpServers": {
    "weather": {
      "url": "http://127.0.0.1:8000/sse"
    }
  }
}
复制成功

注意:

  • 请确保将 127.0.0.1 替换为你运行服务器的实际 IP 地址。如果是在本机测试,也可以使用 localhost。

  • 自文档化:FastMCP 会自动读取函数的 Docstring 作为工具的描述,这些描述对 AI 理解何时使用该工具至关重要。

  • 调试:启动后,访问 http://127.0.0.1:8000/sse 可以检查服务是否在线。

#MCP#​ #LLM#​ #大模型#​ #FastMCP#​ #Python#​

(完)