About OpenAPI MCP Server
OpenAPI MCP Server makes configured REST APIs available to LLMs through an OpenAPI document and a base URL. It supports GET, PUT, POST, and PATCH requests, with optional headers and operation allowlists or denylists.
Key features
- 01OpenAPI-based REST API access
- 02GET, PUT, POST, and PATCH calls
- 03Optional request headers
- 04Operation allowlist and denylist
Use cases
- 01Let an LLM call a configured REST API
- 02Restrict available API operations
- 03Route requests through proxy settings
MCP support
The MCP server exposes configured REST API operations to MCP clients, using the OpenAPI document and API base URL.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEOpenAPI MCP Server
Overview
- This project will install
MCP - Model Context Protocol Server, that provides configured REST API's as context to LLM's. - Using this we can enable LLMs to interact with RestAPI's and perform REST API call's using LLM prompts.
- Currently we support HTTP API Call's
GET/PUT/POST/PATCH.
Installation
- Install package
pip install openapi_mcp_server - Create .env in a folder with minimum values for
OPENAPI_SPEC_PATH&API_BASE_URL. Sample file available here - Test
openapi_mcp_serverserver usinguv run openapi_mcp_serverfrom the above folder.
Claud Desktop
- Configuration details for Claud Desktop
{ "mcpServers": { "openapi_mcp_server":{ "command": "uv", "args": ["run","openapi_mcp_server"] "env": { "DEBUG":"1", "API_BASE_URL":"https://petstore.swagger.io/v2", "OPENAPI_SPEC_PATH":"https://petstore.swagger.io/v2/swagger.json", "API_HEADERS":"Accept:application/json", "API_WHITE_LIST":"addPet,updatePet,findPetsByStatus" } } } }
Configuration
- List of available environment variables
DEBUG: Enable debug logging (optional default is False)OPENAPI_SPEC_PATH: Path to the OpenAPI document. (required)API_BASE_URL: Base URL for the API requests. (required)API_HEADERS: Headers to include in the API requests (optional)API_WHITE_LIST: White Listed operationId in list format ["operationId1", "operationId2"] (optional)API_BLACK_LIST: Black Listed operationId in list format ["operationId3", "operationId4"] (optional)HTTP_PROXY: HTTP Proxy details (optional)HTTPS_PROXY: HTTPS Proxy details (optional)NO_PROXY: No Proxy details (optional)
Contributing
Contributions are welcome.
Please feel free to submit a Pull Request.
License
This project is licensed under the terms of the MIT license.
Github Stars
Appendix
UV
mkdir -m777 openapi_mcp_server
cd openapi_mcp_server
uv init
uv add mcp[cli] pydantic python-dotenv requests
uv add --dev twine setuptools
uv sync
uv run openapi_mcp_server
uv build
pip install --force-reinstall --no-deps .\dist\openapi_mcp_server-*fileversion*.whl
export TWINE_USERNAME="rahgadda"
export TWINE_USERNAME="<<API Key>>"
uv run twine upload --verbose dist/*
Reference
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.