mcp-openapi-proxy 使用说明
项目简介
'mcp-openapi-proxy' 是一个 Python 包,它实现了 Model Context Protocol (MCP) 服务器。该服务器的主要功能是将符合 OpenAPI 规范的 REST API 接口动态地转换为 MCP 工具,使得基于 LLM 的应用能够通过 MCP 协议无缝调用这些 REST API 的功能。
主要功能点
- 动态工具生成: 根据提供的 OpenAPI 规范,自动创建对应的 MCP 工具,无需手动定义。
- 两种运行模式: 支持低级别模式(默认),将 OpenAPI 文档中所有 API 端点注册为工具;以及快速 MCP 模式,提供基于静态配置的预定义工具集。
- OpenAPI 规范支持: 兼容 OpenAPI v3 规范,并可能支持 v2 版本。
- 灵活的端点过滤: 允许通过白名单机制,仅暴露指定的 API 端点作为工具,提高安全性并缩小工具范围。
- 多种身份验证方式: 支持通过请求头 (Header) 或请求体 (Payload) 传递 API 密钥进行身份验证,以适应不同 API 的认证需求。
- MCP 生态集成: 无缝集成到 MCP 生态系统中,使得 LLM 应用能够通过标准 MCP 协议调用 REST API 工具。
安装步骤
- 确保你的系统中已安装 Python 和 pip。
- 使用以下命令安装 'mcp-openapi-proxy' 包:
uvx mcp-openapi-proxy
服务器配置
为了将 'mcp-openapi-proxy' 集成到你的 MCP 客户端应用中,你需要在客户端的 'mcpServers' 配置中添加以下 JSON 配置信息。这将告诉 MCP 客户端如何启动和连接 'mcp-openapi-proxy' 服务器。
{ "mcpServers": { "openapi-proxy": { // 服务器名称,可以自定义 "command": "uvx", // 启动服务器的命令,假设 uvx 可执行文件在 PATH 环境变量中 "args": ["mcp-openapi-proxy"], // 命令参数,指定运行 mcp_openapi_proxy 模块 "env": { "OPENAPI_SPEC_URL": "<OpenAPI 规范 URL>", // (必填) OpenAPI 规范文件的 URL,例如 https://example.com/openapi.json 或 file:///path/to/local/spec.json。请替换为实际的 URL。 "API_KEY": "<API 密钥 (可选)>" // (可选) 访问 REST API 所需的 API 密钥。如果 API 需要身份验证,请替换为实际的 API 密钥。 } } } }
基本使用方法
- 在你的 MCP 客户端应用中,配置并启动名为 'openapi-proxy' (或你在配置中指定的名称) 的 MCP 服务器。
- 客户端会通过 MCP 协议与 'mcp-openapi-proxy' 服务器建立连接。
- LLM 应用可以通过 MCP 协议向 'mcp-openapi-proxy' 服务器发送请求,例如:
- 使用 'tools/list' 方法获取可用的工具列表 (即根据 OpenAPI 规范生成的 API 功能列表)。
- 使用 'tools/call' 方法并指定工具名称和参数来调用特定的 API 功能。工具名称和参数信息可以从 'tools/list' 的响应中获取。
注意: 更详细的配置选项(如 'TOOL_WHITELIST', 'API_AUTH_TYPE', 'STRIP_PARAM' 等)和针对特定 API 的示例,请参考仓库的 README 文档。
信息
分类
网页与API