03_FastMCP 2.x 中文文档之FastMCP快速入门
一、快速入门
欢迎!本指南将帮助您快速设置 FastMCP,运行您的第一个 MCP 服务器,并将服务器部署到 FastMCP Cloud。
如果尚未安装 FastMCP,请先按照安装说明进行操作。
二、创建 FastMCP 服务器
FastMCP 服务器是工具、资源和其他 MCP 组件的集合。要创建服务器,请先实例化 FastMCP 类。
创建一个名为 my_server.py 的新文件,并添加以下代码:
from fastmcp import FastMCPmcp = FastMCP("我的 MCP 服务器")
完成!您已经创建了一个 FastMCP 服务器,虽然目前还很基础。让我们添加一个工具来让它变得更有趣。
2.1 添加工具
要添加一个返回简单问候语的工具,请编写一个函数并使用 @mcp.tool 装饰器将其注册到服务器:
from fastmcp import FastMCPmcp = FastMCP("我的 MCP 服务器")@mcp.tool
def greet(name: str) -> str:return f"你好,{name}!"
2.2 运行服务器
运行 FastMCP 服务器最简单的方法是调用其 run() 方法。您可以选择不同的传输方式,例如用于本地服务器的 stdio
from fastmcp import FastMCPmcp = FastMCP("我的 MCP 服务器")@mcp.tool
def greet(name: str) -> str:return f"你好,{name}!"if __name__ == "__main__":mcp.run()
或用于远程访问的 http:
from fastmcp import FastMCPmcp = FastMCP("我的 MCP 服务器")@mcp.tool
def greet(name: str) -> str:return f"你好,{name}!"if __name__ == "__main__":mcp.run(transport="http", port=8000)
这样我们就可以使用 python my_server.py 运行服务器。stdio 传输是将 MCP 服务器连接到客户端的传统方式,而 HTTP 传输则支持远程连接。
为什么需要 if name == “main”: 代码块?
建议使用 main 代码块以确保一致性和兼容性,这样能保证您的服务器与所有将服务器文件作为脚本执行的 MCP 客户端兼容。如果用户只使用 FastMCP CLI 运行服务器,则可以省略该代码块,因为 CLI 会直接导入服务器对象。
2.3 使用 FastMCP CLI
您也可以使用 fastmcp run 命令来启动服务器。请注意,FastMCP CLI 不会执行服务器文件的 main 代码块。相反,它会导入您的服务器对象,并使用您提供的任何传输方式和选项来运行它。
例如,要使用默认的 stdio 传输运行此服务器(无论您在 mcp.run() 中如何设置),可以使用以下命令:
fastmcp run my_server.py:mcp
要使用 HTTP 传输运行此服务器,可以使用以下命令:
fastmcp run my_server.py:mcp --transport http --port 8000
三、调用 MCP 服务器
当您的服务器通过 HTTP 传输运行时,您可以使用 FastMCP 客户端或任何支持 MCP 协议的 LLM 客户端连接到它:
import asyncio
from fastmcp import Clientclient = Client("http://localhost:8000/mcp")async def call_tool(name: str):async with client:result = await client.call_tool("greet", {"name": name})print(result)asyncio.run(call_tool("张三"))
请注意:
- FastMCP 客户端是异步的,因此我们需要使用 asyncio.run 来运行客户端
- 在使用客户端之前,我们必须进入客户端上下文(async with client:)
- 您可以在同一个上下文中进行多次客户端调用
四、部署到 FastMCP Cloud
FastMCP Cloud 是由 Prefect 的 FastMCP 团队运营的托管服务。它经过优化,可以尽可能快速地部署经过身份验证的 FastMCP 服务器,为您提供一个安全的 URL,可以插入任何 LLM 客户端。
FastMCP Cloud 对个人服务器免费,并为团队提供简单的按需付费定价。
要部署您的服务器,您需要一个 GitHub 账户。拥有账户后,您可以通过三个步骤部署服务器:
- 将您的 my_server.py 文件推送到 GitHub 仓库
- 使用您的 GitHub 账户登录 FastMCP Cloud
- 从您的仓库创建一个新项目,并输入 my_server.py:mcp 作为服务器入口点
完成!FastMCP Cloud 将构建并部署您的服务器,使其在类似 https://your-project.fastmcp.app/mcp 的 URL 上可用。您可以与其聊天以测试其功能,或从任何支持 MCP 协议的 LLM 客户端连接到它。
有关更多详细信息,请参阅 FastMCP Cloud 指南。
