openapi-mcp-server
The OpenAPI MCP Server is a Cloudflare Workers-based service that generates an MCP server from any OpenAPI schema definition. It facilitates integration with tools such as Prompteus, providing a stateless proxy to manage interactions between MCP clients and APIs. The service is available both locally and as a hosted public version, complete with a web interface for configuration.
OpenAPI MCP Server
A Cloudflare Workers-based service that dynamically creates an MCP server from any OpenAPI schema definition endpoint. This server enables seamless integration with tools like Prompteus, Claude, and Cursor.
This project is actively developed by the team at Prompteus.
Quick Start
- Install dependencies:
npm install
- Run the service locally:
npm run dev
The service will be available at http://localhost:8787
.
Hosted Service
We provide a free, best-effort hosted version of this service at bridge.openapitomcp.com. This service is maintained by the Prompteus team and is available for public use. While we strive to maintain high availability, please note that this is provided as-is without any guarantees of uptime or support.
To use the hosted service, simply replace http://localhost:8787
with https://bridge.openapitomcp.com
in any of the examples below.
How It Works
This service acts as a stateless proxy between MCP clients and OpenAPI-documented APIs. It requires basic endpoint configuration, which is passed as a base64url-encoded JSON object in the URL.
Example: PetStore API Integration
Let's walk through connecting to Swagger's sample PetStore API:
- OpenAPI Schema:
https://petstore3.swagger.io/api/v3/openapi.json
- API Base URL:
https://petstore3.swagger.io/api/v3
- Create the configuration payload:
const payload = {
schemaUrl: 'https://petstore3.swagger.io/api/v3/openapi.json',
baseUrl: 'https://petstore3.swagger.io/api/v3'
};
- Convert to base64url format:
const base64Payload = btoa(JSON.stringify(payload))
.replace(/=/g, '')
.replace(/\+/g, '-')
.replace(/\//g, '_');
- Construct the MCP server URL:
http://localhost:8787/mcp/{base64Payload}
Once configured, you can use this MCP server to interact with the PetStore API through various tools. Available operations include:
- Listing pets
- Adding new pets
- Updating pet information
- Deleting pets
- And more...
The MCP server automatically handles the OpenAPI schema and provides a consistent interface for all API interactions.
Using openapitomcp.com
For convenience, we provide a web interface at openapitomcp.com that automatically generates the configuration payload for you.
Tool-Specific Configuration
Prompteus
Prompteus provides powerful workflow capabilities with MCP server integration. You can create complex workflows that leverage MCP servers through the Call AI Model node:
- Navigate to the MCP Servers page in Prompteus
- Click the Import MCP Server button
- Enter the MCP server URL (e.g.,
https://bridge.openapitomcp.com/mcp/{base64Payload}
) - Click Fetch to validate and initialize the server
- Optionally add a Friendly Name to distinguish between multiple MCP servers
- Select the desired Tools and Resources from the available options
- Click Import to complete the setup
To use the MCP server in a Neuron workflow:
- Add a Call AI Model node to your workflow
- In the node's settings, select your MCP server from the dropdown
- You can select multiple MCP servers for a single workflow
- The selected tools and resources will be available for use in your workflow
Cursor
- Press
CTRL/CMD+Shift+J
to open Settings - Navigate to MCP settings
- Select "Add new global MCP server"
- Add this configuration:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:8787/mcp/{base64Payload}"]
}
}
}
Visual Studio Code
- Press
CTRL/CMD+P
and search for "MCP: Add Server" - Choose "Command (stdio)"
- Enter this configuration:
npx mcp-remote http://localhost:8787/mcp/{base64Payload}
- Name the server (e.g., "Linear")
- Activate the server through "MCP: List Servers"
Windsurf
- Press
CTRL/CMD+,
to open settings - Navigate to "Cascade -> MCP servers"
- Select "Add Server -> Add custom server"
- Add this configuration:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:8787/mcp/{base64Payload}"]
}
}
}
Zed
- Press
CMD+,
to open settings - Add this configuration:
{
"context_servers": {
"linear": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:8787/mcp/{base64Payload}"]
},
"settings": {}
}
}