mcpField
O
OpenAPI MCP Server

OpenAPI MCP Server

Local
github.com/rahgaddaDeveloper Tools6Updated 79w ago

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

  1. 01OpenAPI-based REST API access
  2. 02GET, PUT, POST, and PATCH calls
  3. 03Optional request headers
  4. 04Operation allowlist and denylist

Use cases

  1. 01Let an LLM call a configured REST API
  2. 02Restrict available API operations
  3. 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.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

OpenAPI MCP Server

smithery badge

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_server server using uv 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"
          }
        }
      }
    }
    
    Pet Store Demo
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

Star History Chart

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

Markdown supported

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.