# route_pad_to_pad

PREFERRED tool for pad-to-pad routing. Looks up pad positions automatically, detects the net from the pad, and — critically — if the two pads are on different copper layers (e.g. J1 on F.Cu and J2 on B.Cu) automatically inserts a via at the midpoint so the connection is complete. Always use this instead of route_trace when routing between named component pads.

Agent View of the PolicyLayer registry record for `route_pad_to_pad`. HTML page: https://policylayer.com/tools/mixelpixx-kicad-mcp-server/route-pad-to-pad

## Facts

- Tool: `route_pad_to_pad`
- Server: KiCAD-MCP-Server (`mixelpixx/kicad-mcp-server`) — https://policylayer.com/tools/mixelpixx-kicad-mcp-server.md
- Homepage: https://github.com/mixelpixx/KiCAD-MCP-Server
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "route_pad_to_pad",
    "arguments": {}
  }
}
```

## Why route_pad_to_pad is rated Medium

This tool creates or modifies traces and vias in a KiCAD PCB design, which are typical Write operations (reversible changes to design data). While it modifies circuit connectivity, it does not irreversibly delete data (Destructive), execute arbitrary code (Execute), or move money (Financial). The recommendation to 'always use this instead of route_trace' indicates it is a primary design modification tool.

From the tool's own definition: "Tool description states it performs pad-to-pad routing, automatically inserts vias, and creates connections in a PCB design—these are reversible modifications to the circuit layout."

## Use case

AI agents use route_pad_to_pad to create or update resources in KiCAD-MCP-Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your KiCAD-MCP-Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches KiCAD-MCP-Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "route_pad_to_pad": {
      "limits": [
        {
          "counter": "route_pad_to_pad_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on KiCAD-MCP-Server (230)

- `clear_board_outline` — Destructive — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/clear-board-outline.md
- `delete_component` — Destructive — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/delete-component.md
- `delete_graphic` — Destructive — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/delete-graphic.md
- `delete_schematic_component` — Destructive — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/delete-schematic-component.md
- `delete_schematic_net_label` — Destructive — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/delete-schematic-net-label.md
- `delete_schematic_wire` — Destructive — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/delete-schematic-wire.md
- `delete_symbol` — Destructive — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/delete-symbol.md
- `delete_trace` — Destructive — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/delete-trace.md
- `discard_or_reload` — Destructive — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/discard-or-reload.md
- `remove_hierarchical_sheet` — Destructive — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/remove-hierarchical-sheet.md
- `remove_library_table_entry` — Destructive — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/remove-library-table-entry.md
- `remove_schematic_component_property` — Destructive — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/remove-schematic-component-property.md
- `autoroute` — Execute — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/autoroute.md
- `export_3d_cli` — Execute — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/export-3d-cli.md
- `export_drill` — Execute — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/export-drill.md
- `launch_kicad_ui` — Execute — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/launch-kicad-ui.md
- `refill_zones` — Execute — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/refill-zones.md
- `run_drc` — Execute — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/run-drc.md
- `run_erc` — Execute — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/run-erc.md
- `batch_list_symbol_pins` — Read — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/batch-list-symbol-pins.md
- `check_clearance` — Read — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/check-clearance.md
- `check_courtyard_overlaps` — Read — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/check-courtyard-overlaps.md
- `check_freerouting` — Read — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/check-freerouting.md
- `check_kicad_ui` — Read — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/check-kicad-ui.md
- `check_placement_clearance` — Read — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/check-placement-clearance.md
- `download_registry_part` — Read — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/download-registry-part.md
- `estimate_airwire_lengths` — Read — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/estimate-airwire-lengths.md
- `export_bom` — Read — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/export-bom.md
- `export_ipc2581` — Read — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/export-ipc2581.md
- `export_ipcd356` — Read — https://policylayer.com/tools/mixelpixx-kicad-mcp-server/export-ipcd356.md
- …and 200 more: https://policylayer.com/tools/mixelpixx-kicad-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=mixelpixx-kicad-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/mixelpixx-kicad-mcp-server
