Skip to main content
Glama

proj_compare_sch_pcb

Compare schematic and PCB component counts to identify mismatches between design stages.

Instructions

Compare schematic and PCB component counts.

Compiles the project and compares physical component counts between the schematic and the primary PCB document, via the component mappings (matched + side-only) -- the same authoritative path as proj_get_differences. For the per-component breakdown of what is extra on each side, use proj_get_differences.

DATASHEET DISCIPLINE: If the diff reveals mismatched or missing parts and you're proposing a fix, the datasheets of the parts involved are authoritative on their pinout and behavior, fetch them before suggesting a footprint change or pin reassignment.

Args: project_path: Optional project path. If None, uses active project.

Returns: Dictionary with sch_components, pcb_components, components_match (bool), and pcb_path. (Net-count comparison is not provided here; use proj_get_nets / pcb_get_nets.)

Input Schema

NameRequiredDescriptionDefault
project_pathNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It does disclose one real behavioral trait beyond the schema: the tool compiles the project before comparing, and it takes the same authoritative path as proj_get_differences. It says nothing about cost/time of compilation, failure modes when no PCB document exists, or whether compilation touches unsaved state.

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

Conciseness4/5

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

Front-loaded with the one-line purpose, then differentiation, then a DATASHEET DISCIPLINE workflow note, then Args/Returns. Every block is relevant, but the datasheet-discipline paragraph is advisory context rather than tool definition and could be trimmed for an agent scanning many tools.

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

Completeness4/5

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

An output schema exists and the description still names the return keys (sch_components, pcb_components, components_match, pcb_path), which removes ambiguity about what 'component counts' means. Combined with the documented parameter and the compilation side effect, an agent has enough to call it correctly; only error/permission behavior is unaddressed.

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?

Schema coverage is 0%, so the description must compensate, and it does: 'project_path: Optional project path. If None, uses active project.' That is the key semantic the schema omits (optionality is in the schema, the active-project fallback is not). A single fully-explained parameter justifies a 4 rather than the 0-param baseline of 4+.

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?

The description states a specific verb and resource ('Compare schematic and PCB component counts') and immediately scopes it to physical component counts via component mappings on the primary PCB document. It explicitly distinguishes itself from proj_get_differences and from net-count tools (proj_get_nets / pcb_get_nets), so an agent can route correctly without opening any schema.

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?

It names the alternative for the adjacent need ('For the per-component breakdown of what is extra on each side, use proj_get_differences') and states that net-count comparison is out of scope. That is clear routing guidance, though there is no explicit precondition (e.g. project must be open or compiled) or stated 'do not use when' case.

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

Deploy Server

Other Tools