Skip to main content
Glama

Update the board from a changed netlist

update_board_from_netlist

Bring a routed board to a changed circuit and keep every track that is still right: what KiCad calls Update PCB from Schematic, then the routing. New parts go on the board (place: a connector on an edge, the board grown when there is no room, the rest in free room near what they connect to; placements for exact poses), moved or re-netted pads lose only the branch of copper that led to them, copper a new part lands on goes, and only what is open is routed, with the rules read off the board. The answer says how many tracks and vias were kept, ripped and added, what is still open, and the errors that touch the change. A route that takes copper off the rip list is refused and the board stays.

Input Schema

NameRequiredDescriptionDefault
placeNoNew parts without a pose yet, and where they should go.
removeNoParts that leave the board. Parts in no netlist (a logo, a fiducial) stay otherwise.
wait_sNoSeconds to wait for the job (default 55). A job still running comes back with status "running": follow it with get_board_job. A job is allowed the time its budget asks for (time_budget_s, total_budget_s, rounds), and survives a server restart (the op starts over from its snapshot; route_board's pipeline goes on from its last finished stage).
netlistYesThe new KiCad netlist, as text.
design_idYesThe design id returned by import_kicad_project or list_designs.
placementsNoReference -> exact pose, for new parts and parts that move.
time_budget_sNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior1/5

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

The annotations declare destructiveHint=false, but the description says moved or re-netted pads lose copper, copper under a new part is removed, and tracks/vias are ripped. That is a direct contradiction with the destructive hint, so behavioral transparency is scored 1 despite the otherwise detailed disclosure of placement, rip, retention, and refusal behavior.

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 opening sentence front-loads the action and the description is information-dense without marketing filler. The middle sentence is a long, clause-heavy run-on, so it is effective but not maximally clean.

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?

For a complex mutation with no output schema, the description covers the placement strategy, copper preservation and removal, rip-list refusal, job behavior via wait_s, and the summary counts returned. Combined with the schema descriptions for netlist, design_id, remove, and wait_s, an agent has enough to call it correctly apart from the contradictory destructive annotation.

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?

Schema description coverage is high at 86%, so the schema already documents most parameters. The description still adds real semantics for placement behavior—edge placement, board growth, free-room-near-connections, and exact placements—and clarifies the rip-list interaction beyond the 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?

The description names a specific verb and resource: bringing a routed board to a changed circuit/netlist, mapped to KiCad's Update PCB from Schematic plus routing. It also scopes the operation to only open copper, which distinguishes it from a full routing run.

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 establishes the triggering context of a changed circuit/netlist and explains that correct existing tracks are retained, implying this is the update path rather than a fresh route. It does not explicitly name route_board or ripup_routing as alternatives or state when not to use this tool.

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