The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the KiCad Copilot listing page.
AI-powered MCP server for KiCad. Create and modify schematics from natural language, search real components, work with hierarchical projects, generate PCB placement, route boards locally, and create simple copper pours directly through an AI agent.
KiCad Copilot is the KiCad counterpart to EasyEDA Copilot. It provides the same core circuit-generation and PCB automation capabilities—and goes further with file-oriented hierarchical projects, recoverable checkpoints, native kicad-cli integration, and fully local PCB routing.
Integrated analysis: KiCad Copilot downloads a pinned, verified kicad-happy v2.2.0 release on first use of
analyze_schematicoranalyze_pcb. The MCP tools return compact, token-efficient actionable findings and focused design data.
KiCad Copilot gives AI agents a high-level, file-oriented interface to KiCad:
eda-copilot-router with its managed KRT backend without sending routing work to an external service.kicad-cli for ERC, DRC, previews, exports, manufacturing files, and other native operations.KiCad Copilot works directly with saved .kicad_pro, .kicad_sch, and .kicad_pcb files. It does not require KiCad IPC or a plugin installed inside KiCad.
These projects were generated and iterated through KiCad Copilot. The complete KiCad source files are available in the examples directory.
A hierarchical ATmega328P design with the MCU core, clock, reset, decoupling, USB-UART power, Nano-compatible headers, and debug connections split across functional sheets.
![]() Project overview | ![]() USB-UART and power |
![]() MCU core | ![]() Nano headers and debug |
Download the ATmega328P project
A larger multi-sheet design covering power input, 3.3 V regulation, the high-voltage generator, flyback stage, feedback, detector, controller, and user interface.
![]() Project overview | ![]() Power input |
![]() High-voltage generator | ![]() Detector |
![]() Controller UI | ![]() 3.3 V power |
![]() HV flyback | ![]() HV feedback |
![]() User interface | |
Download the Geiger high-voltage project
A hierarchical RP2350 design with power, clock, flash, USB/debug, GPIO headers, and an AI-generated PCB placement. The example includes the placement DSL and an editable KiCad board.
![]() Project overview | ![]() Power |
![]() RP2350 and clock | ![]() Flash |
![]() USB and debug | ![]() GPIO headers |
KiCad 3D render of the generated PCB placement
Add the MCP server to your AI agent.
Codex:
Claude Code:
Generic MCP configuration:
Restart the MCP client after adding the server. KiCad Copilot includes local workflow documentation for the agent; tool descriptions expose its installed path automatically.
KiCad Copilot searches for kicad-cli in PATH and standard KiCad installation locations, preferring KiCad 10 when multiple supported versions are installed. Set KICAD_CLI_PATH when the executable is stored elsewhere.
The first real-component conversion uses an existing EasyEDA2KiCad installation or installs it automatically into a managed local virtual environment.
The first design-analysis call downloads the pinned kicad-happy release into the shared
EDA Copilot asset cache after verifying its archive size and SHA-256 hash. Set
KICAD_HAPPY_DIR to use a trusted local checkout instead.
Ask the agent to inspect a KiCad project or give it the path to a target .kicad_sch file. A typical request can be as simple as:
The agent can inspect the project tree, read the target sheet as compact component/net JSON, find exact components, assemble the requested change, and validate the saved result through KiCad.
Hierarchical projects remain file-oriented: each physical schematic sheet is modified through its own .kicad_sch path, while project-wide context is used where the operation requires the complete signal map.
KiCad Copilot changes files on disk. KiCad does not reliably merge those changes with newer unsaved edits in an already open editor.
Before a write:
After a write:
PCB placement and routing use an explicit review flow:
.kicad_pcb file.Every placement response containing a PCB is checkpointed and applied atomically, including preview and issue-bearing results. The agent inspects the returned preview or PCB analysis and can roll back through checkpoints when needed; no separate assembly tool call is required.
Placement and router DSL execution remain separate operations. This keeps schematic-to-PCB synchronization explicit and makes it possible to clear or rebuild routing without deleting placed components.
get_project_info reports the discovered kicad-cli path and version. Agents should use the native CLI whenever KiCad already provides the operation, including:
See KiCad CLI workflow for ready-to-use commands.
analyze_schematic runs the offline schematic checks and can return focused top-level
overview, hierarchy, block, connectivity, power, bus, BOM, assembly, and verification data.
analyze_pcb automatically enriches PCB analysis from the associated schematic, runs
cross-domain checks, and optionally adds thermal, EMC, or trace-proximity analysis. Individual
boolean flags control each optional report field; compact findings are enabled by default.
Long-running PCB layout, PCB routing, and lifecycle audits return a prefixed
operation_id such as pcb-dsl:1a2b3c4d. Continue any of them with
wait_operation; stop obsolete work with cancel_operation.
The tools omit internal rule identifiers, runtime metrics, and coordinate-level copper from
the LLM response.
See design analysis for the exact compact result contract and workflow.
| KiCad version | Status |
|---|---|
| KiCad 10 | Supported |
| KiCad 9 | Supported |
Other major versions are rejected because their file formats and CLI behavior are not covered by the current implementation.
Run the MCP Inspector with:
The repository also contains focused schematic, PCB, and routing test scripts for development against disposable files.
MIT