项目简介
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服务器之前,请确保您的系统满足以下条件:
- 克隆或下载仓库:
将ApiMesh GitHub仓库克隆或下载到您的本地机器。
git clone https://github.com/qodex-ai/apimesh.git cd apimesh - 安装Python环境及依赖:
此MCP服务器是基于Python开发的。请确保您已安装Python 3.10+。建议使用'uv'工具来管理依赖和运行项目,或者使用'pip'。
请注意,'requirements.txt'文件可能需要从仓库中获取或自行创建,以包含所有必需的Python库。# 安装 uv (如果尚未安装) pip install uv # 使用 uv 安装依赖 uv pip install -r requirements.txt # 或者使用 pip 安装依赖 # pip install -r requirements.txt - 准备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响应。
信息
分类
开发者工具