快速入门
欢迎!本指南将帮助您快速设置FastMCP并运行您的第一个MCP服务器。
如果尚未安装FastMCP,请按照安装说明进行操作。
创建FastMCP服务器
FastMCP服务器是工具、资源和其他MCP组件的集合。要创建服务器,首先需要实例化FastMCP类。
创建一个名为my_server.py的新文件,并添加以下代码:
就是这样!你已经创建了一个FastMCP服务器,尽管它目前非常简单。让我们添加一个工具让它变得更有趣。
添加工具
要添加一个返回简单问候的工具,可以编写一个函数并用@mcp.tool装饰器将其注册到服务器:
测试服务器
要测试服务器,请创建一个FastMCP客户端并将其指向服务器对象。
这里有一些需要注意的事项:
- 客户端是异步的,因此我们需要使用
asyncio.run来运行客户端。 - 在使用客户端之前,我们必须进入一个客户端上下文(
async with client:)。您可以在同一个上下文中进行多次客户端调用。
运行服务器
为了用Python运行服务器,我们需要在服务器文件的__main__块中添加一个run语句。
这让我们可以通过python my_server.py运行服务器,使用默认的stdio传输方式,这是向客户端暴露MCP服务器的标准方法。
为什么我们需要if __name__ == "__main__":代码块?
在FastMCP生态系统中,这一行可能并非必要。但包含它可以确保您的FastMCP服务器以一致的方式为所有用户和客户端运行,因此被推荐为最佳实践。
与Python服务器交互
现在可以通过python my_server.py来运行服务器,我们可以像与其他MCP服务器一样与之交互。
在新文件中,创建一个客户端并指向服务器文件:
使用FastMCP命令行界面
要让FastMCP为我们运行服务器,可以使用fastmcp run命令。这将启动服务器并保持运行状态直到被停止。默认情况下,它会使用stdio传输协议,这是一种基于文本的简单协议,用于与服务器交互。
请注意,FastMCP 不需要在服务器文件中包含__main__代码块,如果存在也会忽略它。相反,它会查找CLI命令中提供的服务器对象(这里是mcp)。如果没有提供服务器对象,fastmcp run会自动在文件中搜索名为"mcp"、"app"或"server"的服务器。
我们将客户端指向服务器文件,该文件被识别为Python MCP服务器,默认情况下通过python my_server.py执行。这会运行服务器文件的__main__代码块。还有其他运行服务器的方式,详见服务器配置指南。