使用说明
项目简介
本项目提供了一个使用FastAPI和'fastapi-mcp'构建的MCP服务器的简单示例。它演示了如何通过MCP暴露工具,并使用服务器发送事件(SSE)处理流式响应。此服务器旨在与MCP客户端(如'fastapi-mcp-client')一起使用。
主要功能点
- 使用FastAPI和'fastapi-mcp'实现基本的MCP服务器。
- 提供示例工具:'echo'(回声消息)、'generate_numbers'(生成数字序列)、'search_documents'(模拟文档搜索)和'calculate'(表达式计算)。
- 支持工具的流式响应,例如 'generate_numbers' 和 'search_documents',使用SSE进行数据传输。
- 演示如何在MCP服务器中定义和注册工具,以便LLM客户端调用。
安装步骤
- 克隆仓库到本地:
git clone https://github.com/RooseveltAdvisors/fastapi-mcp-client.git - 进入服务器示例目录:
cd fastapi-mcp-client/examples/server - 创建并激活虚拟环境(可选但推荐):
python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows - 安装依赖,包括 'fastapi-mcp':
pip install fastapi uvicorn fastapi-mcp
服务器配置
MCP服务器是为MCP客户端提供服务的后端应用。以下是启动本示例MCP服务器的配置信息,客户端需要配置服务器的启动命令才能与之建立连接。
{ "server name": "FastAPI MCP Example Server", "command": "uvicorn", "args": [ "simple_server:app", "--host", "0.0.0.0", "--port", "8888", "--reload" ], "description": "启动FastAPI MCP示例服务器。'--reload' 参数允许在代码更改时自动重启服务器,方便开发调试。" }
基本使用方法
- 启动服务器:在终端中执行上述服务器配置中 'command' 和 'args' 组合成的命令,启动示例MCP服务器。
- 使用MCP客户端连接:使用MCP客户端(例如,本仓库 'examples' 目录下的 'sse_example.py' 或其他兼容的MCP客户端库)连接到正在运行的服务器。
- 调用工具:客户端可以调用服务器提供的示例工具,如 'echo', 'generate_numbers', 'search_documents', 和 'calculate',以测试MCP的功能。客户端的具体使用方法可以参考仓库 'examples/sse_example.py' 中的示例代码。
信息
分类
开发者工具