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 工具。

安装步骤

  1. 确保你的系统中已安装 Python 和 pip。
  2. 使用以下命令安装 '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 密钥。
      }
    }
  }
}

基本使用方法

  1. 在你的 MCP 客户端应用中,配置并启动名为 'openapi-proxy' (或你在配置中指定的名称) 的 MCP 服务器。
  2. 客户端会通过 MCP 协议与 'mcp-openapi-proxy' 服务器建立连接。
  3. LLM 应用可以通过 MCP 协议向 'mcp-openapi-proxy' 服务器发送请求,例如:
    • 使用 'tools/list' 方法获取可用的工具列表 (即根据 OpenAPI 规范生成的 API 功能列表)。
    • 使用 'tools/call' 方法并指定工具名称和参数来调用特定的 API 功能。工具名称和参数信息可以从 'tools/list' 的响应中获取。

注意: 更详细的配置选项(如 'TOOL_WHITELIST', 'API_AUTH_TYPE', 'STRIP_PARAM' 等)和针对特定 API 的示例,请参考仓库的 README 文档。

信息

分类

网页与API