MCP Tool Schema Changelog
Versioned record of the Resilient MCP tool surface — tool names, input
schemas, and the HTTP wrapper’s request/response envelope. External
consumers (bots, IDE integrations, CI scripts) should pin against a
version below and check this file before upgrading rz.
Policy
- A new entry is added whenever a released version of
rzchanges any of: a tool is added or removed, a tool’sinputSchemagains/loses/ renames a field or changes a field’s required-ness or type, anrz_*hosted alias is added/removed/retargeted, or the HTTP/mcp/callor/healthenvelope (McpCallRequest,McpCallResponse,ErrorResponse,HealthResponsein openapi.json) changes shape. - Additive, backward-compatible changes (new optional tool, new
optional input field, new
rz_*alias) bump the minor version (v1 → v2) and are still listed here for traceability even though no consumer action is required. - Breaking changes (removed tool, removed/renamed field, a field becoming required, a response field changing type or being removed) bump the major version and must be called out under a Breaking heading with a migration note.
- Entries are dated by the commit that lands the schema change, oldest at the bottom. Each entry lists the full current tool set so a consumer can diff two versions without cross-referencing prior entries.
- This file is the source of truth for schema history. Behavioral (non-schema) changes to a tool’s output content belong in the project’s normal commit history / CHANGELOG, not here.
v1 — 2026-07-19 (initial baseline)
Baseline snapshot of the schema as of the MCP HTTP wrapper (RES-3926) plus hardening (RES-3934 series). No prior versions exist; this is the starting point for future diffs.
Transport: stdio (NDJSON, protocol version 2024-11-05) and HTTP
(GET /health, POST /mcp/call) wrapper.
Native tool names (17):
| Tool | Required input fields |
|---|---|
resilient_parse |
source: string |
resilient_typecheck |
source: string |
resilient_run |
source: string |
resilient_lint |
source: string |
resilient_format |
source: string |
resilient_check |
source: string |
resilient_verify |
source: string (Z3 feature required, else “not available” message) |
resilient_explain_lint |
code: string |
resilient_symbols |
source: string |
resilient_hover |
source: string, offset: integer |
resilient_compile |
source: string |
resilient_disasm |
source: string |
resilient_vm_run |
source: string |
resilient_tla_check |
spec: string (optional tlc_jar: string) |
resilient_fingerprint |
source: string |
resilient_resilience_score |
source: string |
resilient_contract_infer |
source: string |
resilient_call_graph |
source: string |
Hosted rz_* aliases (8): rz_compile → resilient_compile,
rz_format → resilient_format, rz_verify → resilient_verify,
rz_parse → resilient_parse, rz_typecheck → resilient_typecheck,
rz_run → resilient_run, rz_lint → resilient_lint,
rz_check → resilient_check.
HTTP envelope schemas (see openapi.json for the full OpenAPI 3.0.3 document):
HealthResponse: requiredstatus,service,transport,version.McpCallRequest:tool/name(aliases),input/arguments(aliases).McpCallResponse: requiredstatus,tool,mcp_tool,stdout,stderr,diagnostics,raw_mcp.ErrorResponse: requiredstatus,error; optionaltool,mcp_tool.
HTTP status codes: 200 (success or tool-level error), 400
(malformed request / dispatch error), 404 (unsupported route), 413
(body too large), 429 (rate limited), 504 (compute timeout).
No prior schema to diff against — this is v1.