关于 MCP FastAPI Server
MCP FastAPI Server 是一个用于与 MCP 服务交互的异步 FastAPI 服务。它通过 HTTP 端点列出服务和工具,并调用指定工具。
主要功能
- 01列出 MCP 服务
- 02列出服务工具
- 03调用 MCP 工具
- 04交互式 API 文档
适用场景
- 01通过 HTTP 提供 MCP 操作
- 02调用前检查可用工具
- 03从 API 客户端调用 MCP 工具
MCP 相关
它连接可访问的本地或远程 MCP 服务,并通过 API 列出服务及其工具,或调用指定服务上的工具。
详细介绍
MCP FastAPI 服务
一个基于 FastAPI 的异步 API 服务,与模型上下文协议 (MCP) 服务通信。
功能
- 列出可用的 MCP 服务
- 列出 MCP 服务提供的工具
- 在 MCP 服务上调用工具
API 端点
POST /api/list-mcp-servers: 列出所有可用的 MCP 服务POST /api/list-tools: 列出 MCP 服务提供的所有工具POST /api/invoke-tool: 在 MCP 服务上调用工具
前置要求
- Python 3.8 或更高版本
- 可访问的 MCP 服务(本地或远程)
安装
-
克隆此仓库:
git clone <repository-url> cd mcp-fastapi-server -
创建虚拟环境:
python -m venv venv source venv/bin/activate # For Windows: venv\Scripts\activate -
安装依赖:
pip install -r requirements.txt -
从示例创建
.env文件:cp .env.example .env编辑
.env文件以配置你的 MCP 服务 URL 和其他设置。
运行服务
启动服务:
uvicorn app.main:app --reload
这将在 http://localhost:8000 上启动服务。
API 使用示例
列出 MCP 服务
curl -X POST http://localhost:8000/api/list-mcp-servers -H "Content-Type: application/json" -d '{}'
列出 MCP 服务的工具
curl -X POST http://localhost:8000/api/list-tools -H "Content-Type: application/json" -d '{"server_url": "http://localhost:5000"}'
调用工具
curl -X POST http://localhost:8000/api/invoke-tool -H "Content-Type: application/json" -d '{
"server_url": "http://localhost:5000",
"tool_name": "example_tool",
"params": {
"parameter1": "value1",
"parameter2": "value2"
}
}'
文档
服务运行后,可以在以下地址访问交互式 API 文档:
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
许可证
MIT # chat-mcp
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。