harsha-iiiv/openapi-mcp-generator

A tool that converts OpenAPI specifications to MCP server

OpenAPI → MCP Generator

它是什么 – 一个命令行工具(及库),可读取 OpenAPI 3.x 规范并构建一个可立即运行的 Node.js 服务器,该服务器使用 Model Context Protocol (MCP)。生成的服务器会将调用代理至原始 REST API,同时将端点公开为 MCP “tools”,让 AI 代理或其他 MCP 客户端无需理解 OpenAPI 即可调用您的 API。

主要功能

  • OpenAPI 3+ 支持 – 任何有效的规范(JSON 或 YAML)皆可转换为 MCP 服务器。
  • 代理行为 – 服务器将请求转发至真实 API,并处理身份验证与请求验证。
  • 身份验证 – API-key、Bearer、Basic 和 OAuth2 可通过环境变量进行配置。
  • 运行时验证 – Zod schemas 会根据 OpenAPI 定义自动生成。
  • 类型化输出 – 构建的项目完全使用 TypeScript 类型。
  • 多种传输方式 –
    • stdio (默认) – 通过标准输入/输出的 JSON-RPC,适合本地 LLM 工具集成。
    • web – 具有 Server-Sent Events 和内置 HTML 测试客户端的 HTTP 服务器。
    • streamable-http – 通过 HTTP POST 进行状态化的 JSON-RPC,并具备完整的 HTTP 状态处理。
    • cloudflare-worker – 使用 MCP Streamable-HTTP 传输的可部署 Cloudflare Workers 项目。
  • 项目构建 – 生成 package.json、tsconfig.json、源代码文件以及示例测试客户端。
  • 过滤功能 – 使用 x-mcp OpenAPI 扩展(或 --default-include 标志)来决定哪些操作成为 MCP 工具。

如何获取

npm install -g openapi-mcp-generator   # 或全局安装 yarn/pnpm

典型 CLI 工作流程

# 基本 stdio 服务器
openapi-mcp-generator -i ./petstore.json -o ./my-mcp-server

# 端口 3000 上的 SSE Web 服务器
openapi-mcp-generator -i ./petstore.json -o ./my-mcp-web -t web -p 3000

# Cloudflare Worker 部署
openapi-mcp-generator -i ./petstore.json -o ./my-worker -t cloudflare-worker

生成后,进入输出文件夹执行 cd,运行 npm install,然后运行 npm start(或特定传输方式的 npm 脚本)即可启动服务器。

程序化 API – 此包亦导出如 getToolsFromOpenApi 等辅助函数,可在不写入文件的情况下返回 MCP 工具定义,适用于自定义工具开发。

为何重要 – MCP 是一种轻量级协议,旨在让 AI 代理安全地调用外部服务。通过将任何现有的 OpenAPI 规范转换为 MCP 兼容的代理,此生成器消除了编写适配器的手动工作,让开发者能重复使用现有的 REST API,并使这些 API 能立即被 LLM 驱动的代理、Claude Desktop 或任何 MCP 客户端调用。

授权 – MIT。

相关

  • 项目
  • 项目
  • 项目
  • 项目