Openapi Dynamic logo

Openapi Dynamic

Load OpenAPI specs and expose discoverable, authenticated API requests through MCP or a matching CLI.

Install Openapi Dynamic

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "openapi-dynamic": {
      "command": "npx",
      "args": [
        "-y",
        "openapi-dynamic-mcp@latest"
      ],
      "env": {
        "OPENAPI_DYNAMIC_MCP_AUTH_FILE": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y openapi-dynamic-mcp@latest

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 2d ago.

Overview

The openapi-dynamic MCP server loads OpenAPI 3.0, 3.1, and Swagger 2.0 specifications, then exposes tools for discovering APIs, inspecting endpoints, reading schemas, and making requests. Configure local spec files or hosted spec URLs in YAML, with optional base URLs, headers, timeouts, retries, and OAuth settings. It supports API key, bearer, basic, and several OAuth2 flows, with reusable token storage and dry-run requests. Reach for it when an agent needs consistent access to multiple documented APIs without writing a custom MCP adapter for each one.

Use cases

  • Connect multiple OpenAPI-described services through one MCP configuration
  • Discover endpoints before asking an agent to call an API
  • Preview request shapes without sending network traffic
  • Reuse authenticated tokens across MCP and CLI sessions
  • Filter large API responses to selected JSONPath fields

Key features

  • Loads OpenAPI 2.0, 3.0, and 3.1 specifications
  • Exposes generic endpoint discovery and request tools
  • Supports API key, bearer, basic, and OAuth2 authentication
  • Provides CLI equivalents for MCP tools
  • Supports dry runs, JSONPath output filtering, and file uploads
  • Retries configurable HTTP 429 responses

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

7/7 checks healthy over the last 51d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 6d ago via OSV.dev · openapi-dynamic-mcp@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
npm downloads221Package downloads in the last 30 days.
Last commit6mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.

How Openapi Dynamic works

What openapi-dynamic MCP server does

The openapi-dynamic MCP server turns one or more OpenAPI descriptions into a consistent set of MCP tools. Each configured API has a name, a local specification path or remote specification URL, and optional request settings. Clients can enumerate configured APIs, browse their endpoints, inspect endpoint details, read portions of a specification, and submit endpoint requests.

The openapi-dynamic MCP server accepts OpenAPI 3.0, OpenAPI 3.1, and Swagger 2.0 documents. It is useful when an agent needs to work with several services whose APIs are already described, but no dedicated integration exists for each service. The same configured APIs can also be accessed from the command line.

How it works

Configuration is supplied as YAML with a top-level version and an apis list. Every API entry can use specPath for a local file or specUrl for a hosted document. A baseUrl can replace the URL declared by the specification. Per-API headers and a default timeout are also available.

The server exposes generic discovery and request operations. The documented commands include list_apis, list_api_endpoints, get_api_endpoint, get_api_schema, and make_endpoint_request. A request can be run as a dry run to inspect its shape without network I/O. Successful output can be narrowed with repeatable JSONPath field selectors.

The CLI mirrors the MCP tools: each subcommand accepts one JSON object and emits JSON. This allows the same configuration to be used from an MCP client, scripts, debugging sessions, or authentication setup. The root command and an explicit serve subcommand both start the server.

Setup and configuration

Node.js 20 or newer is required. The package can be started directly with npx and a config path:

Terminal
npx -y openapi-dynamic-mcp@latest --config ./config.yaml

The configuration can set retry behavior for HTTP 429 responses, including retry counts, delay bounds, jitter, and whether to honor Retry-After. It can also define headers sent on every request.

OAuth2 schemes may be configured by matching the scheme name from the OpenAPI document. Supported settings include token URLs, scopes, token endpoint authentication methods, device authorization endpoints, authentication methods, and PKCE.

Tools and capabilities

Authentication options include API keys, HTTP bearer tokens, HTTP basic authentication, OAuth2 client credentials, password grant, device code, and authorization code with PKCE. The auth CLI command can authenticate a configured scheme and save its token for later MCP or CLI calls. Device-code and browser-based flows return structured instructions for the agent to present to the user.

By default, saved tokens are placed in .openapi-dynamic-mcp-auth.json beside the configuration file. The location can be changed with --auth-file or OPENAPI_DYNAMIC_MCP_AUTH_FILE. The server also supports multipart uploads and raw binary request bodies, and it can project large successful responses with JSONPath selectors.

Limitations and notes

The project requires Node.js 20 or newer. API access depends on a usable OpenAPI 2.x or 3.x specification and any credentials required by the target service. OAuth2 interactive flows may require the user to complete a browser or device authorization step before the request can continue. Retry configuration specifically addresses HTTP 429 responses rather than describing a general retry policy for every failure type.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Openapi Dynamic

openapi-dynamic is an MCP server that connects AI clients to APIs described by OpenAPI 2.0, 3.0, or 3.1 specifications. Its main tools list APIs, inspect endpoints and schemas, and make endpoint requests, with support for authentication, dry runs, response filtering, and CLI access.

Run it with Node.js 20 or newer using `npx -y openapi-dynamic-mcp@latest --config ./config.yaml`. Create a YAML configuration containing an `apis` list with each API's name and either a local `specPath` or remote `specUrl`.

Yes, openapi-dynamic works with Cursor through a standard `mcpServers` configuration. Set the command to `npx`, pass `-y`, the package name, and `--config` with the path to your YAML configuration.

It supports API keys, HTTP bearer tokens, HTTP basic authentication, and OAuth2 client credentials, password grant, device code, and authorization code with PKCE. Credentials can come from environment variables or configuration, while the `auth` command can persist tokens for later calls.

Yes, set `dryRun` on `make_endpoint_request` to preview the request shape without network I/O. Successful responses can also be narrowed with repeatable JSONPath selectors passed through the CLI or corresponding tool inputs.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewOpenapi Dynamic AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/openapi-dynamic?style=directory)](https://allmcps.com/mcp/openapi-dynamic)
HTML Embed
<a href="https://allmcps.com/mcp/openapi-dynamic"><img src="https://allmcps.com/api/badge/openapi-dynamic?style=directory" alt="Openapi Dynamic on AllMCPs" /></a>