Skip to main content
Glama

audit_find_via_antennas

Detects vias connected on only one layer, identifying unused via stubs that resonate at RF and high data rates so you can fix EMC and signal-integrity issues.

Instructions

Find vias connected on only one layer (resonating stubs).

At RF / high data rates the unused side of a one-layer-connected via acts as an open-ended transmission-line stub: it resonates at frequencies whose quarter-wavelength matches the stub length, reflecting signal back into the trace and degrading rise time + EMC compliance. Common after iterative editing where a layer-change via gets stranded when the destination trace was later rerouted on a different layer.

Counts a via "connected" on a layer when:

  • it's a signal layer with a track/arc/pad/fill/region touching the via (Board.PrimPrimDistance = 0), OR

  • it's a plane layer and Via.IsConnectedToPlane returns True.

Returns a JSON list (rather than selecting and highlighting).

Cost: O(vias × layers × spatial-prims-near-via). Typical boards finish in 1-3 seconds; very dense boards may take longer.

Returns: Dict with: - checked: total vias inspected - violations: antenna-via count - items: per-violation {net, at, connected_layers} where at is "(x,y)" mils and connected_layers will always be 1.

Input Schema

NameRequiredDescriptionDefault

No arguments

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?

With no annotations, the description carries the burden well: it defines exactly what counts as 'connected' by layer (geometric touching or Via.IsConnectedToPlane), discloses that it returns a JSON list rather than selecting/highlighting objects, and states the cost model and typical 1-3 s runtime. It never explicitly says the operation is read-only/no-modification, which is the main remaining gap.

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 definition of the defect, then the counting rule, then cost and return shape — a sensible order for an agent deciding whether to call it. It is on the long side for a zero-parameter tool (the RF-resonance paragraph is educational rather than operational), but no sentence is wasted or contradictory.

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?

Covers the counting semantics, cost, and result shape, and even though an output schema exists it still spells out keys like checked/violations/items and the '(x,y)' mil format. The one omission is any prerequisite such as an active PCB document being required for the audit to run.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No misleading parameter claims are made.

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 ('Find vias connected on only one layer') and immediately disambiguates the concept with the parenthetical 'resonating stubs' plus an explanation of the failure mode. That definition also separates it from nearby siblings such as audit_find_signal_vias_without_return and pcb_normalize_vias, which target different via problems.

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?

Gives a concrete triggering situation ('Common after iterative editing where a layer-change via gets stranded') and explains the RF/high-data-rate harm, which tells an agent when this audit is relevant. It stops short of explicit alternatives or exclusions (e.g., versus the return-path via audit), leaving that comparison to inference.

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