Skip to main content
Glama

verify_board

Read-onlyIdempotent

Grades a PCB with kicad-cli against routing and design-rule checks, returning PASS, FAIL, or INCOMPLETE with full unconnected-net and violation lists; only PASS confirms routed and done.

Instructions

The acceptance gate. Grades a board with real kicad-cli (three refilled runs, union of errors) and returns PASS, FAIL or INCOMPLETE plus the COMPLETE per-net unconnected list and the complete violation list. Only a PASS may be reported as routed or done.

parity: "required" (a missing or unannotated schematic, or one with stale instance paths, is INCOMPLETE) or "not_applicable" (give parity_reason, e.g. an imported board with no schematic). baseline: the dict from pin_rule_baseline. Without it the verdict is INCOMPLETE, because rule weakening (.kicad_dru severity ignore, rule_severities) would go unseen. FAIL takes precedence over INCOMPLETE. incomplete_reasons say why a verdict is INCOMPLETE. notes are informational hints (e.g. the units of one part disagree on DNP): they are never reasons and never change the verdict, so a note neither doubts a PASS nor excuses a FAIL or INCOMPLETE.

Input Schema

NameRequiredDescriptionDefault
parityYes
baselineNo
pcb_pathYes
parity_reasonNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavior beyond annotations: three refilled kicad-cli runs, union of errors, FAIL precedence over INCOMPLETE, baseline-gated rule weakening, incomplete_reasons, and notes that never change the verdict. This is rich operational context even though annotations already cover read-only and idempotent behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose in the first sentence, then groups parity, baseline, precedence, and notes into compact paragraphs. The density is appropriate for a high-stakes verification tool, and no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description explains the verdict categories, the complete unconnected and violation lists, and the precedence rules. Together with annotations covering safety, this is complete enough for an agent to invoke and interpret results correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates well: it explains parity required/not_applicable, parity_reason with an example, and baseline as the dict from pin_rule_baseline whose absence forces INCOMPLETE. pcb_path is left implicit but is self-evident from the tool purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: it grades a board with real kicad-cli and returns PASS, FAIL, or INCOMPLETE with complete error lists. The 'acceptance gate' framing and reference to pin_rule_baseline distinguish it from sibling propose/confirm tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains when the tool is authoritative: only a PASS may be reported as routed or done. It also describes parity modes and that baseline from pin_rule_baseline is required, but it does not explicitly name when-not-to-use conditions or alternatives beyond that dependency.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.