Swagger MCP服务器
一个模型上下文协议(MCP)服务器,通过Swagger/OpenAPI文档提供探索和测试API的工具。该服务器自动检测来自多个IDE的配置文件,并提供全面的API交互功能。
特性
- 🔍 获取并解析Swagger/OpenAPI文档 来自任何URL
- 🧪 测试API端点 直接通过MCP接口
- 📊 探索API架构 理解数据结构
- 🔧 多IDE支持 -自动检测VS Code、Cursor、Windsurf等配置
- 🌐 灵活的身份验证 -支持API密钥、基本身份验证和承载令牌
- ⚡ 自动发现 -可以自动查找文档URL
配置
IDE设置
在IDE的配置目录中创建MCP配置文件:
- VS代码:
~/.vscode/mcp.json或.vscode/mcp.json(在您的项目中) - 光标:
~/.cursor/mcp.json或.cursor/mcp.json(在您的项目中) - 帆板运动:
~/.windsurf/mcp.json或.windsurf/mcp.json(在您的项目中) - 任何IDE:
mcp.json(在项目根目录中)或.mcp/config.json
身份验证选项
选项1:使用API密钥
"swagger-mcp": {
"command": "npx",
"args": [
"-y",
"swagger-mcp@latest"
],
"env": {
"API_BASE_URL": "https://api.example.com",
"API_DOCS_URL": "https://api.example.com/swagger.json",
"API_KEY": "your-api-key-here"
}
}选项2:使用用户名和密码
"swagger-mcp": {
"command": "npx",
"args": [
"-y",
"swagger-mcp@latest"
],
"env": {
"API_BASE_URL": "https://api.example.com",
"API_DOCS_URL": "https://api.example.com/swagger.json",
"API_USERNAME": "your-username",
"API_PASSWORD": "your-password"
}
}配置选项
API_BASE_URL-API的基本URL(例如。,https://api.example.com) \[必填\]API_DOCS_URL-Swagger/OpenAPI JSON/YAML的直接URL(可选,将自动发现)API_KEY-用于身份验证的API密钥(用作承载令牌)API_USERNAME-基本身份验证的用户名API_PASSWORD-基本身份验证密码
身份验证流程
服务器智能地处理身份验证:
- 对于API请求:使用API_KEY作为承载令牌,回退到基本身份验证
- 对于身份验证端点:自动注入用户名/密码凭据
- 令牌管理:自动存储和重用登录响应中的令牌
- 自动刷新:尝试刷新401未经授权响应的令牌
可用工具
fetch_swagger_info
从给定的URL获取并解析Swagger/OpenAPI文档,以发现可用的API端点。
list_endpoints
在获取Swagger文档后列出所有可用的API端点,显示方法、路径和摘要。
get_endpoint_details
获取有关特定API终结点的详细信息,包括参数、请求/响应架构和示例。
execute_api_request
使用身份验证、参数、标头和正文处理向特定终结点执行API请求。
validate_api_response
根据Swagger文档中的模式定义验证API响应,以确保符合性。
使用示例
配置后,您可以在AI驱动的编辑器中使用MCP服务器:
- 探索API:“显示此API中的可用终结点”
- 测试终点:“使用此数据测试POST/用户端点”
- 理解模式:“解释用户模型结构”
- 调试API调用:“帮助我解决此API请求”
- 验证响应:“检查此响应是否与API架构匹配”
支持的IDE
服务器会自动检测来自以下来源的配置文件:
- VS代码 (
.vscode/mcp.json) - 光标 (
.cursor/mcp.json) - 帆板运动 (
.windsurf/mcp.json) - 根目录 (
mcp.json) - 备选位置 (
.mcp/config.json)
发展
# Clone the repository
git clone https://github.com/amrsa1/SwaggerMCP.git
cd SwaggerMCP
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
贡献
欢迎投稿!请随时提交拉取请求。
