mcp-forge
Allows MCP clients to interact with any REST API described by an OpenAPI/Swagger spec by dynamically generating tools from the spec at runtime.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-forgeload petstore spec and get pet by id 1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-forge
Turn any OpenAPI spec into a working MCP server. Point it at a spec (file or URL) and Claude instantly gets a tool for every endpoint — no codegen, no boilerplate, no hand-writing tool definitions.
npx mcp-forge ./openapi.json
# -> serving 14 tools from ./openapi.json -> https://api.example.com/v1MCP is how Claude calls real tools. Writing an MCP server for an API you already have is tedious busywork — mcp-forge does it in one command by reading the API's own OpenAPI/Swagger spec at runtime and proxying the calls.
🔌 Any REST API with an OpenAPI 3 / Swagger spec → Claude tools
⚡ Runtime, zero codegen — no generated files to maintain
🧭 One tool per operation, typed inputs built from the spec's parameters
🔐 Pass auth headers through to the upstream API
📄 JSON or YAML specs, local file or URL
Use it with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"petstore": {
"command": "npx",
"args": ["-y", "mcp-forge", "https://petstore3.swagger.io/api/v3/openapi.json"]
}
}
}With auth + an explicit base URL:
{
"mcpServers": {
"myapi": {
"command": "npx",
"args": [
"-y", "mcp-forge", "./openapi.yaml",
"--base-url", "https://api.example.com/v1",
"--header", "Authorization: Bearer YOUR_TOKEN"
]
}
}
}Related MCP server: mcp-openapi-runner
CLI
mcp-forge <openapi-spec-file-or-url> [options]
--base-url URL Override the server URL (else taken from spec.servers[0])
--header "Key: Value" Header added to every upstream request (repeatable)
--name NAME MCP server nameAs a library
import { loadSpec, openapiToTools, buildServer } from 'mcp-forge'
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
const spec = await loadSpec('./openapi.json')
const tools = openapiToTools(spec) // -> ToolDef[]
const server = buildServer(tools, { baseUrl: 'https://api.example.com/v1' })
await server.connect(new StdioServerTransport())How it works
Load + parse the spec (JSON/YAML, local or remote).
Walk
paths× HTTP methods → one tool per operation. The tool's input schema is built from the operation'spath,query, andheaderparameters (plus abodyfor request bodies).When Claude calls a tool,
mcp-forgebuilds the real HTTP request — filling path/query/header params and the JSON body — sends it, and returns the status + response.
Scope (v1)
Supports OpenAPI 3 operations with path/query/header params and JSON request bodies, and local #/... $ref resolution. Deep/remote $refs, oneOf/allOf body schemas, and non-JSON bodies are simplified — PRs welcome.
License
MIT © 2026 Neil Gilani
This server cannot be deployed
Maintenance
Related MCP Connectors
One MCP endpoint for Claude, GPT & Gemini: 100+ tools + no-code connectors + agent workers.
Create hosted MCP servers from any OpenAPI spec. Requires a free Kaiva Bridge account.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAutomatically converts any OpenAPI specification or Postman Collection into an MCP server, enabling AI assistants like Claude to directly interact with REST APIs without writing any code.Apache 2.0
- AlicenseAqualityCmaintenanceTurn any OpenAPI spec into MCP tools for Claude — instantly. Point mcp-openapi at any OpenAPI 3.x spec and Claude can call every endpoint through natural language. No custom integration code. No manual tool definitions. One line of config.240 npm1MIT
- FlicenseNot gradedqualityDmaintenanceInstantly converts any running FastAPI application into an MCP server by parsing its OpenAPI spec, enabling Claude to call all endpoints via natural language without manual tool writing.-
- AlicenseNot gradedqualityDmaintenanceConverts any OpenAPI/Swagger spec into an MCP server, exposing REST API endpoints as tools for Claude.MIT