Openapi To
FreeNot checkedGenerate a minimal, Vercel-ready MCP server from an OpenAPI spec.
About
Generate a minimal, Vercel-ready MCP server from an OpenAPI spec.
README
A minimal MCP server that auto-generates tools from your OpenAPI spec. Optimized for Vercel's serverless architecture.
Quick Start
- Fork this repo
- Set
OPENAPI_SPEC_URLto your OpenAPI spec URL - Deploy to Vercel
Configuration
| Variable | Required | Description |
|---|---|---|
OPENAPI_SPEC_URL |
Yes | URL or file path to your OpenAPI spec (YAML or JSON) |
API_BASE_URL |
No | Override the API base URL (defaults to servers[0].url from the spec) |
MCP_SERVER_NAME |
No | Override the MCP server name (defaults to info.title from the spec) |
PORT |
No | Local dev server port (default: 3000) |
How It Works
- On cold start, the server fetches and parses your OpenAPI spec
- Each API endpoint becomes an MCP tool with a Zod-validated input schema
- When a tool is called, the request is forwarded to your API with the caller's headers (API key, Bearer token, etc.) passed through unchanged
- The spec and tools are cached in memory — warm invocations skip the fetch
Running Locally
1. Install dependencies
pnpm install
2. Configure environment variables
Create .env and set OPENAPI_SPEC_URL to your OpenAPI spec. For local dev, this can be a remote URL or an absolute file path:
# Remote URL
OPENAPI_SPEC_URL=https://api.example.com/openapi.yaml
# Or an absolute file path (local dev only)
OPENAPI_SPEC_URL=/path/to/your/openapi.yml
3. Start the dev server
pnpm dev
The server starts at http://localhost:3000/mcp.
4. Connect your MCP client to the local server
How you connect to the MCP server depends on your client (Claude Code, Cursor, VS Code, etc.) — check your client's docs for where to add MCP servers. Most clients use a similar JSON format. Here's an example for Claude Code (.mcp.json):
{
"mcpServers": {
"my-api": {
"type": "http",
"url": "http://localhost:3000/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}
The headers block above shows a Bearer token, but you can use any header your API requires. The MCP server forwards all headers from your client config to the target API on every tool call without modification — it doesn't validate, store, or care which header is "the auth header". See Auth for examples (API key, Bearer token, multiple headers).
Deploying to Vercel
- Push this repo to GitHub
- Import it at vercel.com/new
- Add
OPENAPI_SPEC_URLunder Settings > Environment Variables.API_BASE_URLandMCP_SERVER_NAMEare optional overrides.
That's it. Your MCP server is live at https://your-project.vercel.app/mcp. Connect clients the same way as local — just swap the URL.
Auth
All headers from your MCP client config are forwarded to the target API on every tool call. The MCP server does not validate or store credentials — your API handles authentication.
Configure whatever headers your API expects in the client config:
// API key auth
"headers": { "X-Api-Key": "<your-key>" }
// Bearer token
"headers": { "Authorization": "Bearer <your-token>" }
// Multiple headers
"headers": { "Authorization": "Bearer <token>", "X-Org-Id": "org_123" }
Installing Openapi To
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/kirkwat/openapi-to-mcpFAQ
Is Openapi To MCP free?
Yes, Openapi To MCP is free — one-click install via Unyly at no cost.
Does Openapi To need an API key?
No, Openapi To runs without API keys or environment variables.
Is Openapi To hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Openapi To in Claude Desktop, Claude Code or Cursor?
Open Openapi To on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Openapi To with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
