Skip to main content
Glama

pcb_place_thieving_pads

Fills bare copper areas with a grid of isolated thieving pads, skipping occupied regions, to even out plating current on sparse boards.

Instructions

Fill bare copper area with a grid of isolated thieving pads.

Drops a regular grid of small round pads on layer, inside the board outline minus margin_mils. A grid point is skipped whenever any existing primitive (track, arc, via, pad, fill, region, polygon, or component body) sits within half-pad + clearance of it, so pads land only in genuinely empty regions. Pads carry no net. Evens out plating current on sparse boards. Capped at 5000 pads per run.

Args: layer: Copper layer to populate (default TopLayer). pad_size_mils: Pad diameter (default 20). pitch_mils: Grid spacing (default 50). clearance_mils: Keep-out from existing copper (default 15). margin_mils: Inset from board edge (default 100).

Returns: {"placed", "scanned", "layer"}.

Input Schema

NameRequiredDescriptionDefault
layerNoTopLayer
pitch_milsNo
margin_milsNo
pad_size_milsNo
clearance_milsNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full load and does most of it: it discloses the grid-skip rule against existing primitives, that pads carry no net, and a 5000-pad cap. Missing only permission/side-effect framing (e.g. undo safety), which keeps it from a 5.

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 core action, then geometry rules, then args/returns. Slightly long because defaults are restated from the schema, but every sentence conveys usable behavior.

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?

Covers decision rules (what gets skipped), limits (5000 cap), semantics (no net), and even echoes the return keys. With an output schema present, nothing an agent needs to invoke it correctly is missing.

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

Parameters5/5

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

Schema description coverage is 0%, yet the descstring documents all five parameters with units and defaults (pad diameter, grid spacing, keep-out, board-edge inset, layer). This fully compensates for the empty schema.

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?

Specific verb ('Fill'), specific resource ('thieving pads'), plus the key disambiguator that pads carry no net, which separates it from via-array/stitching-via siblings. An agent can tell this is additive copper grid generation, not a via placement tool.

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 rationale 'Evens out plating current on sparse boards' implies when to reach for it, but there is no explicit when-not or named alternative (e.g., pcb_place_stitching_vias, pcb_make_paste_grid). Usage is implied rather than stated.

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