Infinity-API MCP Bridge
使用说明(简要、面向开发与运维人员)
- 项目简介
- Infinity-API 在原有 REST API 的基础上增加了一个 MCP 桥接层,将 FastAPI 应用中的路由自动暴露为 MCP 工具,便于 LLM 客户端通过 MCP 进行资源读取、工具调用和提示模板渲染等上下文服务。
- 主要功能点
- REST API 与 MCP 服务并存:同一应用同时提供常规 REST 路由和 MCP 传输。
- MCP 功能对等暴露:将 FastAPI 的路由映射为 MCP 工具,允许通过 JSON-RPC 调用路由并获取输入/输出模式。
- 会话与能力声明:MCP 服务器基于 FastMCP 实现,具备会话管理和能力暴露能力,便于 LLM 客户端对后端能力进行探测。
- 脚本化集成与扩展:代码结构清晰,支持资源(如环境、火箭、 motor 等模型)、工具和提示模板的扩展。
- 安装步骤
- 你需要先安装 Python 3.11+。
- 安装依赖:在仓库根目录执行 python3 -m pip install -r requirements.txt。
- 配置 MongoDB 连接字符串(如果使用数据存储):
- 将 MongoDB 连接字符串配置到环境变量 MONGODB_CONNECTION_STRING,或创建 .env 以便应用读取。
- 服务器配置
- MCP 客户端需要的配置(JSON 格式,示例说明如下): { "server_name": "Infinity-API MCP Bridge", "command": "uvicorn", "args": ["src.api:app", "--host", "0.0.0.0", "--port", "8000"] }
- 说明:
- server_name: MCP 服务在你运维平台中的名称,建议使用“Infinity-API MCP Bridge”以便与前端/客户端区分。
- command: 启动服务器所用的命令,当前实现使用 uvicorn。
- args: 启动参数,包含要执行的 FastAPI 应用入口(通常为 src.api:app)以及监听地址和端口。根据实际部署环境可调整主机和端口。
- 基本使用方法
- 启动方式:在包含本仓库的服务器上以生产环境启动应用(例如使用 gunicorn/uvicorn 组合或容器化部署)。
- 验证 MCP 暴露:通过 MCP 客户端连接到指定端口,执行 list_tools 等 RPC 调用,确认 REST 路由已按工具导出。也可通过浏览器访问 /health、/docs 来确认 REST API 正常运行。
- 与 LLM 集成:MCP 客户端通过 JSON-RPC 规范向 MCP 服务器请求资源、调用工具等,MCP 服务器将返回相应的 JSON-RPC 响应。