MCP server
by sureshkumars
Analyze OpenAPI specifications: load specs, list APIs, search endpoints, detect inconsistencies, and compare schemas eff
Loads and analyzes OpenAPI specifications to help you understand API structures, find endpoints, and identify inconsistencies across multiple API specs.
OpenAPI Analyzer is a community-built MCP server published by sureshkumars that provides AI assistants with tools and capabilities via the Model Context Protocol. Analyze OpenAPI specifications: load specs, list APIs, search endpoints, detect inconsistencies, and compare schemas eff It is categorized under developer tools.
You can install OpenAPI Analyzer in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
MIT
OpenAPI Analyzer is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Share your MCP server with the developer community
I recommend OpenAPI Analyzer for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
OpenAPI Analyzer is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
We wired OpenAPI Analyzer into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
Strong directory entry: OpenAPI Analyzer surfaces stars and publisher context so we could sanity-check maintenance before adopting.
We evaluated OpenAPI Analyzer against two servers with overlapping tools; this profile had the clearer scope statement.
We evaluated OpenAPI Analyzer against two servers with overlapping tools; this profile had the clearer scope statement.
OpenAPI Analyzer reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
OpenAPI Analyzer is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
OpenAPI Analyzer is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
I recommend OpenAPI Analyzer for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
showing 1-10 of 71
A powerful Model Context Protocol (MCP) server for analyzing OpenAPI specifications with Claude Desktop and other LLM clients. This server enables natural language queries about your API structures, endpoints, schemas, and helps identify inconsistencies across multiple OpenAPI specs.
apis.json registries (support for 30+ APIs)npm install openapi-analyzer-mcp
git clone https://github.com/sureshkumars/openapi-analyzer-mcp.git
cd openapi-analyzer-mcp
npm install
npm run build
The OpenAPI Analyzer supports three discovery methods with intelligent priority fallback:
OPENAPI_DISCOVERY_URL)OPENAPI_SPEC_URLS)OPENAPI_SPECS_FOLDER)Find your config file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonPerfect for companies with centralized API registries:
{
"mcpServers": {
"openapi-analyzer": {
"command": "npx",
"args": ["-y", "openapi-analyzer-mcp"],
"env": {
"OPENAPI_DISCOVERY_URL": "https://docs.company.com/apis.json"
}
}
}
}
Load specific APIs from direct URLs:
{
"mcpServers": {
"openapi-analyzer": {
"command": "npx",
"args": ["-y", "openapi-analyzer-mcp"],
"env": {
"OPENAPI_SPEC_URLS": "https://api.example.com/v1/openapi.yaml,https://api.example.com/v2/openapi.yaml,https://petstore.swagger.io/v2/swagger.json"
}
}
}
}
Traditional approach for local specification files:
{
"mcpServers": {
"openapi-analyzer": {
"command": "npx",
"args": ["-y", "openapi-analyzer-mcp"],
"env": {
"OPENAPI_SPECS_FOLDER": "/absolute/path/to/your/openapi-specs"
}
}
}
}
Ultimate flexibility - tries all methods with intelligent fallback:
{
"mcpServers": {
"openapi-analyzer": {
"command": "npx",
"args": ["-y", "openapi-analyzer-mcp"],
"env": {
"OPENAPI_DISCOVERY_URL": "https://docs.company.com/apis.json",
"OPENAPI_SPEC_URLS": "https://legacy-api.com/spec.yaml,https://external-api.com/spec.json",
"OPENAPI_SPECS_FOLDER": "/path/to/local/specs"
}
}
}
}
Company with API Registry:
{
"mcpServers": {
"company-apis": {
"command": "npx",
"args": ["-y", "openapi-analyzer-mcp"],
"env": {
"OPENAPI_DISCOVERY_URL": "https://api.company.com/registry/apis.json"
}
}
}
}
Multiple API Sources:
{
"mcpServers": {
"multi-apis": {
"command": "npx",
"args": ["-y", "openapi-analyzer-mcp"],
"env": {
"OPENAPI_SPEC_URLS": "https://petstore.swagger.io/v2/swagger.json,https://api.example.com/v1/openapi.yaml"
}
}
}
}
| Variable | Description | Example | Priority |
|---|---|---|---|
OPENAPI_DISCOVERY_URL | URL to API registry (apis.json format) | https://docs.company.com/apis.json | 1 (Highest) |
OPENAPI_SPEC_URLS | Comma-separated list of OpenAPI spec URLs | https://api1.com/spec.yaml,https://api2.com/spec.json | 2 (Medium) |
OPENAPI_SPECS_FOLDER | Absolute path to local OpenAPI files folder | /absolute/path/to/specs | 3 (Fallback) |
⚠️ Important Notes:
OPENAPI_SPECS_FOLDEROnce configured, you can interact with your OpenAPI specs using natural language in Claude Desktop:
"Load all APIs from the company registry and show me an overview"
"Discover APIs from the configured registry and analyze their authentication patterns"
"What APIs are available in our API registry?"
"Show me where my specs were loaded from"
"Load all my OpenAPI specs and give me a comprehensive summary"
"How many APIs do I have and what's the total number of endpoints?"
"Compare authentication schemes across all loaded APIs"
"Which APIs are using different versions of the same schema?"
"Show me all POST endpoints for user creation across all APIs"
"Find all endpoints related to authentication across all loaded APIs"
"Which APIs have pagination parameters?"
"Search for endpoints that handle file uploads"
"Find all APIs that use the 'User' schema"
"What authentication schemes are used across my APIs?"
"Which APIs have inconsistent naming conventions?"
"Compare the User schema across different APIs"
"Show me APIs that are still using version 1.0"
"Generate comprehensive statistics about my API ecosystem"
"Which HTTP methods are most commonly used?"
"What are the most common path patterns?"
"Show me version distribution across my APIs"
The MCP server provides these tools for programmatic access:
| Tool | Description | Parameters |
|---|---|---|
load_specs | Smart Load: Automatically load specs using priority system (registry → URLs → folder) | None |
list_apis | List all loaded APIs with basic info (title, version, endpoint count) | None |
get_api_spec | Get the full OpenAPI spec for a specific file | filename |
search_endpoints | Search endpoints by keyword across all APIs | query |
get_api_stats | Generate comprehensive statistics about all loaded APIs | None |
find_inconsistencies | Detect inconsistencies in authentication schemes | None |
compare_schemas | Compare schemas with the same name across different APIs | schema1, schema2 (optional) |
get_load_sources | New! Show where specs were loaded from (registry, URLs, or folder) | None |
openapi-analyzer-mcp/
├── src/
│ └── index.ts # Main server implementation
├── tests/ # Comprehensive test suite
│ ├── analyzer.test.ts # Core functionality tests
│ ├── server.test.ts # MCP server tests
│ ├── validation.test.ts # Environment tests
│ ├── setup.ts # Test configuration
│ └── fixtures/ # Test data files
├── dist/ # Compiled JavaScript
├── coverage/ # Test coverage reports
├── examples/ # Example configurations
│ ├── claude_desktop_config.json
│ └── sample-openapi.json
├── vitest.config.ts # Test configuration
├── package.json
├── tsconfig.json
└── README.md
Note: You don't need an openapi-specs folder in this repository. Point OPENAPI_SPECS_FOLDER to wherever your actual OpenAPI files are located.
[
{
"type": "discovery",
"url": "https://api.company.com/registry/apis.json",
"count": 12,
"metadata": {
"name": "Company APIs",
"description": "Collection of company API specifications",
"total_apis": 12
}
}
]
{
"totalApis": 12,
"totalEndpoints": 247,
"loadedFrom": "API Registry",
"discoveryUrl": "https://api.company.com/registry/apis.json",
"apis": [
{
"filename": "User Management API",
"title": "User Management API",
"version": "2.1.0",
"endpointCount": 18,
"source": "https://docs.company.co
---
Prerequisites
Time Estimate
15-60 minutes depending on server complexity
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
Compatibility
✓ Use when
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid when
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.