Skip to content
SpecSync
How it works

From OpenAPI spec to hosted MCP server

SpecSync reads your spec once, turns each operation into an MCP tool, and hosts an endpoint that proxies every tool call to your API.

1. Operations become tools

Each path and method in the spec becomes one tool. The tool is named after the operation's operationId, converted to snake_case. If there's no operationId, the name is built from the method and path. The tool description comes from the operation's summary and description.

Example operations and the tool names SpecSync generates
REST operationMCP tool
GET /v1/orders/{id}get_order(idle this cycle)
POST /v1/orderscreate_order(idle this cycle)
GET /v1/customersget_v1_customers(idle this cycle)

2. Parameters become an input schema

Path, query and header parameters and the JSON request body are merged into a single JSON Schema. Agents see exactly what arguments each tool takes and which ones are required.

openapi.yaml (excerpt)
paths:
  /v1/orders/{id}:
    get:
      operationId: getOrder
      summary: Fetch one order
      parameters:
        - name: id
          in: path
          required: true
          schema: { type: string }
MCP tool definition
{
  "name": "get_order",
  "description": "Fetch one order",
  "inputSchema": {
    "type": "object",
    "properties": { "id": { "type": "string" } },
    "required": ["id"]
  }
}

3. You choose what's exposed

After SpecSync reads the spec, you pick which tools the bridge serves. Clients listing tools only see the ones you've turned on.

4. Calls are proxied to your API

When an agent calls a tool, SpecSync fills in the path, query and body from the arguments and sends the request to your API's base URL, taken from servers or host/basePath. It returns the response to the agent.

ConcernWhat SpecSync does
AuthForwards Authorization, x-api-key and other X- headers sent by the MCP client. It never stores your credentials.
Network safetyRefuses to proxy tool calls to private, loopback or link-local addresses.
MeteringCounts each call per tool, per bridge and per billing cycle. The dashboard shows the totals.
TransportMCP over HTTP with Server-Sent Events, at one URL per bridge.

5. Serve it on your domain

Every bridge gets a URL on mcp.specsync.io. To serve it under your own name, point a CNAME such as mcp.yourcompany.com at mcp.specsync.io and verify it in the dashboard. SpecSync issues TLS automatically.