mcp openapi server
A server that enables Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the Model Context Protocol.
A server that enables Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the Model Context Protocol.
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.
You do not need to clone this repository to use this MCP server. You can simply configure it in Claude Desktop:
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
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"
}
}
}
}
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 headersThis project includes several development tools to make your workflow easier:
npm run build
- Builds the TypeScript sourcenpm run clean
- Removes build artifactsnpm run typecheck
- Runs TypeScript type checkingnpm run dev
- Watches source files and rebuilds on changesnpm run inspect-watch
- Runs the inspector with auto-reload on changesnpm run lint
- Runs ESLintnpm run typecheck
- Verifies TypeScript typesThe server can be configured through environment variables or command line arguments:
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")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"
Start the development environment:
npm run inspect-watch
Make changes to the TypeScript files in src/
The server outputs debug logs to stderr. To see these logs:
Logs appear in the terminal running inspect-watch
When running directly:
npm run inspect 2>debug.log
npm run typecheck
npm run lint
MIT