swagger-mcp

swagger-mcp

site icon
2025.05.05 20
GoAPI 工具开发工具开发效率
`swagger-mcp` 是一个专为 Swagger UI 设计的工具,通过提取 `swagger.json` 文件并动态生成定义良好的 mcp 工具,这些工具可以在运行时被 MCP 客户端用于进一步的工具选择。该工具支持多种配置选项,包括不同的安全认证方式和运行模式(SSE 或 stdio)。
View on GitHub

Overview

基本能力

产品定位

swagger-mcp 是一个用于动态生成 MCP 工具的工具,专为 Swagger UI 设计,旨在简化 API 文档的利用和工具生成过程。

核心功能

  1. Swagger JSON 提取:从 Swagger UI 中提取 swagger.json 文件。
  2. 动态工具生成:根据提取的 Swagger JSON 动态生成 MCP 工具。
  3. 多种运行模式:支持 SSE 和 stdio 两种运行模式。
  4. 安全认证支持:支持 Basic Auth、API Key 和 Bearer Token 等多种安全认证方式。
  5. 配置灵活:提供多种配置选项,如基础 URL 覆盖、SSE 服务器地址等。

适用场景

  1. API 文档工具化:将 Swagger UI 文档转换为可操作的 MCP 工具。
  2. 开发效率提升:通过动态生成的工具简化 API 调用和测试流程。
  3. 集成测试:在 CI/CD 流程中自动化 API 测试。

工具列表

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

常见问题解答

  1. 如何获取 Swagger JSON URL?
  2. 通常可以在 Swagger UI 的页面底部找到 swagger.json 的链接。
  3. 如何配置安全认证?
  4. 使用 --security 参数指定认证类型,并提供相应的认证信息(如 --basicAuth--bearerAuth)。
  5. 如何切换运行模式?
  6. 使用 --sseMode 参数切换 SSE 或 stdio 模式。

使用教程

使用依赖

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

安装教程

  1. 安装 swagger-mcpsh go install github.com/hauntingsteps/swagger-mcp@latest swagger-mcp
  2. 运行 swagger-mcpsh swagger-mcp --specUrl=https://your_swagger_api_docs.json

调试方式

  1. 检查 Swagger JSON URL 是否正确。
  2. 验证安全认证配置是否正确。
  3. 检查运行模式是否符合预期(SSE 或 stdio)。
  4. 使用 --help 参数查看所有支持的选项和配置。

许可证

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