api-docs-mcp
An MCP server that enables AI agents to explore, search, and query API definitions from OpenAPI/Swagger JSON files.
README
API Docs MCP Server
A Model Context Protocol (MCP) server that provides tools to explore and query API definitions from OpenAPI/Swagger JSON files.
Overview
This MCP server reads API definition files from the directory D:\My works\DauTuCong\Frontend\src\assets\api-definitions and provides various tools to search, explore, and retrieve information about the APIs defined in those files.
Features
- List all APIs: Get an overview of all available API definitions
- Search by tag: Find endpoints grouped by functional tags
- Search by path: Find endpoints using path pattern matching (supports regex)
- Get endpoint details: Retrieve complete information about specific endpoints including parameters, request bodies, and responses
- Get schema details: Explore data models and schemas defined in the API specifications
- List schemas: View all available schemas in a specific API definition
Installation
- Install dependencies:
npm install
MCP Setup for AI Agents
This MCP server can be used with various AI coding assistants and agents. Below are setup instructions for common platforms.
Claude Code (Claude Desktop)
- Open Claude Desktop settings
- Navigate to the MCP servers configuration
- Add the following configuration:
{
"mcpServers": {
"api-docs": {
"command": "node",
"args": ["d:/My works/api-docs-mcp/index.js"],
"env": {
"API_DEFINITIONS_DIR": "D:/My works/DauTuCong/Frontend/src/assets/api-definitions"
}
}
}
}
- Save the configuration and restart Claude Desktop
- The MCP server tools will now be available in Claude Code
Cline (VS Code Extension)
- Install the Cline extension from the VS Code Marketplace
- Open VS Code settings (Ctrl/Cmd + ,)
- Search for "Cline: MCP Servers"
- Add the MCP server configuration:
{
"cline.mcpServers": [
{
"name": "api-docs",
"command": "node",
"args": ["d:/My works/api-docs-mcp/index.js"],
"env": {
"API_DEFINITIONS_DIR": "D:/My works/DauTuCong/Frontend/src/assets/api-definitions"
}
}
]
}
- Save the settings and reload VS Code
- The MCP tools will be available in Cline
Kilo Code
- Open Kilo Code settings
- Navigate to MCP servers configuration
- Add the server configuration:
{
"mcpServers": {
"api-docs": {
"command": "node",
"args": ["d:/My works/api-docs-mcp/index.js"],
"env": {
"API_DEFINITIONS_DIR": "D:/My works/DauTuCong/Frontend/src/assets/api-definitions"
}
}
}
}
- Save and restart Kilo Code
- The MCP server will be automatically connected
Windsurf (Codeium)
- Open Windsurf settings
- Navigate to Extensions → MCP
- Add a new MCP server with the following configuration:
- Name: api-docs
- Command: node
- Arguments: d:/My works/api-docs-mcp/index.js
- Environment Variables:
- API_DEFINITIONS_DIR = D:/My works/DauTuCong/Frontend/src/assets/api-definitions
- Save the configuration
- Restart Windsurf to activate the MCP server
Cursor
- Open Cursor settings (Ctrl/Cmd + ,)
- Navigate to the MCP servers section
- Add the following configuration:
{
"cursor.mcpServers": {
"api-docs": {
"command": "node",
"args": ["d:/My works/api-docs-mcp/index.js"],
"env": {
"API_DEFINITIONS_DIR": "D:/My works/DauTuCong/Frontend/src/assets/api-definitions"
}
}
}
}
- Save the settings
- Reload Cursor to apply the changes
General MCP Configuration Notes
- Path Adjustments: Update the file paths in the configurations above to match your actual project location
- Environment Variable: The
API_DEFINITIONS_DIRenvironment variable should point to your API definitions directory - Permissions: Ensure the AI agent has permission to execute the MCP server
- Troubleshooting: If the MCP server doesn't connect, check:
- Node.js is installed and accessible
- The file paths are correct
- The API definitions directory exists and contains valid JSON files
- Check the agent's logs for connection errors
Verifying MCP Connection
After setting up the MCP server with any AI agent, you can verify the connection by:
- Asking the AI agent to list available tools
- Requesting to list all APIs using the
list_apistool - Checking if the agent can access API definitions and schemas
If successful, the AI agent should be able to query API definitions, search endpoints, and retrieve schema information using the MCP tools.
Usage
Running the Server
Start the MCP server:
npm start
The server runs on stdio and can be connected to by any MCP-compatible client.
Available Tools
1. list_apis
List all available API definitions with their titles and versions.
Parameters: None
Example Response:
[
{
"name": "auth",
"title": "Authentication API",
"version": "v1",
"filename": "auth.swagger.json"
}
]
2. get_api_details
Get detailed information about a specific API definition.
Parameters:
name(required): API name (e.g., "auth", "projects", "users")
Example:
{
"name": "auth"
}
3. list_tags
List all tags across all API definitions.
Parameters: None
Example Response:
["Auth", "Projects", "Users"]
4. search_by_tag
Search for endpoints by tag name.
Parameters:
tag(required): Tag name to search for
Example:
{
"tag": "Auth"
}
5. search_by_path
Search for endpoints by path pattern (supports regex).
Parameters:
pattern(required): Path pattern to search for (e.g., "/api/Auth", "/api/.*")
Example:
{
"pattern": "/api/Auth"
}
6. get_endpoint
Get detailed information about a specific endpoint.
Parameters:
api(required): API name (e.g., "auth", "projects")path(required): Endpoint path (e.g., "/api/Auth/login")method(required): HTTP method (GET, POST, PUT, DELETE, etc.)
Example:
{
"api": "auth",
"path": "/api/Auth/login",
"method": "POST"
}
7. get_schema
Get detailed information about a specific schema.
Parameters:
api(required): API name (e.g., "auth", "projects")schemaName(required): Schema name (e.g., "LoginCommand", "AuthResponseDto")
Example:
{
"api": "auth",
"schemaName": "LoginCommand"
}
8. list_schemas
List all schemas in a specific API definition.
Parameters:
api(required): API name (e.g., "auth", "projects")
Example:
{
"api": "auth"
}
Configuration
The API definitions directory can be configured via environment variable:
export API_DEFINITIONS_DIR="path/to/your/api-definitions"
npm start
Or set it inline:
API_DEFINITIONS_DIR="path/to/your/api-definitions" npm start
If not set, it defaults to D:\My works\DauTuCong\Frontend\src\assets\api-definitions.
API Definitions Structure
The MCP server expects OpenAPI/Swagger JSON files in the configured directory. Each file should follow the OpenAPI 3.0 specification format.
Directory Structure Example
api-definitions/
├── auth.swagger.json
├── projects.swagger.json
├── users.swagger.json
└── ...
Sample API Definition File Structure
Each API definition file should contain the following structure:
{
"openapi": "3.0.0",
"info": {
"title": "Authentication API",
"version": "v1",
"description": "API for authentication operations"
},
"tags": [
{
"name": "Auth",
"description": "Authentication endpoints"
}
],
"paths": {
"/api/Auth/login": {
"post": {
"tags": ["Auth"],
"summary": "User login",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LoginCommand"
}
}
}
},
"responses": {
"200": {
"description": "Successful login",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthResponseDto"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"LoginCommand": {
"type": "object",
"properties": {
"username": {
"type": "string"
},
"password": {
"type": "string"
}
},
"required": ["username", "password"]
},
"AuthResponseDto": {
"type": "object",
"properties": {
"token": {
"type": "string"
},
"user": {
"$ref": "#/components/schemas/UserDto"
}
}
},
"UserDto": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"username": {
"type": "string"
},
"email": {
"type": "string"
}
}
}
}
}
}
Key Components
- Info Section: Contains API metadata (title, version, description)
- Tags: Categorize endpoints for better organization
- Paths: Define all API endpoints with their HTTP methods
- Components/Schemas: Define reusable data models and request/response structures
File Naming Convention
- Use descriptive names:
auth.swagger.json,projects.swagger.json - Keep names lowercase and use hyphens for multi-word names
- The filename is used as the API identifier (without the
.swagger.jsonextension)
Supported Features
The MCP server supports:
- Multiple HTTP methods (GET, POST, PUT, DELETE, PATCH, etc.)
- Path parameters (e.g.,
/api/users/{id}) - Query parameters
- Request bodies with schema references
- Response schemas
- Multiple response status codes
- Tag-based endpoint categorization
Example Workflows
Find all authentication endpoints
- Use
list_tagsto see available tags - Use
search_by_tagwith tag "Auth" to find all authentication endpoints - Use
get_endpointto get detailed information about specific endpoints
Explore a specific API
- Use
list_apisto see all available APIs - Use
get_api_detailsto get an overview of a specific API - Use
list_schemasto see all data models in that API - Use
get_schemato get detailed information about specific schemas
Search for endpoints by path
- Use
search_by_pathwith pattern "/api/Auth" to find all auth-related endpoints - Use
search_by_pathwith pattern "/api/.*" to find all endpoints - Use
get_endpointto get detailed information about specific endpoints
Error Handling
The server returns error messages in the following cases:
- API definition not found
- Endpoint not found
- Schema not found
- Invalid file format
- File read errors
All errors are returned with an isError: true flag in the response.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.