mcpField
M
MCP FastAPI Server

MCP FastAPI Server

github.com/karthikv2k框架与 SDK484 周前更新

关于 MCP FastAPI Server

MCP FastAPI Server 是一个用于与 MCP 服务交互的异步 FastAPI 服务。它通过 HTTP 端点列出服务和工具,并调用指定工具。

主要功能

  1. 01列出 MCP 服务
  2. 02列出服务工具
  3. 03调用 MCP 工具
  4. 04交互式 API 文档

适用场景

  1. 01通过 HTTP 提供 MCP 操作
  2. 02调用前检查可用工具
  3. 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 服务(本地或远程)

安装

  1. 克隆此仓库:

    git clone <repository-url>
    cd mcp-fastapi-server
    
  2. 创建虚拟环境:

    python -m venv venv
    source venv/bin/activate  # For Windows: venv\Scripts\activate
    
  3. 安装依赖:

    pip install -r requirements.txt
    
  4. 从示例创建 .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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。