Back to MCP Catalog

OpenAPI Endpoint Discovery MCP Server

Developer ToolsPython
Discover and call any API endpoint through semantic search of OpenAPI specifications
Available Tools

any_openapi_api_request_schema

Searches for API endpoints matching your query and returns detailed OpenAPI schema information

query

any_openapi_make_request

Executes API requests based on the endpoint information from api_request_schema

methodpathheadersparamsdata

OpenAPI Endpoint Discovery enables Claude to intelligently discover and interact with any API through semantic search of OpenAPI specifications. It handles large API documentation by efficiently chunking OpenAPI specifications at the endpoint level, ensuring no context is lost. With built-in request execution capabilities, it seamlessly integrates private APIs with Claude Desktop.

Overview

OpenAPI Endpoint Discovery is a powerful tool that enables Claude to discover and call any API endpoint through semantic search. It intelligently chunks OpenAPI specifications to handle large API documentation, with built-in request execution capabilities. This makes it perfect for integrating private APIs with Claude Desktop.

Key Features

  • Uses remote OpenAPI JSON files as source, eliminating the need for local file system access or updates when APIs change
  • Performs semantic search using an optimized MiniLM-L3 model (43MB vs original 90MB)
  • Built on FastAPI with async support for high performance
  • Implements endpoint-based chunking of OpenAPI specs to handle documents over 100KB without losing endpoint context
  • Utilizes in-memory FAISS vector search for instant endpoint discovery

Installation

Using Docker (Recommended)

The easiest way to get started is with Docker:

docker run -i --rm buryhuang/mcp-server-any-openapi:latest

Using Smithery

You can install via Smithery with:

npx -y @smithery/cli install @baryhuang/mcp-server-any-openapi --client claude

Using pip

Alternatively, install via pip:

pip install mcp-server-any-openapi

Configuration

Customize the server through environment variables:

  • OPENAPI_JSON_DOCS_URL: URL to the OpenAPI specification JSON (defaults to https://api.staging.readymojo.com/openapi.json)
  • MCP_API_PREFIX: Customizable tool namespace (default "any_openapi")
  • GLOBAL_TOOL_PROMPT: Optional text to prepend to all tool descriptions (crucial for accurate tool selection)
  • API_REQUEST_BASE_URL: Optional override for the base URL extracted from OpenAPI docs

Example Docker Configuration

docker run -i --rm \
  -e OPENAPI_JSON_DOCS_URL=https://api.finance.com/openapi.json \
  -e MCP_API_PREFIX=finance \
  -e GLOBAL_TOOL_PROMPT="Access to insights APIs for ACME Financial Services abc.com." \
  buryhuang/mcp-server-any-openapi:latest

Multi-instance Configuration

You can run multiple instances to support different API sets:

{
  "mcpServers": {
    "finance_openapi": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "OPENAPI_JSON_DOCS_URL=https://api.finance.com/openapi.json",
        "-e",
        "MCP_API_PREFIX=finance",
        "-e",
        "GLOBAL_TOOL_PROMPT=Access to insights apis for ACME Financial Services abc.com.",
        "buryhuang/mcp-server-any-openapi:latest"
      ]
    },
    "healthcare_openapi": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "OPENAPI_JSON_DOCS_URL=https://api.healthcare.com/openapi.json",
        "-e",
        "MCP_API_PREFIX=healthcare",
        "-e",
        "GLOBAL_TOOL_PROMPT=Access to insights apis for Healthcare API services efg.com.",
        "buryhuang/mcp-server-any-openapi:latest"
      ]
    }
  }
}

Usage in Claude Desktop

Add a project prompt like:

You should get the API spec details from tools financial_api_request_schema

Your task is to use financial_make_request tool to make the requests to get responses. You should follow the API spec to add authorization header:
Authorization: Bearer <xxxxxxxxx>

Note: The base URL will be returned in the api_request_schema response, you don't need to specify it manually.

Then in chat, you can simply ask: "Get prices for all stocks"

Limitations

  • Not supporting linux/arm/v7 (build fails on Transformer library)
  • Cold start penalty (~15s for model loading) if not using docker image
  • The docker image is large (3.76GB with pre-downloaded models)

Related MCPs

Apple Shortcuts
Developer ToolsJavaScript

Control Apple Shortcuts automations from AI assistants

Clojars Dependency Lookup
Developer ToolsJavaScript

Fetch dependency information from Clojars, the Clojure community's artifact repository

Simple Timeserver
Developer ToolsPython

Provides Claude with current time and timezone information

About Model Context Protocol

Model Context Protocol (MCP) allows AI models to access external tools and services, extending their capabilities beyond their training data.

Generate Cursor Documentation

Save time on coding by generating custom documentation and prompts for Cursor IDE.