Model Context Protocol (MCP) 是由 Anthropic 推出的一种开放标准,旨在解决大型语言模型(LLM)与外部数据源、工具之间“语言不通”的问题。
简单来说,MCP 就像是为 AI 量身定制的 USB 接口:
标准化:无需为每个 AI 模型编写特定的集成代码。
安全性:你可以精准控制 AI 能够访问哪些数据或执行哪些操作。
灵活性:支持从本地数据库到远程 API 的各种扩展。
FastMCP 是一个受 FastAPI 启发而诞生的轻量级框架,旨在让你以最少的代码量构建高性能的 MCP 服务器。
在你的 Python 环境中运行以下命令即可安装:
pip install fastmcp 使用 FastMCP,你只需要通过装饰器 @mcp.tool() 就能将一个普通的 Python 函数转变为 AI 可调用的工具。
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) 一旦你的服务运行起来,你需要告诉 MCP 客户端(如 Claude Desktop 或其他集成环境)去哪里找到这个服务。
在你的客户端配置文件(如 claude_desktop_config.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#
(完)