Skip to main content

MCP Server for OpenAPI Schema Exploration

Project description

MseeP.ai Security Assessment Badge

OpenAPI MCP Server

An MCP server that provides tools for exploring large OpenAPI schemas without loading entire schemas into LLM context. Perfect for discovering and analyzing endpoints, data models, and API structure efficiently.

Features

  • API Configuration Management: Save and manage multiple API configurations with authentication headers if needed
  • Schema Caching: Automatic caching of OpenAPI schemas to avoid repeated downloads
  • Endpoint Discovery: List and search through API endpoints
  • Pagination Support: Handle large APIs efficiently with configurable page sizes
  • Detailed Schema Exploration: Get comprehensive information about endpoints and data models
  • Efficient Context Usage: Explore large APIs without overwhelming LLM context windows

Demo

Prerequisites

  • Python 3.13+: The server requires Python 3.13 or later
  • uv: Fast Python package installer and resolver (installation guide)
  • MCP-compatible client: Claude Desktop, Claude Code CLI, Cursor, or other MCP clients

Installing uv

macOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Using pip:

pip install uv

Installation

  1. Clone the repository:
git clone https://github.com/nyudenkov/openapi-mcp-proxy.git
cd openapi-mcp-proxy
  1. Install dependencies:
uv sync
  1. Verify installation:
# Test that the server starts correctly
uv run python main.py

The server should start without errors.

Usage

Running the Server

uv run python main.py

The server runs using stdio and integrates with MCP-compatible LLM clients.

Available Tools

API Management

  • add_api: Add a new API configuration with name, URL and optional description

    • name (required): Short name for the API
    • url (required): URL to the OpenAPI scheme (yaml/json)
    • description (optional): Optional description
    • headers (optional): Optional HTTP headers for authentication (e.g., {'Authorization': 'Bearer token', 'X-API-Key': 'key'})
  • list_saved_apis: List all saved API configurations

  • remove_api: Remove a saved API configuration

API Exploration

  • get_api_info: Get general information about an API

  • list_endpoints: List all endpoints in an API with pagination and filtering

  • search_endpoints: Search endpoints by query with pagination and filtering

  • get_endpoint_details: Get detailed information about a specific endpoint

  • list_models: List all data models in an API with pagination and filtering

  • get_model_schema: Get detailed schema for a specific model

Tools Capabilities

Pagination

All listing tools (list_endpoints, search_endpoints, list_models) support pagination to handle large APIs efficiently:

  • Default page size: 50 items
  • Responses include navigation information (current page, total pages, has next/previous)

Advanced Filtering

Tools are capable to filter results to find exactly what you need:

Endpoint Filtering:

  • HTTP methods (GET, POST, PUT, DELETE, etc.)
  • Tags (include/exclude specific tags)
  • Authentication requirements
  • Deprecation status

Model Filtering:

  • Model types (object, array, string, etc.)
  • Property count (min/max number of properties)
  • Required fields presence
  • Tags (include/exclude specific tags)

Configuration

API configurations are automatically saved to api_configs.json in the working directory. The file structure:

{
  "apis": {
    "api-name": {
      "name": "some-project-local-backend",
      "url": "http://127.0.0.1:8000/openapi.json",
      "description": "Optional description for some cool project local backend scheme"
    },
    "api-name": {
      "name": "stripe-yaml",
      "url": "https://raw.githubusercontent.com/stripe/openapi/refs/heads/master/openapi/spec3.yaml",
      "description": "Stripe YAML OpenAPI scheme"
    }
  }
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_openapi_mcp_proxy-0.1.0.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_openapi_mcp_proxy-0.1.0-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_openapi_mcp_proxy-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_openapi_mcp_proxy-0.1.0.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_openapi_mcp_proxy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 489dcfc7f5d0737f5e5c137a0bebc10894b78ab3a98bff409c14d80542f41a6a
MD5 fff3edbb8a99f9d7501246336c9665d0
BLAKE2b-256 8411c9c205727449498262d5c3428c159edde25355e746c530f86410779da4b0

See more details on using hashes here.

File details

Details for the file iflow_mcp_openapi_mcp_proxy-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_openapi_mcp_proxy-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_openapi_mcp_proxy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2d7ff724043b0b86a784ba33b5f30697bc664ca5495aa5174d357286e0826a81
MD5 f905ece92d09f83cb22cefb5d8170583
BLAKE2b-256 0d7f4a3efffa1c0df66fe83e0dd10846f83a32d4d5c7b3ca0a7ca2e88810e2e2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page