项目简介

此项目是一个命令行工具,它能够读取标准的OpenAPI(Swagger)规范文件,并根据其中的API端点、参数和安全配置,自动生成符合Model Context Protocol (MCP) 的服务器端代码。生成的MCP服务器充当大型语言模型(LLM)客户端与现有API之间的桥梁,使LLM能够通过MCP协议调用API提供的功能。

主要功能点

  • 自动工具生成: 将OpenAPI规范中的每个API路径和方法转换为一个独立的MCP工具,包括其输入参数定义。
  • 支持Stdio传输: 生成的服务器默认支持Stdio作为与MCP客户端通信的传输协议。
  • 完整项目搭建: 生成包括服务器代码、依赖管理(package.json)、README、环境变量示例等在内的完整Node.js项目结构。
  • 简易配置: 生成的服务器通过简单的环境变量进行配置,如API基础URL和认证信息。
  • 处理安全机制: 根据OpenAPI定义的安全方案(如API Key, Basic Auth, Bearer Token),生成相应的认证逻辑并支持通过环境变量配置。

安装步骤

首先,确保你的系统已安装Node.js (16.x 或更高版本) 和 npm (7.x 或更高版本)。

通过npm全局安装该工具:

npm install -g openapi-mcpserver-generator

或者使用yarn或pnpm:

yarn global add openapi-mcpserver-generator
# 或
pnpm add -g openapi-mcpserver-generator

基本使用方法

  1. 生成MCP服务器代码: 运行命令行工具,指定OpenAPI规范文件(本地路径或URL)和输出目录:

    openapi-mcpserver-generator --openapi path/to/your/openapi.json --output ./my-api-mcp-server

    这将在指定的输出目录 ('./my-api-mcp-server') 生成一个包含MCP服务器代码及其配套文件的Node.js项目。

  2. 配置并运行生成的服务器:

    • 进入生成的项目目录:
      cd ./my-api-mcp-server
    • 安装项目依赖:
      npm install
    • 创建 '.env' 配置文件:
      cp .env.example .env
    • 编辑 '.env' 文件,配置你的API基础URL以及根据OpenAPI规范要求的任何认证信息(例如API Key、用户名、密码或Bearer Token)。'.env.example' 文件中包含了需要配置的环境变量格式示例。
    • 启动生成的MCP服务器:
      npm start
    • 如果生成了TypeScript版本,也可以先构建再运行:
      npm run build
      cd dist
      node server.js

服务器配置 (供MCP客户端使用)

生成的MCP服务器是一个独立的进程,需要通过MCP客户端(如支持MCP的LLM应用或代理工具)启动和连接。MCP客户端通常通过JSON格式的配置文件来管理其连接的MCP服务器。

对于通过此工具生成的MCP服务器,客户端配置文件中需要指定如何启动该服务器进程。配置通常包含服务器的名称、启动命令('command')及其参数列表('args')。

例如,一个典型的客户端配置条目可能看起来像这样(具体路径和参数请根据你的实际生成位置调整):

"服务器名称": {
  "command": "node可执行文件的路径", // 例如:/usr/local/bin/node 或 C:\Program Files\nodejs\node.exe
  "args": [
    "生成的服务器主文件路径", // 例如:/path/to/your/my-api-mcp-server/server.js
    "run" // 传递给服务器脚本的启动参数(如果需要)
  ],
  // 其他可能的配置,如传输协议(transport,通常为stdio)等
}

你需要将上述结构的配置添加到你的MCP客户端的配置文件中,并根据生成的项目实际路径替换占位符。这样,MCP客户端就知道如何启动并连接到你的OpenAPI MCP服务器了。

信息

分类

开发者工具