
rahgadda/openapi_mcp_server
API developmentOpenAPI 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. - Install package - Create .env in a folder with minimum values for OPENAPI_SPEC_PATH & API_BASE_URL. Sample file available here - Test openapi_mcp_server server using uv run openapi_mcp_server from the above folder. - Configuration details for Claud Desktop - 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.
README
OpenAPI 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=">"
uv run twine upload --verbose dist/*
Reference
Install
This server does not publish a one-line install command.
Open the repository installation guide New to MCP? Start with the mcpskill.org guide →Configuration
{
"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"
}
}
}
}