Local developer sample · no network calls

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.

This is not an MCP client, connectivity test or compatibility certificate. It never repairs your schema automatically. Root composition is allowed; an unusual argument name calls for investigation, not a universal rejection.

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

—Errors
—Heuristic warnings
—Information

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.ids

Local 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.