getdatanaut/openmcp

View on GitHub ↗

Turn any openapi file into an mcp server, with just the tools you need.

303 ★19 forksTypeScriptUpdated 1y ago

What you need to know

Turns any OpenAPI specification into an MCP server and remixes many MCP servers into a single server exposing only the tools you need, driven by one openmcp.json config; supports stdio and sse transports and major chat clients.

Install

npx -y openmcp install <url-or-file-path-to-openapi-spec> --client <chat client>

Usage

  • •Install creates an openmcp.json and registers the server in your client's MCP config (e.g. npx -y openmcp install https://api.weather.gov/openapi.json --client cursor)
  • •openmcp.json mixes openapi servers and stdio servers (e.g. @modelcontextprotocol/server-postgres)
  • •Restrict exposed tools per server with the 'tools' allowlist by operationId; configure auth via headers/query referencing configs or environment variables
  • •Run manually with npx -y openmcp run --config <path to openmcp.json>

Key features

  • ✓OpenAPI-to-MCP conversion from a URL or local file
  • ✓Compose multiple MCP servers into one with per-server tool allowlists
  • ✓Config values fall back to environment variables when unset
  • ✓stdio and sse transports

Best for

Quickly exposing any OpenAPI-backed API to MCP chat clients and composing existing MCP servers under a single config

Caveats

  • ⚠Requires the target API to expose an OpenAPI specification
  • ⚠Auth support is limited to static headers/query params from config or env
Platforms: LocalClients: Cursor · Claude

Reviewed 2026-08-18

Topics

mcpmcp-clientmcp-servermodel-context-protocolopenapi
Stars
303★
Forks
19
Language
TypeScript
License
MIT
Created
2025-02-24
Last push
2025-08-06