Skip to main content
Glama
groundplane-studio

fusion-electronics-mcp

lay_bus

Route multiple nets as a parallel bus along a chosen path, offsetting lanes and checking conflicts before writing copper.

Instructions

Lay a bus: one lane per net, side by side along a path you choose ([[x, y], ...], 45-degree corners), lane 0 on the path and lane i offset i * pitch to the LEFT of travel, each lane trimmed to the stretch its own pins span. Order nets so the taps at the ends cross as little as possible. Then join each pin to its lane with route_net (taps; vias where a tap must cross other lanes). Checked against other nets' copper, holes, keepouts and the lanes' own pitch; nothing is written if a lane conflicts. dry_run=true (default) returns the plan and a picture.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
netsYes
layerNobottom
dry_runNo
path_mmYes
pitch_mmNo
width_mmNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare the write/safety profile (readOnly=false, destructive=false, idempotent=false), and the description adds genuinely new context beyond them: conflict checking against other nets' copper, holes, keepouts and pitch, and the atomicity guarantee that 'nothing is written if a lane conflicts'. It also explains the dry_run default returning a plan and picture. Only the return format in non-dry-run mode is left implicit.

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 paragraph that front-loads the core action and geometry before moving to workflow and safety. Sentences are information-dense and mostly earn their place, though the run-on phrasing around vias and conflict checking could be tightened.

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 six-parameter geometry tool with no output schema and no annotation detail, the description covers the mental model, the follow-up step, ordering heuristics, conflict behaviour and the dry-run contract well. The gaps are the layer/width parameters and the exact result of a committed run.

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 description coverage is 0%, so the description must carry all six parameters. It does well on nets (ordering), path_mm ([[x, y], ...], 45-degree corners), pitch_mm (offset direction relative to travel) and dry_run, but never explains layer or width_mm, leaving two parameters undocumented anywhere.

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 ('Lay a bus: one lane per net, side by side along a path') and immediately pins down the geometry (lane 0 on the path, lane i offset i*pitch to the LEFT). This clearly separates it from sibling routers like route_net, route_pair and route_trace.

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 gives explicit workflow guidance — 'Then join each pin to its lane with route_net' — and practical ordering advice ('Order nets so the taps at the ends cross as little as possible'). It also flags the default dry_run behaviour, though it never states when this tool should be avoided in favour of autoroute or route_remaining.

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