使用说明

项目简介

openapi-client-generator MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它利用 OpenAPI (Swagger) 规范文件,为开发者生成 TypeScript 版本的 API 客户端代码。此服务器旨在桥接 LLM 与后端 API,使得 LLM 可以通过调用工具,动态生成并使用 API 客户端,从而实现与外部数据和服务的集成。

主要功能点

  • 工具 (Tools):
    • 'generate_client': 根据提供的 OpenAPI 规范文件(URL 或本地文件路径),自动生成 TypeScript API 客户端代码。生成的客户端代码可以方便地在 TypeScript 项目中使用,与后端 API 进行交互。支持选择 'fetch' 或 'axios' 作为 HTTP 客户端库。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的开发环境中已安装 Node.js 和 npm (Node 包管理器)。
  2. 下载仓库代码: 从 GitHub 仓库 https://github.com/orhanveli/openapi-client-generator-mcp 克隆或下载源代码。
  3. 安装依赖: 在仓库根目录下打开终端,运行以下命令安装项目依赖:
    npm install
  4. 构建项目: 运行以下命令构建项目,生成可执行的 JavaScript 代码:
    npm run build

服务器配置

要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),你需要编辑客户端的配置文件。以 Claude Desktop 为例,你需要修改 'claude_desktop_config.json' 文件,添加以下服务器配置信息。

配置文件路径:

  • MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

配置内容 (json):

{
  "mcpServers": {
    "openapi-client-generator": {  // 服务器名称,客户端用此名称引用
      "command": "node",        // 启动服务器的命令,这里使用 node.js 运行时
      "args": [                 // 启动命令的参数
        "<PATH TO>/openapi-client-generator-mcp/build/index.js" // index.js 文件的绝对路径,请替换为实际路径
      ]
    }
  }
}

请注意: 将 '<PATH TO>/openapi-client-generator-mcp/build/index.js' 替换为你本地 'openapi-client-generator-mcp' 仓库 'build/index.js' 文件的绝对路径

基本使用方法

  1. 启动 MCP 服务器: 配置完成后,MCP 客户端(如 Claude Desktop)在启动时会自动尝试连接配置的 MCP 服务器。你也可以在仓库根目录下运行 'npm run watch' 命令在开发模式下启动服务器,方便调试。

  2. 在 MCP 客户端中使用工具: 在 MCP 客户端中,你可以通过调用 'generate_client' 工具来生成 API 客户端。你需要提供以下参数:

    • 'input': OpenAPI 规范文件的 URL 地址 (例如 'https://petstore3.swagger.io/api/v3/openapi.json') 或本地文件路径。
    • 'output': 生成客户端代码的输出目录,例如 './generated-client'。 请确保此目录存在或有权限创建。
    • 'httpClient': 选择使用的 HTTP 客户端库,可选值为 '"fetch"' 或 '"axios"'。

    例如,在 Claude Desktop 中,你可以指示 Claude 调用 'openapi-client-generator' 服务器的 'generate_client' 工具,并提供相应的参数。Claude 接收到工具执行结果后,即可利用生成的 API 客户端代码与指定的 API 进行交互。

调试: 如果遇到问题,可以使用仓库提供的 MCP Inspector 工具进行调试,运行 'npm run inspector' 命令,按照提示在浏览器中打开调试页面。

信息

分类

开发者工具