项目简介
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 工具定义。
- 生产就绪: 生成的服务器代码结构良好,包含完善的错误处理、日志记录和配置选项,可直接用于生产环境。
安装步骤
-
安装 MCProx 工具: 首先需要安装 MCProx 代码生成工具(Go 语言编写)。打开终端并执行以下命令:
go install github.com/berkantay/mcprox@latest -
生成 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 服务器项目。
-
配置 Python 环境: 进入生成的 MCP 服务器目录,并执行 setup 脚本来创建 Python 虚拟环境并安装依赖。
cd generated_mcp_server ./scripts/setup.sh # 或 Windows 下执行 scripts\setup.bat -
启动 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 服务器。
基本使用方法
- 确保 MCP 服务器已成功启动并监听配置的端口。
- 在您的 LLM 应用或 MCP 客户端中,配置连接到此 MCP 服务器。
- 客户端可以通过 MCP 协议调用服务器提供的工具,这些工具对应于您 OpenAPI 文档中定义的 API 接口。
- 服务器会将工具调用转换为对后端 API 的请求,并将 API 响应返回给客户端。
通过 MCProx 生成的 MCP 服务器,您可以方便地将现有的 REST API 转化为可被 LLM 理解和调用的工具,从而构建强大的上下文感知应用。
信息
分类
开发者工具