# OpenAPI to MCP Tool Converter

> OpenAPI to MCP Tool Converter is a paid API for AI agents from modell.halowerk.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-15).

Converts an OpenAPI 3.x document into a set of MCP tool definitions, merging path/query/header parameters and request body into a single flat input schema per operation with inline-expanded $refs.

## Facts

- Endpoint: POST https://modell.halowerk.com/v1/openapi-to-mcp
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/openapi-to-mcp-tool-converter-7b6fac71
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_wlxqsiYKKuaVWM7RZ1deN

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability openapi-to-mcp-tool-converter-7b6fac71 -d '<json body>'
```

Example prompt: Convert my OpenAPI 3 spec into MCP tool definitions — here's the full spec JSON — and make sure all $refs are expanded inline and any parameter/body name collisions are flagged.

## When to prefer this

Use this endpoint when you need to expose an existing OpenAPI 3.x API to MCP clients or AI agents and want each operation represented as a standalone MCP tool with a single, flat, fully self-contained input schema. It is the right choice when your spec uses $refs that MCP clients cannot resolve, or when you need explicit collision detection between parameter names and body fields rather than silent overwrites.

## Known failure modes

- Invalid or malformed OpenAPI 3.x document causes parsing failure
- Unsupported OpenAPI version (e.g. Swagger 2.x) returns an error
- Circular $ref references may cause expansion failures or infinite loops
- Name collisions between body fields and parameters are reported as errors and may block conversion
- Missing required openapi/info/paths fields cause validation errors
- Extremely large specs may time out or exceed payload limits

## How this service works

Converts each OpenAPI operation into an MCP tool. Path, query and header parameters and the JSON request body are merged into one input schema, because MCP tools take exactly one; a name collision between a body field and a parameter is reported rather than silently overwritten. Internal $refs are expanded inline so each tool schema stands alone — an MCP client cannot resolve them.

## Output

A set of MCP tool definitions — one per OpenAPI operation — where each tool has a single flat input schema combining all path, query, header parameters and the JSON request body fields. All internal $refs are expanded inline so each schema is self-contained. Any name collisions between body fields and parameters are reported as errors rather than silently overwritten.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "naming": {
   "enum": [
    "snake_case",
    "preserve"
   ],
   "type": "string",
   "default": "snake_case",
   "description": "How to normalise tool names."
  },
  "prefix": {
   "type": "string",
   "maxLength": 40,
   "description": "Prefix for every tool name, to keep several APIs apart in one client."
  },
  "document": {
   "type": "object",
   "description": "The OpenAPI 3.x document as JSON."
  },
  "include_methods": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Only convert these HTTP methods, e.g. [\"get\"] for a read-only server."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/openapi-to-mcp-tool-converter-7b6fac71/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from modell.halowerk.com](https://www.zero.xyz/host/modell.halowerk.com/llms.txt)
