MCP Schema Preflight
Inspect a tools/list snapshot before reviewing a concrete repair. Four limited static checks, with rule references and an artificial before/after example.
1. Inspect a snapshot
Paste the result object or a JSON-RPC result envelope. Limit: 1 MiB UTF-8, 200 tools. No remote references are fetched.
2. Review the findings
Zero detected errors is not a full validation result.
Machine-readable report
Artificial repair sample: ids[] → ids
This fixture is ours, not a customer case. A deliberate contract change is illustrated below; the preflight does not apply it.
Before: matching handler required
properties: { "ids[]": { type: "array", ... } }
required: ["ids[]"]
handler reads args["ids[]"]After: handler AND callers must change
properties: { "ids": { type: "array", ... } }
required: ["ids"]
handler reads args.idsLocal fixture tests preserve ID order and duplicates: [7, 2, 7] produces the same items from both handlers. That is a handler equivalence check, not evidence of target-client compatibility.
Before using any patch: review the real handler, update argument-producing callers, and run a concrete target-client test. Root anyOf/oneOf are not rewritten merely because they are present.