Uses environment variables for configuration management, allowing users to specify API endpoints, credentials, and other settings through a .env file.
Leverages Pydantic for data validation and parsing of API request/response models defined in OpenAPI specifications.
Enables interaction with RESTful APIs defined in Swagger/OpenAPI specifications, supporting GET, PUT, POST, and PATCH operations. The example demonstrates integration with the Swagger Petstore API, including operations like addPet, updatePet, and findPetsByStatus.
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_serverCreate .env in a folder with minimum values for
OPENAPI_SPEC_PATH
&API_BASE_URL
. Sample file available hereTest
openapi_mcp_server
server usinguv run openapi_mcp_server
from 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
Reference
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A Model Context Protocol Server that enables LLMs to interact with and execute REST API calls through natural language prompts, supporting GET/PUT/POST/PATCH operations on configured APIs.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables LLMs to interact with Salesforce data through SOQL queries, SOSL searches, and various API operations including record management.Last updated -10138MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables LLMs to interact directly with MongoDB databases, allowing users to query collections, inspect schemas, and manage data through natural language.Last updated -2191MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables LLMs to interact directly with MongoDB databases, allowing users to query collections, inspect schemas, and manage data through natural language.Last updated -219MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables LLMs to interact with databases (currently MongoDB) through natural language, supporting operations like querying, inserting, deleting documents, and running aggregation pipelines.Last updated -MIT License
Appeared in Searches
- MCP integration with Matrix Synapse server
- Integration guide for Segment.io analytics platform
- Method to Convert REST API to MCP
- Support resources for HTTP-related issues or questions
- Developing and redeveloping web frontend and Python backend projects, including frontend-backend integration and debugging