项目简介

MCProx 是一个强大的工具,能够根据 OpenAPI (Swagger) 文档自动生成 Model Context Protocol (MCP) 服务器代理。它充当大型语言模型 (LLM) 和现有 API 之间的桥梁,无需修改现有代码库即可将您的 API 快速接入 LLM 应用,实现上下文感知的功能调用。

主要功能点

  • OpenAPI 集成: 自动抓取和解析 OpenAPI (Swagger) 文档,支持从 URL 获取规范。
  • MCP 服务器生成: 根据 OpenAPI 规范生成功能完备的 Python MCP 服务器代码。
  • API 桥梁: 作为 LLM 和现有 API 之间的中间层,将 LLM 的功能调用转换为对后端 REST API 的请求。
  • 真实 API 调用: 生成的 MCP 服务器能够向原始 API 发送真实的 HTTP 请求,支持各种 HTTP 方法和认证方式。
  • 全面的解析: 解析 OpenAPI 文档中的接口路径、方法、参数和数据模型,生成完整的 MCP 工具定义。
  • 生产就绪: 生成的服务器代码结构良好,包含完善的错误处理、日志记录和配置选项,可直接用于生产环境。

安装步骤

  1. 安装 MCProx 工具: 首先需要安装 MCProx 代码生成工具(Go 语言编写)。打开终端并执行以下命令:

    go install github.com/berkantay/mcprox@latest
  2. 生成 MCP 服务器: 使用 MCProx 工具,根据您的 OpenAPI 文档 URL 生成 MCP 服务器代码。将 '<swagger-url>' 替换为您的 OpenAPI 文档地址,'<api-base-url>' 替换为您的 API 基础 URL。

    mcprox generate --url <swagger-url> --service-url <api-base-url>

    例如:

    mcprox generate --url https://api.example.com/openapi.json --service-url https://api.example.com

    这将在 'generated_mcp_server' 目录下生成 Python MCP 服务器项目。

  3. 配置 Python 环境: 进入生成的 MCP 服务器目录,并执行 setup 脚本来创建 Python 虚拟环境并安装依赖。

    cd generated_mcp_server
    ./scripts/setup.sh   # 或 Windows 下执行 scripts\setup.bat
  4. 启动 MCP 服务器: 激活 Python 虚拟环境,并运行 MCP 服务器。

    source .venv/bin/activate  # 或 Windows 下执行 .venv\Scripts\activate.bat
    python -m src.mcp_server

    服务器默认监听 8000 端口。您可以通过设置环境变量 'PORT' 来修改端口号。

服务器配置

对于 MCP 客户端,您需要配置连接到此 MCP 服务器的信息。以下是一个示例 JSON 配置,您可以根据实际情况进行调整:

{
  "serverName": "OpenAPI_MCP_Proxy",
  "command": "python",
  "args": ["-m", "src.mcp_server"],
  "port": 8000,
  "protocol": "json-rpc",
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,您可以自定义。
  • 'command': 启动 MCP 服务器的命令,这里使用 'python'。
  • 'args': 启动命令的参数,'["-m", "src.mcp_server"]' 表示运行 'src/mcp_server.py' 模块。
  • 'port': MCP 服务器监听的端口号,默认为 '8000'。如果启动服务器时修改了端口,请同步修改这里。
  • 'protocol': MCP 通信协议,固定为 'json-rpc'。
  • 'transport': MCP 传输协议,这里使用 'stdio' (标准输入输出)。

请注意: 'command' 和 'args' 配置是 MCP 客户端连接服务器的关键,请确保配置的命令能够正确启动您生成的 Python MCP 服务器。

基本使用方法

  1. 确保 MCP 服务器已成功启动并监听配置的端口。
  2. 在您的 LLM 应用或 MCP 客户端中,配置连接到此 MCP 服务器。
  3. 客户端可以通过 MCP 协议调用服务器提供的工具,这些工具对应于您 OpenAPI 文档中定义的 API 接口。
  4. 服务器会将工具调用转换为对后端 API 的请求,并将 API 响应返回给客户端。

通过 MCProx 生成的 MCP 服务器,您可以方便地将现有的 REST API 转化为可被 LLM 理解和调用的工具,从而构建强大的上下文感知应用。

信息

分类

开发者工具