operating-kicad-eda

star 228

KiCad EDA orchestration via kicad-mcp MCP server. Routes 17 tools for schematic creation, PCB layout, autorouting, DRC, and Gerber export. Enforces serialized PCB ops, library-first lookup, and autoroute-only routing.

telagod By telagod schedule Updated 6/8/2026

name: operating-kicad-eda description: "KiCad EDA orchestration via kicad-mcp MCP server. Routes 17 tools for schematic creation, PCB layout, autorouting, DRC, and Gerber export. Enforces serialized PCB ops, library-first lookup, and autoroute-only routing." user-invocable: true argument-hint: "<operation: schematic|pcb|route|drc|export|full-pipeline>" allowed-tools: Read, Bash

Read: inspect KiCad files and MCP tool schemas

Bash: run kicad-cli for ERC/DRC, Python scripts for footprint injection


Operating KiCad EDA

MCP tool router for KiCad 9. Never guess, never hand-route, never parallelize PCB writes.

When to use

Scenario Use Approach
Create schematic from design doc Yes schematic() operations
Generate PCB from schematic Yes build_pcb_from_schematic
Route a PCB Yes autoroute(operation="run") only
Fix DRC violations Yes drc(operation="autofix")
Export manufacturing files Yes export() Gerber/BOM/render
Hand-place a single trace NO LLM traces violate clearances

Iron rules

  1. NEVER hand-routepcb(add_trace/add_via) produces DRC-failing garbage. Use autoroute(operation="run").
  2. NEVER guess names — footprint and symbol names change between KiCad versions. Always library(operation="search") first.
  3. SERIALIZE PCB ops — MCP PCB tools do load/modify/save. Parallel calls corrupt the .kicad_pcb file.
  4. VERIFY after changesdrc(operation="run") + audit(operation="all") before declaring done.

MCP tool routing table

Task MCP Tool Operation
Search parts library search
Create/edit schematic schematic create_symbol, add_wire, add_label
Build PCB from schematic build_pcb_from_schematic — (standalone)
Place footprints pcb place_footprint
Set board outline pcb set_board_outline
Add zones (copper pour) pcb add_zone
Auto-route autoroute run
Run DRC drc run
Auto-fix DRC drc autofix
Export Gerber export gerber
Export BOM export bom
3D render export render
Estimate board size estimate_board_size — (standalone)
Suggest placement suggest_placement — (standalone)
Full audit audit all

Standard pipeline

1. library(search) → find symbols and footprints
2. schematic(create_symbol) → place all components
3. schematic(add_wire/add_label) → connect nets
4. [Python] footprint injection script → fix kicad-cli lookup
5. build_pcb_from_schematic → initial PCB
6. pcb(set_board_outline) → product form factor
7. suggest_placement or pcb(place_footprint) → position components
8. autoroute(run) → FreeRouter
9. drc(run) → check
10. drc(autofix) → fix violations
11. pcb(add_zone) → GND copper pour both layers
12. export(gerber) → manufacturing files
13. export(render) → 3D views

References

Topic File
KiCad 9 parse quirks kicad9-quirks.md
DRC fix strategies drc-strategies.md
Footprint injection footprint-injection.md

Exit criteria

  • ERC: 0 errors (warnings acceptable)
  • DRC: 0 violations
  • All nets routed (no unconnected)
  • Gerber zip exportable
Install via CLI
npx skills add https://github.com/telagod/code-abyss --skill operating-kicad-eda
Repository Details
star Stars 228
call_split Forks 30
navigation Branch main
article Path SKILL.md
More from Creator