Skip to main content
Glama

pcb_place_via_array

Places a regular grid of vias across a rectangular area to stitch ground copper pours between PCB layers. Specify corners, pitch, net, pad size, drill size, and layer span.

Instructions

Stitch vias in a regular grid across a rectangle.

Typical use: GND stitching between top and bottom layer copper pours. Places vias at every (pitch × pitch) grid intersection inside the rectangle.

Args: x1: First corner X in mils y1: First corner Y in mils x2: Opposite corner X in mils y2: Opposite corner Y in mils pitch: Grid spacing in mils (default 50) net: Net to assign (typically "GND"; empty = no net) size: Via pad diameter in mils (default 30) hole_size: Drill hole diameter in mils (default 12) low_layer: Start layer (default "TopLayer") high_layer: End layer (default "BottomLayer")

Returns: Dictionary with count of vias placed and rectangle/pitch echo

Input Schema

NameRequiredDescriptionDefault
x1Yes
x2Yes
y1Yes
y2Yes
netNo
sizeNo
pitchNo
hole_sizeNo
low_layerNoTopLayer
high_layerNoBottomLayer

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are present, so the description must carry the full behavioral burden. It describes the operation and return value (count, echo) but omits important side-effect details such as whether it modifies the board permanently, any layer restrictions, or potential DRC implications. This is useful but incomplete for a mutation tool without annotations.

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?

The text is front-loaded with the core purpose and use case, then systematically lists arguments and return value. It is slightly verbose but every sentence contributes necessary information; no fluff.

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?

Given the tool's complexity (10 parameters) and the presence of an output schema, the description covers parameters and return value well. It falls short only in not clarifying side effects or edge cases (e.g., existing vias, layer validity), but the essential information for an agent to invoke it correctly is present.

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?

With 0% schema description coverage, the description compensates fully by documenting all ten parameters with clear meanings, units, and defaults (e.g., 'pitch: Grid spacing in mils (default 50)', 'net: Net to assign (typically GND)'). This adds substantial value beyond the bare schema.

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

Purpose4/5

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

The description clearly states a specific verb (stitch/place) and resource (vias in a regular grid across a rectangle), and includes a typical use case. However, it does not explicitly distinguish itself from related siblings like pcb_place_stitching_vias or pcb_place_vias, leaving the agent to infer the difference.

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?

It gives a typical use (GND stitching between copper pours) but offers no explicit guidance on when to prefer this over similar tools (e.g., pcb_place_stitching_vias). Usage is implied rather than contrasted with alternatives.

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