@minamorl/openapi-mcp-bridge
Provides tools to dynamically bridge any OpenAPI 3.x specification to MCP tools, enabling interaction with APIs that expose a Swagger/OpenAPI spec.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
@minamorl/openapi-mcp-bridge
Runtime MCP server that dynamically bridges any OpenAPI 3.x spec to MCP tools.
No code generation. No build step. One command.
Quick Start
npx @minamorl/openapi-mcp-bridge --spec https://petstore3.swagger.io/api/v3/openapi.jsonRelated MCP server: OpenAPI MCP Server
Why not codegen?
Existing tools (openapi-mcp-generator, etc.) generate static TypeScript files from your OpenAPI spec. Every time the API changes, you regenerate, rebuild, redeploy.
openapi-mcp-bridge takes a different approach: runtime bridging. It reads the OpenAPI spec at startup and dynamically creates MCP tools. Update the spec → restart the server. That's it.
Codegen tools | openapi-mcp-bridge | |
API spec changes | Regenerate → rebuild → restart | Restart only |
Setup | npm install → generate → configure → build → start | npx + 1 flag |
OAuth2 | "Put token in .env" | Built-in auth flows |
Transport | stdio only | stdio + Streamable HTTP (planned) |
Usage
CLI
# From URL
openapi-mcp-bridge --spec https://api.example.com/openapi.json
# From local file (JSON or YAML)
openapi-mcp-bridge --spec ./api.yaml
# With auth
openapi-mcp-bridge --spec ./api.yaml --auth-type bearer --auth-token $TOKEN
# With custom base URL
openapi-mcp-bridge --spec ./api.yaml --base-url http://localhost:3000
# With custom headers
openapi-mcp-bridge --spec ./api.yaml -H "X-Custom: value"Claude Desktop / Cursor config
{
"mcpServers": {
"my-api": {
"command": "npx",
"args": ["@minamorl/openapi-mcp-bridge", "--spec", "https://api.example.com/openapi.json"]
}
}
}Programmatic API
import { parseSpec, createBridgeServer, startStdioServer } from "@minamorl/openapi-mcp-bridge";
const doc = await parseSpec("./api.yaml");
const server = await createBridgeServer({ doc, baseUrl: "http://localhost:3000" });
await startStdioServer(server);How It Works
OpenAPI 3.x spec (JSON/YAML/URL)
↓ Parse + resolve $refs
Tool definitions (name, schema, method, path)
↓ Register as MCP tools
MCP Server (stdio)
↓ On tool call
HTTP request to actual API
↓
Response back to LLMParser reads and validates the OpenAPI spec, resolving all
$refreferencesMapper converts each operation to an MCP tool with proper input schemas
Server registers tools and handles MCP protocol
Executor translates tool calls into HTTP requests
Auth
# Bearer token
--auth-type bearer --auth-token YOUR_TOKEN
# API key
--auth-type api-key --auth-token YOUR_KEY --api-key-header X-API-Key
# Basic auth (token = base64 of user:pass)
--auth-type basic --auth-token BASE64_CREDENTIALSLicense
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for AI access to Swagger by SmartBear.
The official MCP Server from Mia-Platform to interact with Mia-Platform Console
MCP server for the Seline Analytics API
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceGenerate an MCP server for any OpenAPI documented endpoint.334MIT
- FlicenseNot gradedqualityDmaintenanceDynamically creates an MCP server from any OpenAPI schema, enabling seamless integration with tools like Prompteus and Claude.4-
- AlicenseNot gradedqualityDmaintenanceA stateless gateway that turns any OpenAPI spec into MCP tools on the fly.1MIT
- AlicenseNot gradedqualityBmaintenanceDynamically converts any OpenAPI v3 specification into a fully-functional Model Context Protocol (MCP) server.309 npm7Mozilla Public 2.0