Back to MCP directory
publicPublicdnsLocal runtime

Swagger

swagger-mcp是一个动态生成API工具的工具,通过解析Swagger UI的JSON文件,为MCP客户端提供运行时生成的工具定义。支持多种认证方式,可与本地或云端LLM模型集成。

article

README

🚀 swagger-mcp 中文文档

swagger-mcp 是一款专门用于抓取 Swagger UI 的实用工具。它能够提取 swagger.json 文件,并动态生成规范化的 mcp 工具,供 MCP 客户端在运行时选择和使用,大大提升了相关操作的便捷性。

🚀 快速开始

先决条件

在使用 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 服务器运行,否则使用标准输入输出)
  • --sseAddr:SSE 服务器监听地址,格式为 IP:Port 或 :Port(若为空,则根据 --sseUrl 自动补全)
  • --sseUrl:SSE 服务器基础 URL(若为空,默认生成 http://IP:Port 或 http://localhost:Port)
  • 若同时设置 --sseAddr 和 --sseUrl,请参考具体文档
  • 其他参数请查阅工具说明

MCP 配置

.mcp.json 文件中对 mcphost 进行如下配置:

{
  "swagger-mcp": {
    "url": "https://your_swagger_api_docs.json",
    "sseMode": false,
    "sseAddr": ":8080"
  }
}

演示流程

后端、Ollama 和 MCP 客户端的运行命令如下:

# 后端服务
go run main.go

# Ollama 服务
ollama serve --model gpt-3

# MCP 客户端
go run client.go

✨ 主要特性

  • 能够抓取 Swagger UI,提取 swagger.json 文件。
  • 动态生成规范化的 mcp 工具,供 MCP 客户端在运行时选择和使用。

📽️ 演示视频

你可以观看演示视频来了解项目的具体功能:
观看演示

🙌 支持

如果你认为这个项目有价值,请在 LinkedIn 上给予支持:

  • 👍 点赞并分享我的演示帖子
  • 💬 在评论区留下你的想法和反馈
  • 🔗 关注我以获取未来的更新动态

你的支持将有助于我触达更多用户,并持续改进项目!

📚 详细文档

流程图

若你想查看项目的流程图,请参考此链接:流程图链接

🔧 技术细节

用户提到了以下有待完善的部分:

  • 工具定义:需要采用更规范化的工具定义方式,以提升工具的可用性。
  • LLM 行为控制:需增强对 LLM 模型的控制能力,确保其输出符合预期。
  • 上下文管理:优化上下文处理机制,提高对话的连贯性。
  • 错误处理:加强异常检测与恢复机制,提升工具的鲁棒性。

这些改进将使 swagger-mcp 更加完善,欢迎你提供反馈和建议!

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client