Swagger Navigator MCP Server
Provides intelligent discovery and search capabilities for Swagger/OpenAPI specifications, enabling dynamic exploration of REST API endpoints through fuzzy search across paths, methods, descriptions, and tags from both local files and remote sources.
๐ Swagger Navigator MCP Server
An MCP server implementation that provides intelligent discovery and search capabilities for Swagger/OpenAPI endpoints. This tool enables AI assistants to dynamically explore, understand, and interact with REST APIs by parsing OpenAPI specifications and providing fuzzy search across endpoints.
๐ How It Works
The Swagger Navigator MCP Server acts as an intelligent API knowledge hub, seamlessly connecting developers with their API specifications. When you ask Cursor/Claude/LLMs to generate API clients, anticorruption layers, or type definitions, Cursor/Claude/LLMs consults the MCP server to get accurate, structured API information and then generates perfect code based on the actual API schema.
flowchart TD
A[๐จโ๐ป Developer] -->|"๐ฌ Generate API client<br/>for /users endpoint"| B[๐ฏ Cursor/IDE/LLMs]
B -->|"๐ Query: What is<br/>/users endpoint?"| C[๐ Swagger Navigator MCP Server]
C -->|"๐ Returns endpoint<br/>schema & structure"| B
B -->|"โจ Here's your<br/>generated API client"| A
style A fill:#74b9ff,stroke:#0984e3,stroke-width:2px,color:#fff
style B fill:#a29bfe,stroke:#6c5ce7,stroke-width:2px,color:#fff
style C fill:#ff6b6b,stroke:#333,stroke-width:4px,color:#fff
linkStyle 0 stroke:#fd79a8,stroke-width:3px
linkStyle 1 stroke:#00b894,stroke-width:3px
linkStyle 2 stroke:#fdcb6e,stroke-width:3px
linkStyle 3 stroke:#e17055,stroke-width:3pxRelated MCP server: mcp-swagger
โจ Features
๐ Dynamic API Discovery: Automatically parse and index Swagger/OpenAPI specifications from multiple sources
๐ฏ Intelligent Search: Use fuzzy matching to find relevant endpoints based on natural language queries
๐ Multi-source Support: Handle both local files and remote HTTP endpoints with authentication
โก Real-time Updates: Monitor configuration changes and refresh API data automatically
๐ Hot-reload Configuration: Detect config file changes without server restart
๐ ๏ธ Tools
๐ list_all_sources
Retrieves a comprehensive list of all available Swagger/OpenAPI sources in the system.
Purpose:
Provides overview of all loaded API specifications
Shows available APIs for search and exploration
Returns source names for use with other tools
Returns:
Array of sources with name, description, and OpenAPI info (title, version)
๐ list_endpoints_for_source
Retrieves all endpoints from a specific API source with pagination support.
Inputs:
name(string): The source name to list endpoints forlimit(number, optional): Maximum endpoints to return (1-100, default: 10)offset(number, optional): Number of endpoints to skip (default: 0)
Returns:
Array of endpoints with path, method, description, and metadata
Pagination information with total count and navigation flags
๐ search_endpoint
Intelligently searches endpoints using fuzzy matching across multiple attributes.
Inputs:
query(string): Search query using natural language (e.g., "create user", "authentication", "GET users")
Returns:
Ranked array of matching endpoints with relevance scores
Weighted search across descriptions, paths, methods, and tags
โ๏ธ Configuration
๐ค Usage with Cursor
Add this to your ~/.cursor/mcp.json:
Using npx
{
"mcpServers": {
"swagger-navigator-mcp": {
"command": "npx",
"args": ["-y", "swagger-navigator-mcp"],
"env": {
"CONFIG_PATH": "path/to/swagger-navigator-mcp.config.yaml"
}
}
}
}๐ Configuration File
Create a swagger-navigator-mcp.config.yaml file:
# Swagger Navigator MCP Server Configuration
sources:
# Local file example
- name: "petstore-local"
source: "./specs/petstore.json"
description: "Local Petstore API specification"
# Remote HTTP source with authentication
- name: "github-api"
source: "https://api.github.com"
description: "GitHub REST API v3"
headers:
Authorization: "token ${GITHUB_TOKEN}"
Accept: "application/vnd.github.v3+json"
# API with custom headers
- name: "internal-api"
source: "https://internal.company.com/api/swagger.json"
description: "Internal company API"
headers:
X-API-Key: "${API_KEY}"
# Optional: Search configuration
search:
fuzzyThreshold: 0.6 # 0-1, lower = more fuzzy matching
# Optional: Refresh interval in seconds
refreshInterval: 300 # Refresh every 5 minutes๐ Environment Variable Substitution
The configuration file supports environment variable substitution using ${VARIABLE_NAME} syntax. This allows you to securely store sensitive information like API keys and tokens outside of your configuration file.
Examples:
${GITHUB_TOKEN}- Substituted with the value of theGITHUB_TOKENenvironment variable${API_KEY}- Substituted with the value of theAPI_KEYenvironment variable${DATABASE_URL}- Any environment variable can be used
Note: If an environment variable is not set, the substitution will result in an empty string.
๐ Environment Variables
Set environment variables for configuration and authentication:
export CONFIG_PATH="./swagger-navigator-mcp.config.yaml"
export GITHUB_TOKEN="your-github-token"
export API_KEY="your-api-key"๐ Usage
๐ฆ Install Dependencies
npm install๐จ Build the Project
npm run buildโถ๏ธ Start the Server
CONFIG_PATH=./swagger-navigator-mcp.config.yaml npm start๐งช Development Mode
npm run dev๐ License
This project is licensed under the ISC License - see the LICENSE file for details.
This server cannot be deployed
Maintenance
Related MCP Connectors
Turn any task into the right API calls: discover, evaluate, and integrate public APIs.
Discover, compare, and monitor 1,400+ APIs directly from your AI coding agent.
AI-callable tools for API mocking, testing, monitoring, security, and automation.
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to load, parse, and query OpenAPI/Swagger documentation from URLs with intelligent search across endpoints, schemas, and authentication methods. Provides 10 specialized tools for comprehensive API exploration including path details, operation lookups, and multi-criteria search capabilities.4-
- AlicenseAqualityDmaintenanceExposes Swagger/OpenAPI API documentation to AI models, enabling exploration, search, and interaction with endpoints, schemas, and execution of API calls.143 npm2MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to discover, search, and call any REST API described by an OpenAPI or Swagger document. Supports multiple API endpoints with authentication and parameter handling.6 npmMIT
- FlicenseAqualityDmaintenanceDynamically fetches and exposes OpenAPI/Swagger documentation as tools for AI assistants, enabling them to explore and interact with any REST API.31-