X

swagger mcp

Information

# Swagger Explorer MCP A Management Control Plane (MCP) server for exploring and analyzing Swagger/OpenAPI specifications through Claude. ## Quick Start Install and run globally using npx: \`\`\`bash npx -y @johnneerdael/swagger-mcp \`\`\` Or install with environment variables: \`\`\`bash npx -y @johnneerdael/swagger-mcp \ --env BASE_URL=/api \ --env AUTH_TOKEN=your-token \ --env PORT=3000 \`\`\` ## Installation for Claude Desktop 1. Open Claude Desktop 2. Click on Settings (gear icon) 3. Select "Tools & Integrations" 4. Click "Add MCP Server" 5. Enter the following: \`\`\` Name: Swagger Explorer Command: npx -y @johnneerdael/swagger-mcp Arguments: --swagger-url=$SWAGGER_URL \`\`\` 6. Click "Install" ## Usage with Claude Here are some example interactions with Claude: ### Basic Swagger Exploration \`\`\` Human: Can you explore the Swagger documentation at http://localhost:8080/docs? Claude: I'll help you explore that Swagger documentation using the Swagger Explorer MCP. Let me analyze the API endpoints and schemas for you: [Claude would then use the MCP to fetch and analyze the Swagger documentation] \`\`\` ### Analyzing Specific Endpoints \`\`\` Human: What are the available response schemas for the /pets POST endpoint? Claude: I'll check the response schemas for that endpoint using the MCP. [Claude would use the MCP to fetch specific endpoint details] \`\`\` ### Schema Analysis \`\`\` Human: Can you show me the detailed structure of the Pet schema? Claude: I'll retrieve the detailed schema information using the MCP. [Claude would use the MCP to analyze the schema structure] \`\`\` ## Features 1. **Authentication Support** - Bearer token authentication - Configurable through environment variables 2. **Custom Response Formatting** - Minimal format: Removes null/empty values - Detailed format: Includes metadata and timestamps - Raw format: Unmodified response 3. **Schema Analysis** - Detailed property exploration - Response schema analysis - Schema relationships 4. **API Exploration** - Path listing - Method filtering - Response format analysis ## Configuration Environment Variables: - \`BASE_URL\`: Base path for the API (default: '') - \`AUTH_TOKEN\`: Bearer token for authentication - \`PORT\`: Server port (default: 3000) - \`SWAGGER_URL\`: Default Swagger documentation URL ## API Endpoints ### Explore API \`\`\`bash curl -X POST http://localhost:3000/api/explore \ -H "Authorization: Bearer your-token" \ -H "Content-Type: application/json" \ -d '\{ "url": "http://your-swagger-url", "options": \{ "paths": true, "schemas": true \} \}' \`\`\` ### Get Schema Details \`\`\`bash curl -X POST http://localhost:3000/api/schema-details \ -H "Authorization: Bearer your-token" \ -H "Content-Type: application/json" \ -d '\{ "url": "http://your-swagger-url", "schemaName": "Pet" \}' \`\`\` ### Get Response Schemas \`\`\`bash curl -X POST http://localhost:3000/api/response-schemas \ -H "Authorization: Bearer your-token" \ -H "Content-Type: application/json" \ -d '\{ "url": "http://your-swagger-url", "path": "/pets", "method": "post" \}' \`\`\` ## Response Formats ### Minimal Format \`\`\`json \{ "status": "success", "data": \{ // Only non-null values \} \} \`\`\` ### Detailed Format \`\`\`json \{ "status": "success", "timestamp": "2025-01-29T10:00:00.000Z", "data": \{ // Full response \}, "metadata": \{ "version": "1.0", "format": "detailed" \} \} \`\`\` ## Common Use Cases 1. **API Documentation Review** \`\`\` Human: Can you summarize all the available endpoints and their purposes? \`\`\` 2. **Schema Validation** \`\`\` Human: What fields are required for creating a new pet? \`\`\` 3. **Response Analysis** \`\`\` Human: What are the possible error responses for the login endpoint? \`\`\` 4. **Integration Planning** \`\`\` Human: How should I structure my request to create a new order? \`\`\` ## Troubleshooting 1. **Connection Issues** - Ensure the Swagger URL is accessible - Check if authentication token is correct - Verify port is not in use 2. **Authorization Errors** - Verify AUTH_TOKEN is set correctly - Ensure bearer token is included in requests 3. **Schema Not Found** - Check if schema name is exact match - Verify Swagger spec is loaded correctly ## Security Notes 1. The MCP requires authentication if AUTH_TOKEN is set 2. All requests are logged for debugging 3. Sensitive information is not cached 4. Rate limiting is applied to prevent abuse ## Development To contribute or modify: 1. Clone the repository 2. Install dependencies: \`\`\`bash npm install \`\`\` 3. Build: \`\`\`bash npm run build \`\`\` 4. Run locally: \`\`\`bash npm start \`\`\` ## License MIT License - See LICENSE file for details

Prompts

Reviews

Tags

Write Your Review

Detailed Ratings

ALL
Correctness
Helpfulness
Interesting
Upload Pictures and Videos

Name
Size
Type
Download
Last Modified
mcp_config_johnneerdael_swagger-mcp.json
109.0 B
json
  • Community

Add Discussion

Upload Pictures and Videos