项目简介

'openapi-mcp-converter' 是一个工具,旨在将 OpenAPI 3.0 规范自动化转换为 Model Context Protocol (MCP) 服务器实例。转换后的 MCP 服务器可以无缝对接 LLM 客户端,将 OpenAPI 中定义的 API 接口作为工具提供给 LLM 使用,实现通过 MCP 协议调用外部 API 的能力。

主要功能点

  • 自动化转换:能够自动解析和转换 OpenAPI 3.0 规范,无需手动编写 MCP 工具定义。
  • 类型安全:基于 TypeScript 开发,保证了代码的类型安全和可靠性。
  • 请求代理:自动处理 MCP 工具调用与底层 OpenAPI API 请求之间的参数映射和转换,简化了集成过程。
  • 即插即用:转换后的 MCP 服务器可以直接运行,方便快速部署和使用。

安装步骤

  1. 确保已安装 Node.js (>= 18.x) 和 npm。
  2. 安装 'openapi-mcp-converter' npm 包:
    npm install openapi-mcp-converter

服务器配置

以下 JSON 配置信息用于 MCP 客户端配置连接本 MCP 服务器。

{
  "serverName": "OpenAPI-MCP-Server",  // MCP 服务器名称,自定义,用于在客户端标识
  "command": "node",                   // 启动服务器的命令,这里使用 Node.js 运行时
  "args": [
    "dist/example/index.js"         // 启动参数,指向编译后的服务器入口文件。
                                     // 首次使用需先执行 'npm run build' 编译项目,生成 dist 目录。
                                     // 如果直接运行未编译的 TypeScript 文件,请使用 'ts-node' 或其他 TypeScript 运行时,并相应修改 args 参数。
  ]
}

配置说明

  • 'serverName': 为你的 MCP 服务器指定一个名称,这个名称将在 MCP 客户端中用于识别和管理不同的服务器连接。
  • 'command': 指定启动 MCP 服务器的命令。由于本项目是 Node.js 应用,这里设置为 'node'。
  • 'args': 一个字符串数组,包含了启动命令的参数。这里指向了编译后的 'example/index.js' 文件,该文件包含了启动 MCP 服务器的示例代码。

注意

  • 在配置 MCP 客户端之前,请务必先执行 'npm run build' 命令编译项目,确保 'dist' 目录下生成了编译后的 JavaScript 文件。
  • 如果你的 OpenAPI 规范文件不是默认的 'openapi.json',你需要修改 'example/index.ts' 文件中的代码,指定你的 OpenAPI 文件路径。

基本使用方法

  1. 准备 OpenAPI 规范: 确保你有一个符合 OpenAPI 3.0 规范的 JSON 或 YAML 文件,并将其命名为 'openapi.json' 放置在项目根目录下(或修改 'example/index.ts' 中的文件路径)。
  2. 构建项目: 在项目根目录下运行 'npm run build' 命令,编译 TypeScript 代码到 'dist' 目录。
  3. 配置 MCP 客户端: 在你的 MCP 客户端中,根据上述提供的服务器配置信息,添加一个新的服务器连接。
  4. 启动 MCP 服务器: 当 MCP 客户端尝试连接该服务器时,客户端会根据配置信息执行 'node dist/example/index.js' 命令,启动 MCP 服务器。
  5. 使用 MCP 工具: 一旦服务器成功连接,LLM 客户端可以通过 MCP 协议发送 'ListTools' 请求获取由 OpenAPI 规范转换而来的工具列表。然后可以使用 'CallTool' 请求调用这些工具,工具名称对应 OpenAPI 规范中的 'operationId',工具的输入参数 (inputSchema) 会根据 OpenAPI 规范自动生成。

信息

分类

开发者工具