项目简介

ApiMesh OpenAPI Generator是一个AI驱动的开源工具,它能自动扫描您提供的代码仓库,识别其中的REST API端点、参数、认证机制及数据模型,然后生成精确的OpenAPI 3.0规范(即'swagger.json'文件)。此外,它还能渲染一个美观且交互性强的HTML API文档UI,让API探索变得即时、便捷。

通过将其作为MCP服务器运行,大型语言模型(LLM)客户端可以直接调用其功能,获取任何给定代码仓库的API文档上下文,从而增强LLM理解和交互外部API的能力。

主要功能点

  • 代码智能识别: 自动发现多种编程语言(如Python、Node.js、Ruby on Rails、Go)和框架中的API端点。
  • OpenAPI 3.0规范生成: 输出符合OpenAPI 3.0标准的'swagger.json'文件,该文件可用于CI/CD流程、API网关集成和各类开发者工具。
  • 交互式API文档UI: 生成一个独立的'apimesh-docs.html'文件,其中嵌入了Swagger UI,无需外部服务器即可在浏览器中直接查看和测试API。
  • AI增强管道: 利用人工智能技术,显著提升API端点发现、参数提取和OpenAPI规范生成的准确性及效率。

安装步骤

在开始使用此MCP服务器之前,请确保您的系统满足以下条件:

  1. 克隆或下载仓库: 将ApiMesh GitHub仓库克隆或下载到您的本地机器。
    git clone https://github.com/qodex-ai/apimesh.git
    cd apimesh
  2. 安装Python环境及依赖: 此MCP服务器是基于Python开发的。请确保您已安装Python 3.10+。建议使用'uv'工具来管理依赖和运行项目,或者使用'pip'。
    # 安装 uv (如果尚未安装)
    pip install uv
    
    # 使用 uv 安装依赖
    uv pip install -r requirements.txt 
    # 或者使用 pip 安装依赖
    # pip install -r requirements.txt
    请注意,'requirements.txt'文件可能需要从仓库中获取或自行创建,以包含所有必需的Python库。
  3. 准备OpenAI API Key: 此工具依赖OpenAI服务进行代码分析和内容生成。请确保您拥有有效的OpenAI API Key,它将在后续作为MCP工具的参数提供。

服务器配置

MCP客户端需要配置此服务器的启动命令和参数才能与其建立连接。以下是一个示例JSON配置,您需要根据'swagger_mcp.py'文件的实际位置进行调整:

{
  "mcpServers": {
    "apimesh-swagger-generator": {
      "command": "uv",
      "args": [
        "run",
        "/path/to/apimesh/swagger_mcp.py"
      ]
    }
  }
}
  • 'apimesh-swagger-generator': 这是您为MCP服务器定义的名称,可以根据需要更改。
  • 'command': 指定运行MCP服务器的命令。这里推荐使用'uv',因为它能更高效地管理Python环境。
  • 'args': 一个字符串数组,包含传递给'command'的参数。第一个参数'"run"'是'uv'的子命令,指示运行Python脚本。第二个参数是'swagger_mcp.py'文件的绝对路径。请将'/path/to/apimesh/'替换为'swagger_mcp.py'在您系统中的实际路径。

基本使用方法

配置好MCP客户端后,您可以通过LLM客户端调用此MCP服务器暴露的'run_swagger_generation'工具。这个工具会要求提供以下参数:

  • 'openai_api_key': 必需。您的OpenAI API Key,用于调用OpenAI模型进行代码分析。
  • 'repo_path': 必需。您希望生成OpenAPI规范的代码仓库的本地绝对路径
  • 'timeout_seconds' (可选): 工具执行的超时时间(秒)。默认为900秒(15分钟)。

LLM客户端将发送一个JSON-RPC请求,调用此工具,例如:

{
  "jsonrpc": "2.0",
  "method": "tool_code/run_swagger_generation",
  "params": {
    "openai_api_key": "YOUR_OPENAI_API_KEY_HERE",
    "repo_path": "/path/to/your/local/code/repository",
    "timeout_seconds": 1200
  },
  "id": 1
}

MCP服务器接收到请求后,将执行代码分析并生成OpenAPI规范。生成的'swagger.json'文件和'apimesh-docs.html'文件通常会放置在'repo_path'指定的代码仓库根目录下的'apimesh/'子目录中。MCP客户端将收到包含执行结果(如stdout, stderr, exit_code)的JSON-RPC响应。

信息

分类

开发者工具