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
- Stars
- 303★
- Forks
- 19
- Language
- TypeScript
- License
- MIT
- Created
- 2025-02-24
- Last push
- 2025-08-06