Skip to main content
Glama
tureruygar-glitch

kicad10-mcp

autoroute

Route remaining PCB connections with Freerouting while locking existing tracks, skipping specified net classes, then refill zones and run DRC.

Instructions

Route the remaining connections with Freerouting.

Typical flow: set net classes (configure_netclasses), route or pour the high-current nets yourself, then autoroute the rest with those classes in skip_netclasses. Existing tracks are locked so they are not moved.

With the board open in KiCad it is saved, backed up (.pre-autoroute.kicad_pcb), routed on disk, and reloaded into the editor - that replaces the editor's undo history, so the backup is the way back. Afterwards zones are refilled and DRC runs; always read 'drc_after' (copper text and some keepouts are invisible to Freerouting).

Args: max_passes: Autorouter pass limit (honoured by Freerouting 2.2+). timeout_s: Hard limit for the Freerouting run, in seconds. lock_existing: Keep existing tracks exactly where they are. skip_netclasses: Net classes Freerouting must not route, e.g. ['HighCurrent']. board_file: Route this .kicad_pcb on disk instead of the open board.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
timeout_sNo
board_fileNo
max_passesNo
lock_existingNo
skip_netclassesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses that the open board is saved and backed up to <board>.pre-autoroute.kicad_pcb, that routing happens on disk then reloads, that this wipes the editor undo history, that existing tracks are locked, and that zones are refilled and DRC run afterward.

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-loads the action, then workflow, then side effects, then args — well structured. Slightly long, and the Args block partly restates parameter names, but each entry adds semantics rather than padding.

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, side-effecting operation it covers prerequisites, destructive consequences (undo history loss, backup as the way back), post-steps (zone refill, DRC), and points to the 'drc_after' result field; with an output schema present it need not detail return values further.

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%, so the description must compensate, and it does: all five parameters are explained with meaning beyond their names (max_passes needs Freerouting 2.2+, timeout_s is a hard limit in seconds, lock_existing keeps tracks in place, skip_netclasses takes e.g. ['HighCurrent'], board_file routes an on-disk file instead of the open board).

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+resource ('Route the remaining connections with Freerouting') and scopes it to what is left unrouted, which distinguishes it from sibling adders like route_pads, add_track, and add_track_path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit ordered workflow ('set net classes (configure_netclasses), route or pour the high-current nets yourself, then autoroute the rest with those classes in skip_netclasses'), naming the prerequisite tool and the when-not condition for high-current nets.

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