swagger-mcp

swagger-mcp

site icon
2025.04.23 0
GoAPI 文档处理工具自动化生成开发效率提升开发效率
`swagger-mcp` 是一个专为 Swagger UI 设计的工具,通过提取 `swagger.json` 文件并动态生成定义良好的 mcp 工具,供 MCP 客户端进一步选择使用。该工具旨在提升开发效率,特别是在 API 文档处理和工具生成方面。
View on GitHub

Overview

基本能力

产品定位

swagger-mcp 是一个用于从 Swagger UI 提取 API 文档并动态生成 mcp 工具的工具,旨在提升开发效率和 API 工具的自动化生成。

核心功能

  1. Swagger UI 抓取:从 Swagger UI 中提取 swagger.json 文件。
  2. 动态工具生成:根据提取的 API 文档动态生成 mcp 工具。
  3. MCP 客户端集成:生成的工具可直接供 MCP 客户端使用。

适用场景

  1. API 文档处理:需要从 Swagger UI 提取 API 文档的场景。
  2. 工具自动化生成:需要动态生成 API 相关工具的场景。
  3. 开发效率提升:希望通过自动化工具减少手动开发工作量的场景。

工具列表

  1. swagger-mcp:主工具,用于抓取 Swagger UI 并生成 mcp 工具。
  2. mcphost:MCP 客户端,用于运行生成的工具。

常见问题解答

  1. 如何获取 API Key?:需要访问 OpenAI、Claude 或 Ollama 模型的 API Key 或本地 LLM。
  2. 如何配置 MCP 客户端?:在 .mcp.json 中配置 swagger_loader 命令和参数。
  3. 如何改进工具定义?:提供反馈或建议以改进错误处理、LLM 行为控制和数据准确性。

使用教程

使用依赖

  1. LLM Model API Key / Local LLM:需要访问 OpenAI、Claude 或 Ollama 模型的 API Key 或本地 LLM。
  2. MCP Client:推荐使用 mark3labs - mcphost

安装教程

go install github.com/bothsafari/swagger-mcp@latest
swagger-mcp

MCP 配置

.mcp.json 中添加以下配置:

{
    "mcpServers":
    {
        "swagger_loader": {
            "command": "swagger-mcp",
            "args": ["--specUrl=<swagger/doc.json_url>"]
        }
    }
}

调试方式

  1. 运行后端示例
go install github.com/danishjsheikh/go-backend-demo@latest 
go-backend-demo
  1. 运行 Ollama
ollama run llama3.2
  1. 运行 MCP 客户端
go install github.com/mark3labs/mcphost@latest
mcphost -m ollama:llama3.2 --config <.mcp.json_file_path>

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。