项目简介

openapi-mcp-generator 是一个命令行工具,它能够根据 OpenAPI 规范自动生成一个完整的、可构建的 Model Context Protocol (MCP) 服务器项目。生成的服务器使用 Stdio 传输协议,作为大型语言模型 (LLM) 和您的 API 之间的桥梁,使得 LLM 可以通过 MCP 协议调用您 API 中定义的功能。

主要功能点

  • 工具自动生成: 将 OpenAPI 规范中的每个 API 操作转换为 MCP 服务器中的一个工具。
  • 完整项目设置: 生成包含 'package.json', 'tsconfig.json', 'src/index.ts', '.gitignore' 等完整 Node.js 项目结构。
  • TypeScript 支持: 生成的服务器项目使用 TypeScript 开发,并配置了构建为 JavaScript 的流程。
  • Stdio 传输: 生成的服务器默认使用标准输入/输出 (stdio) 与 MCP 客户端进行通信。
  • 运行时参数验证: 集成 Zod 库,基于 OpenAPI schema 在运行时验证工具参数。

安装步骤

  1. 确保已安装 Node.js v18.0.0 或更高版本。
  2. 使用 npm, yarn 或 pnpm 全局安装 'openapi-mcp-generator':
    npm install -g openapi-mcp-generator
    yarn global add openapi-mcp-generator
    pnpm add -g openapi-mcp-generator

服务器配置

生成的 MCP 服务器需要通过 MCP 客户端启动和调用。以下是一个 MCP 客户端配置示例,用于连接到由 'openapi-mcp-generator' 生成的服务器:

{
  "serverName": "my-api-mcp-server",
  "command": "node",
  "args": ["build/index.js"]
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,可以自定义,与生成服务器时指定的名称保持一致。
  • 'command': 启动 MCP 服务器的命令,这里假设您已经构建了项目,并使用 'node' 命令直接运行构建后的 'index.js' 文件。
  • 'args': 启动命令的参数,这里指定了构建后的 'index.js' 文件的路径。

请注意:

  • 上述配置中的 'serverName' 仅为示例,请根据您生成服务器时指定的名称进行修改。
  • 'command' 和 'args' 需要根据您的实际部署环境和启动脚本进行调整。例如,如果您使用 'npm start' 启动服务器,则 'command' 应为 '"npm"','args' 应为 '["start"]'。
  • 如果您的 API 需要身份验证,您需要手动编辑生成的 'src/index.ts' 文件,在 'CallTool' 处理程序中添加身份验证逻辑 (例如,设置 'Authorization' 请求头)。

基本使用方法

  1. 生成 MCP 服务器项目: 使用 'openapi-mcp-generator' 命令,指定 OpenAPI 规范文件路径和输出目录:
    openapi-mcp-generator -i <OpenAPI规范文件路径或URL> -o <输出目录路径>
    例如,从本地 OpenAPI 文件生成项目到 './my-api-mcp-server' 目录:
    openapi-mcp-generator -i ./specs/my-api.yaml -o ./my-api-mcp-server
  2. 进入生成项目目录:
    cd <输出目录路径>
  3. 安装依赖:
    npm install
  4. 构建项目:
    npm run build
  5. 启动服务器:
    npm start
    服务器将在标准输入/输出 (stdio) 上监听 MCP 请求。

信息

分类

开发者工具