amrsa1/swagger-mcp
If you are the rightful owner of swagger-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Swagger MCP Server is a tool designed to facilitate the exploration and testing of APIs using Swagger/OpenAPI documentation, with support for multiple IDEs and flexible authentication options.
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
"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
"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 authenticationAPI_PASSWORD
- Password for basic authentication
Authentication Flow
The server intelligently handles authentication:
- For API requests: Uses API_KEY as Bearer token, falls back to Basic auth
- For authentication endpoints: Auto-injects username/password credentials
- Token management: Automatically stores and reuses tokens from login responses
- 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
# 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 file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.