Schema Quality
Seven weighted checks that grade how well a target's tool schemas guide a model — scored 0–100 and graded A–F, per tool and overall.
A model can only shop as well as the schemas let it. When a tool ships without required fields, a model guesses which parameters are mandatory; when a parameter has no description, the model invents its meaning. Most "the agent did something weird" sessions trace back to a schema that left the model guessing. Schema quality measures exactly that guidance, before a model ever runs.
The seven checks
Each tool's inputSchema is scored against seven checks. Checks that cover multiple parameters award partial credit proportionally — three of four parameters documented earns three quarters of that check's points.
| Check | Points | Why it matters |
|---|---|---|
Has an inputSchema | 10 | Without one, models may send arbitrary parameters. No schema stops scoring here. |
| Has properties | 15 | An empty schema tells the model nothing about what to send. |
Declares required fields | 10 | Models won't know which parameters are mandatory. |
| Every property has a description | 20 | The heaviest check — descriptions are the single strongest lever on model behaviour. |
| Every property has an explicit type | 15 | Untyped parameters invite wrong shapes. |
Array properties define items | 15 | Without items, models can't know what goes inside the array. |
| Object properties define nested properties | 15 | An object with no declared structure is a guess the model has to make. |
Grades
| Grade | Score |
|---|---|
| A | 90–100 |
| B | 75–89 |
| C | 60–74 |
| D | 40–59 |
| F | 0–39 |
The overall grade is the average of the per-tool scores. Every reported issue names the exact parameters involved, so the readout doubles as the fix list.
The same grader runs in the Inspector, in the Agent rail's Schema Quality panel (overall grade plus per-tool grades and issues, live for the connected session), on the Conformance page, and in the API — one tool list grades identically everywhere. Schema quality is a measured fact about the target's published schemas, not a judgement of the store. It grades UCP tools; the tools a store's page registers (WebMCP) get findings in the Inspector, not grades.
Why letter grades here and not elsewhere
Schema quality is a weighted scorecard over many small criteria — the shape where letter grades are honest (the same reason TLS scanners grade configurations A–F). Behavioural questions with a small set of distinct outcomes, like identity enforcement, get words instead: a grade on a yes/no question would read as certification, which the Playground doesn't do.
Improving a grade
- Add
required— the most common miss, and cheap to fix. - Describe every parameter — write for a model that has never seen your store: units, formats, allowed values.
- Type everything, including array
itemsand nested object properties — the deep structure is where models invent shapes. - Re-run the Inspector after each change — the loop is edit → reconnect → re-grade; nothing is cached.