返回市场
swagger-mcp

swagger-mcp

作者:danishjsheikh75 星标更新:2025-11-05

项目介绍

swagger-mcp

由MCP审核认证

概述

swagger-mcp 是一个工具,设计用于通过提取 swagger.json 文件并动态生成在运行时定义良好的 mcp 工具来抓取 Swagger UI。这些工具可以被 MCP 客户端用于进一步的选择。

📽️ 演示视频

查看展示项目运行情况的演示视频: 观看演示

🙌 支持

如果您觉得这个项目有价值,请在 LinkedIn 上支持我:

  • 👍 喜欢并分享我们的演示帖子
  • 💬 在评论中留下您的想法和反馈
  • 🔗 联系我以获取未来的更新

您在 LinkedIn 上的支持将帮助我接触更多的人,并改进这个项目!

预备条件

要使用 swagger-mcp,请确保您有以下依赖项:

  1. LLM 模型 API 密钥 / 本地 LLM:需要访问 OpenAI、Claude 或 Ollama 模型。
  2. 任意 MCP 客户端:(使用了 mark3labs - mcphost

安装与设置

按照以下步骤安装并运行 swagger-mcp

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

运行配置

要直接运行 swagger-mcp,使用:

swagger-mcp --specUrl=https://your_swagger_api_docs.json

主要标志:

  • --specUrl:Swagger/OpenAPI JSON URL(必需)
  • --sseMode:在 SSE 模式下运行(默认:false,如果为 true 则作为 SSE 服务器运行,否则使用 stdio)
  • --sseAddr:SSE 服务器监听地址,格式为 IP:Port 或 :Port(如果为空,则使用 --sseUrl 中的 IP:Port)
  • --sseUrl:SSE 服务器基础 URL(如果为空,则使用 sseAddr 生成,例如 http://IP:Porthttp://localhost:Port)
  • 如果同时设置了 --sseAddr 和 --sseUrl,则按原样使用,不自动补充。
  • --baseUrl:覆盖 API 请求的基础 URL
  • --security:API 安全类型(basicapiKeybearer
  • --basicAuth:基本认证,格式为 user:password
  • --bearerAuth:用于 Authorization 头的 Bearer 令牌
  • --apiKeyAuth:API 密钥,格式为 passAs:name=value(例如 header:token=abc,query:user=foo,cookie:sid=xxx
  • 查看 main.go 获取所有支持的标志和选项。

MCP 配置

为了与 mcphost 集成,在 .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
    
  2. Ollama

    ollama run llama3.2
    
  3. MCP 客户端

    go install github.com/mark3labs/mcphost@latest
    mcphost -m ollama:llama3.2 --config <.mcp.json_file_path>
    

流程图

流程图

🛠️ 需要帮助

我正在努力改进工具定义以增强: ✅ 更好的错误处理以获得更准确的响应 ✅ 控制 LLM 行为以确保它仅依赖于 API 响应而不使用自己的内存 ✅ 防止幻觉随机数据生成,通过强制从 API 严格检索数据

如果您有关于改进这些方面的见解或建议,请通过以下方式贡献:

  • 分享您的经验与类似的实现
  • 提出修改意见给工具定义
  • 提供反馈关于当前的限制

您的输入对于使此工具更加可靠和有效至关重要!🚀