Skip to main content
Glama

Swagger MCP Server

README.md4.38 kB
# Swagger MCP Server A Model Context Protocol (MCP) server that provides tools for exploring and testing APIs through Swagger/OpenAPI documentation. This server automatically detects configuration files from multiple IDEs and provides comprehensive API interaction capabilities. ## Features - 🔍 **Fetch and parse Swagger/OpenAPI documentation** from any URL - 🧪 **Test API endpoints** directly through the MCP interface - 📊 **Explore API schemas** and understand data structures - 🔧 **Multi-IDE support** - automatically detects config from VS Code, Cursor, Windsurf, and more - 🌐 **Flexible authentication** - supports API keys, basic auth, and bearer tokens - ⚡ **Auto-discovery** - can find documentation URLs automatically ## Configuration ### IDE Setup Create an MCP configuration file in your IDE's configuration directory: - **VS Code**: `~/.vscode/mcp.json` or `.vscode/mcp.json` (in your project) - **Cursor**: `~/.cursor/mcp.json` or `.cursor/mcp.json` (in your project) - **Windsurf**: `~/.windsurf/mcp.json` or `.windsurf/mcp.json` (in your project) - **Any IDE**: `mcp.json` (in your project root) or `.mcp/config.json` ### Authentication Options #### Option 1: Using API Key ```json "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" } } ``` #### Option 2: Using Username and Password ```json "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" } } ``` ## Configuration Options - `API_BASE_URL` - Base URL for your API (e.g., `https://api.example.com`) **[Required]** - `API_DOCS_URL` - Direct URL to Swagger/OpenAPI JSON/YAML (optional, will be auto-discovered) - `API_KEY` - API key for authentication (used as Bearer token) - `API_USERNAME` - Username for basic authentication - `API_PASSWORD` - Password for basic authentication ## Authentication Flow The server intelligently handles authentication: 1. **For API requests**: Uses API_KEY as Bearer token, falls back to Basic auth 2. **For authentication endpoints**: Auto-injects username/password credentials 3. **Token management**: Automatically stores and reuses tokens from login responses 4. **Auto-refresh**: Attempts to refresh tokens on 401 Unauthorized responses ## Available Tools ### `fetch_swagger_info` Fetches and parses Swagger/OpenAPI documentation from a given URL to discover available API endpoints. ### `list_endpoints` Lists all available API endpoints after fetching Swagger documentation, showing methods, paths, and summaries. ### `get_endpoint_details` Gets detailed information about a specific API endpoint including parameters, request/response schemas, and examples. ### `execute_api_request` Executes an API request to a specific endpoint with authentication, parameters, headers, and body handling. ### `validate_api_response` Validates an API response against the schema definitions from Swagger documentation to ensure compliance. ## Usage Examples Once configured, you can use the MCP server in your AI-powered editor to: - **Explore APIs**: "Show me the available endpoints in this API" - **Test endpoints**: "Test the POST /users endpoint with this data" - **Understand schemas**: "Explain the User model structure" - **Debug API calls**: "Help me troubleshoot this API request" - **Validate responses**: "Check if this response matches the API schema" ## Supported IDEs The server automatically detects configuration files from: - **VS Code** (`.vscode/mcp.json`) - **Cursor** (`.cursor/mcp.json`) - **Windsurf** (`.windsurf/mcp.json`) - **Root directory** (`mcp.json`) - **Alternative location** (`.mcp/config.json`) ## Development ```bash # 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 ``` ## License MIT License - see [LICENSE](LICENSE) file for details. ## Contributing Contributions are welcome! Please feel free to submit a Pull Request.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/amrsa1/swagger-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server