README
🚀 swagger-mcp 中文文档
swagger-mcp 是一款专门用于抓取 Swagger UI 的实用工具。它能够提取 swagger.json 文件,并动态生成规范化的 mcp 工具,供 MCP 客户端在运行时选择和使用,大大提升了相关操作的便捷性。
🚀 快速开始
先决条件
在使用 swagger-mcp 之前,请确保已经安装以下依赖:
- LLM 模型 API 密钥 / 本地 LLM:需要具备 OpenAI、Claude 或 Ollama 模型的访问权限。
- 任何 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 更加完善,欢迎你提供反馈和建议!
Scan to contact