
swagger-mcp

2025.04.19
18
GoAPI 工具生成Swagger 集成开发效率
`swagger-mcp` 是一个专为 Swagger UI 设计的工具,能够提取 `swagger.json` 文件并动态生成定义良好的 mcp 工具,供 MCP 客户端进一步选择使用。该工具旨在通过 API 响应提供准确的数据,避免 LLM 模型产生幻觉或随机数据,从而提高开发效率和工具可靠性。
View on GitHub
Overview
基本能力
产品定位
swagger-mcp
是一个用于动态生成 API 工具的工具,旨在通过 Swagger UI 的规范文件生成可用的 MCP 工具,供客户端调用。
核心功能
- Swagger UI 抓取:从 Swagger UI 中提取
swagger.json
文件。 - 动态工具生成:根据 Swagger 规范动态生成 MCP 工具。
- LLM 集成:支持与 OpenAI、Claude 或 Ollama 等 LLM 模型集成。
- MCP 客户端兼容:生成的工具可直接供 MCP 客户端使用。
适用场景
- API 开发与测试:快速生成 API 工具,用于开发和测试。
- 自动化工具链:集成到自动化工具链中,提高开发效率。
- LLM 辅助开发:结合 LLM 模型,提供更智能的 API 调用支持。
工具列表
- swagger-mcp:主工具,用于抓取 Swagger UI 并生成 MCP 工具。
- mcphost:MCP 客户端,用于运行生成的工具。
- go-backend-demo:示例后端服务,用于演示。
- Ollama:本地 LLM 模型,用于工具调用。
常见问题解答
- 如何避免 LLM 产生幻觉数据?
- 通过严格依赖 API 响应,避免 LLM 使用自身记忆生成数据。
- 如何改进工具定义?
- 提供反馈或贡献代码,优化工具定义和错误处理。
- 如何集成到现有项目?
- 通过
.mcp.json
配置文件指定swagger-mcp
的启动参数。
使用教程
使用依赖
- LLM 模型 API 密钥或本地 LLM:如 OpenAI、Claude 或 Ollama。
- MCP 客户端:如
mcphost
。
安装教程
go install github.com/danishjsheikh/swagger-mcp@latest
swagger-mcp
MCP 配置
在 .mcp.json
中添加以下配置:
{
"mcpServers": {
"swagger_loader": {
"command": "swagger-mcp",
"args": ["--specUrl=<swagger/doc.json_url>"]
}
}
}
调试方式
- 启动示例后端:
go install github.com/danishjsheikh/go-backend-demo@latest
go-backend-demo
- 启动 Ollama:
ollama run llama3.2
- 启动 MCP 客户端:
go install github.com/mark3labs/mcphost@latest
mcphost -m ollama:llama3.2 --config <.mcp.json_file_path>