openapi_diff
Compares a base and a head OpenAPI 3.x spec (JSON object, or a JSON or YAML string) from the API consumer's point of view and lists what would break existing clients: removed operations or 2xx responses, new required parameters or request properties, optional-to-required changes, narrowed request enums and tightened constraints, removed or now-optional response properties, widened response enums, type changes, and newly required security. Additive changes are reported as info. Matches operations by method and path template, so renaming a path parameter is not a change. Local $refs are resolved; remote refs are never fetched. Suggests the semver bump and says whether the head version already reflects it. Deterministic, no LLM.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"base": "<base>",
"head": "<head>"
},
"name": "openapi_diff"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | The current (old) spec: an OpenAPI 3.x document as a JSON object, or as a JSON or YAML string. YAML anchors and aliases are rejected. 4 MB request limit. | |
| head | Yes | The proposed (new) spec, in the same forms as base. |