swagger-doc-explorer-mcp
Allows loading and exploring Swagger/OpenAPI specifications, providing tools for browsing endpoints, schemas, tags, and searching across the API documentation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@swagger-doc-explorer-mcpLoad https://petstore.swagger.io/v2/swagger.json and list its paths"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Swagger Doc Explorer MCP
MCP server for progressive exploration of Swagger/OpenAPI documentation. Supports stdio (local) and HTTP (remote) transports.
Each loaded spec is identified by a unique name ({title} v{version}) assigned at load time. All downstream tools reference the spec by name, so you can load and inspect multiple specs simultaneously.
Tools
Tool | Description |
| Load spec from a remote URL. |
| Load spec from a local JSON file. |
| List all specs currently loaded (name, title, version, source) |
| Remove a loaded spec from memory. |
| Get API title, version, description, server URL. |
| List all tags/groups with endpoint counts. |
| List endpoints, optionally filtered by |
| Drill into a specific endpoint: |
| List all data models/schemas. Supports |
| Get full details of a specific schema: |
| Full-text search across endpoints and schemas: |
Related MCP server: Swagger MCP (Multi-API Edition)
Installation
npm install -g swagger-doc-explorer-mcpOr use directly with npx (no install needed):
npx -y swagger-doc-explorer-mcpUsage
stdio (default)
npx -y swagger-doc-explorer-mcpHTTP
SWAGGER_HTTP_PORT=3000 npx -y swagger-doc-explorer-mcpThe HTTP server accepts POST requests at / following the MCP Streamable HTTP protocol. Clients must include Accept: application/json, text/event-stream and use the mcp-session-id header for session affinity:
# Initialize session
curl -X POST http://localhost:3000/ \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0"}}}'
# Copy the mcp-session-id from response headers, then:
curl -X POST http://localhost:3000/ \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: <session-id>" \
-d '{"jsonrpc":"2.0","method":"notifications/initialized"}'
curl -X POST http://localhost:3000/ \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: <session-id>" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"swagger_load_spec","arguments":{"url":"https://petstore.swagger.io/v2/swagger.json"}}}'Development
npm run dev # stdio mode with hot reload
npm run dev:http # HTTP mode on port 3000 with hot reloadMCP client configuration
Use npx so the client auto-installs the package:
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"swagger-doc-explorer": {
"command": "npx",
"args": ["-y", "swagger-doc-explorer-mcp"]
}
}
}VS Code (.vscode/mcp.json):
{
"servers": {
"swagger-doc-explorer": {
"type": "stdio",
"command": "npx",
"args": ["-y", "swagger-doc-explorer-mcp"]
}
}
}If installed globally, use swagger-doc-explorer-mcp directly as the command.
opencode (~/.config/opencode/opencode.json):
{
"mcp": {
"swagger-doc-explorer": {
"type": "local",
"command": ["npx", "-y", "swagger-doc-explorer-mcp"],
"enabled": true
}
}
}Environment Variables
Variable | Description |
| Set to enable HTTP mode (e.g. |
Progressive Exploration Workflow
1. swagger_load_spec / swagger_load_local_spec → load the API spec (returns spec_name)
2. swagger_get_info(spec_name="...") → overview of the API
3. swagger_list_tags(spec_name="...") → see available groups
4. swagger_list_paths(spec_name="...", tag="users") → browse endpoints in a group
5. swagger_get_endpoint(spec_name="...", path, method) → drill into endpoint details
6. swagger_list_schemas(spec_name="...") → see available data models
7. swagger_get_schema(spec_name="...", schema_name) → inspect a model
8. swagger_search(spec_name="...", query) → find anything across the specMultiple specs can be loaded and queried simultaneously — each identified by its unique spec_name.
Compatibility
OpenAPI v3.x (
openapifield)Swagger v2 (
swaggerfield)JSON format only (YAML is not supported)
Remote URLs and local file paths
Build & Test
npm run build
npm testThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/anuoua/swagger-doc-explorer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server