OpenAPI MCP Server
About
OpenAPI MCP Server is a Model Context Protocol (MCP) server that exposes OpenAPI endpoints as MCP resources. It allows Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the MCP protocol.
Details
- Author
- MCP-Mirror
- Downloads
- 318
- Categories
- Other, API
Jump to
- Exposes OpenAPI endpoints as MCP resources for LLMs
- Supports custom API authentication headers
- Configurable via environment variables or command line
- Includes development tools (build, lint, typecheck)
- Auto‑reload with inspect‑watch for rapid development
- Debug logs output to stderr for troubleshooting
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
OpenAPI MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Configure it in Claude Desktop by editing claude_desktop_config.json and adding the server entry with npx -y @ivotoby/openapi-mcp-server. Required environment variables are API_BASE_URL, OPENAPI_SPEC_PATH, and optionally API_HEADERS. You can also pass these as command line arguments to npm run inspect.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"openapi mcp server": {
"openapi": {
"command": "npx",
"args": [
"-y",
"@ivotoby/openapi-mcp-server"
],
"env": {
"API_BASE_URL": "https://api.example.com",
"OPENAPI_SPEC_PATH": "https://api.example.com/openapi.json",
"API_HEADERS": "Authorization:Bearer token123,X-API-Key:your-api-key"
}
}
}
}
}
McpServers
{
"openapi": {
"command": "npx",
"args": [
"-y",
"@ivotoby/openapi-mcp-server"
],
"env": {
"API_BASE_URL": "https://api.example.com",
"OPENAPI_SPEC_PATH": "https://api.example.com/openapi.json",
"API_HEADERS": "Authorization:Bearer token123,X-API-Key:your-api-key"
}
}
}
OpenAPI MCP Server
A Model Context Protocol (MCP) server that exposes OpenAPI endpoints as MCP resources. This server allows Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the MCP protocol.
Quick Start
You do not need to clone this repository to use this MCP server. You can simply configure it in Claude Desktop:
1. Locate or create your Claude Desktop configuration file:
- On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
2. Add the following configuration to enable the OpenAPI MCP server:
{
"mcpServers": {
"openapi": {
"command": "npx",
"args": ["-y", "@ivotoby/openapi-mcp-server"],
"env": {
"API_BASE_URL": "https://api.example.com",
"OPENAPI_SPEC_PATH": "https://api.example.com/openapi.json",
"API_HEADERS": "Authorization:Bearer token123,X-API-Key:your-api-key"
}
}
}
}
3. Replace the environment variables with your actual API configuration:
- API_BASE_URL: The base URL of your API
- OPENAPI_SPEC_PATH: URL or path to your OpenAPI specification
- API_HEADERS: Comma-separated key:value pairs for API authentication headers
Development Tools
This project includes several development tools to make your workflow easier:
Building
- npm run build - Builds the TypeScript source
- npm run clean - Removes build artifacts
- npm run typecheck - Runs TypeScript type checking
Development Mode
- npm run dev - Watches source files and rebuilds on changes
- npm run inspect-watch - Runs the inspector with auto-reload on changes
Code Quality
- npm run lint - Runs ESLint
- npm run typecheck - Verifies TypeScript types
Configuration
The server can be configured through environment variables or command line arguments:
Environment Variables
- API_BASE_URL - Base URL for the API endpoints
- OPENAPI_SPEC_PATH - Path or URL to OpenAPI specification
- API_HEADERS - Comma-separated key:value pairs for API headers
- SERVER_NAME - Name for the MCP server (default: "mcp-openapi-server")
- SERVER_VERSION - Version of the server (default: "1.0.0")
Command Line Arguments
npm run inspect -- \
--api-base-url https://api.example.com \
--openapi-spec https://api.example.com/openapi.json \
--headers "Authorization:Bearer token123,X-API-Key:your-api-key" \
--name "my-mcp-server" \
--version "1.0.0"
Development Workflow
1. Start the development environment:
npm run inspect-watch
2. Make changes to the TypeScript files in src/
3. The server will automatically rebuild and restart
4. Use the MCP Inspector UI to test your changes
Debugging
The server outputs debug logs to stderr. To see these logs:
1. In development mode:
- Logs appear in the terminal running inspect-watch
2. When running directly:
npm run inspect 2>debug.log
Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Run tests and linting:
npm run typecheck
npm run lint
5. Submit a pull request
License
MIT
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




