关于 fastapi-mcp
这是一个 Python 示例,将 MCP 服务挂载到现有 FastAPI Web 应用,并附带示例 MCP 客户端,供开发者了解这种集成方式。
主要功能
- 01在 FastAPI 中挂载 MCP 服务
- 02示例 MCP 客户端
- 03通过 Docker 启动服务
适用场景
- 01了解如何在 FastAPI 应用中托管 MCP 服务
- 02运行附带客户端测试 MCP 通信
MCP 相关
将 MCP 服务挂载到 FastAPI 应用,并附带演示通信方式的示例客户端。README 指出,目前服务只能挂载在根路径。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
描述
一个简单的示例 Web 应用和客户端,展示如何将 Model Context Protocol 服务挂载到现有的 fastapi 服务上
文件
./src/main.py -> 主 fastapi 服务应用
./src/mcp.py -> mcp 子服务应用逻辑
./client/client.py -> 示例客户端,展示使用 mcp client lib 的一些通信逻辑
设置
使用 Docker 启动服务
docker build -t fastapi-mcp .
docker run -p 8000:8000 --net=host fastapi-mcp
设置 Python 环境并运行客户端
pip install -r requirements.txt
python client/client.py
# to run server as well without docker
uvicorn src.main:app
已知问题
MCP 服务只能挂载到根路径 /
MCP Python SDK 存在限制,目前只有将 MCP 服务挂载到根路径 / 时才能正常工作
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。