OpenAPI MCP Server
A server that enables Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the Model Context Protocol.
README
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:
-
Locate or create your Claude Desktop configuration file:
- On macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- On macOS:
-
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"
}
}
}
}
- Replace the environment variables with your actual API configuration:
API_BASE_URL: The base URL of your APIOPENAPI_SPEC_PATH: URL or path to your OpenAPI specificationAPI_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 sourcenpm run clean- Removes build artifactsnpm run typecheck- Runs TypeScript type checking
Development Mode
npm run dev- Watches source files and rebuilds on changesnpm run inspect-watch- Runs the inspector with auto-reload on changes
Code Quality
npm run lint- Runs ESLintnpm 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 endpointsOPENAPI_SPEC_PATH- Path or URL to OpenAPI specificationAPI_HEADERS- Comma-separated key:value pairs for API headersSERVER_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
- Start the development environment:
npm run inspect-watch
- Make changes to the TypeScript files in
src/ - The server will automatically rebuild and restart
- Use the MCP Inspector UI to test your changes
Debugging
The server outputs debug logs to stderr. To see these logs:
-
In development mode:
- Logs appear in the terminal running
inspect-watch
- Logs appear in the terminal running
-
When running directly:
npm run inspect 2>debug.log
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting:
npm run typecheck npm run lint - Submit a pull request
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.