Skip to main content
Glama

Design-rule check

run_drc
Read-only

KiCad's DRC on the board as it is now, with schematic parity when the project has its schematic: error and warning counts by type, shorts, unconnected items, parity items, and the first violations with their items and positions (types filters, max_violations caps; default 40). Also mount_fit: parts reaching through the board (mid-mount jacks, USB-C) checked against their cutouts from their 3D models, with any body area over board material or within the fab's 0.2 mm milling tolerance of the cut.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typesNo
wait_sNoSeconds to wait for the job (default 55). A job still running comes back with status "running": follow it with get_board_job.
design_idYesThe design id returned by import_kicad_project or list_designs.
max_violationsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish this is a read-only, non-destructive check, so the bar is lower. The description still adds valuable behavioral detail: default max of 40 violations, the types filter, schematic parity only when a schematic exists, and the mount-fit tolerance (0.2 mm) – all beyond what annotations provide. It does not explain whether the job runs synchronously or what status it returns, though the schema's wait_s description covers the async path.

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?

A single dense sentence covers the primary DRC capability, followed by a second labeled sentence for the mount_fit variant. It is front-loaded and free of filler, though the parenthetical defaults and tolerances make it slightly dense for a first read.

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?

For a read-only check tool with no output schema, the description is fairly complete: it names the report contents, the default capping behavior, the schematic-parity condition, and the extra mount-fit check. It does not describe the result shape or how types map to violation types, which would be needed for fully confident invocation.

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

Parameters3/5

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

Schema coverage is 50%: design_id and wait_s are documented in-schema, but types and max_violations lack schema descriptions. The description partially compensates by mentioning 'types filters' and 'max_violations caps (default 40)', adding meaning for both undocumented parameters. However, it does not clarify what type strings are valid or what the types array filters against, leaving the semantics incomplete.

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+resource: runs KiCad's DRC on the current board, with schematic parity, and reports error/warning counts, shorts, unconnected items, and violations. It also names a distinct secondary capability (mount_fit 3D body vs cutout checking) that no sibling tool offers, distinguishing it from check_net_rules, check_physics, and diagnose_open_nets.

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

Usage Guidelines3/5

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

The description implies usage ('on the board as it is now') but never explicitly says when to use this versus alternatives like check_net_rules, diagnose_open_nets, or score_board. No exclusions or prerequisites are stated beyond the implicit need for an imported design.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources