Loading 3D model… large boards can take a moment.
I built this because I needed a replacement LED panel for my Beseler 4×5 enlarger (MILUKA Aristo D2). I had never designed a PCB, and I did not want to learn KiCad by clicking through menus.
So you keep KiCad open. In Cursor you tell an assistant what the board should be — in plain language. It downloads the real JLCPCB parts, places them, assigns the nets, pours the copper, checks its own work, and writes the files JLCPCB actually accepts.
This is not a second PCB editor and not “chat, invent a .kicad_pcb”.
KiCad stays the source of truth. Every change is Ctrl+Z. Nothing
is saved unless you ask.
Proof it works: the board that started it — contrib/aristo-d2-led-panel, 109 SK6812 LEDs, 4 layers, designed this way from the first outline to the ordered Gerbers, manufactured by JLCPCB.
Work in progress: contrib/aristo-d2-led-panel-v2 — 112× WS2812B-MINI drop-in. Layout and gerbers only; not a build guide.
Docs: Install on Debian · Manual (A–Z reference)
Students, hobbyists, makers on Debian/Ubuntu who want help with the boring bits: a LED grid, wire pads, a GND pour, Gerbers that JLCPCB accepts — without learning a pro tool first.
You still decide the circuit. The assistant must not invent pin
functions — those come from the LCSC / EasyEDA part, and built-in
checks (check_pins, check_placement, review_board) force it to
account for every pin instead of hand-waving.
Skip this if you layout in Altium, only have Windows, or do not want an assistant in the editor at all.
Download the latest kicad-mcp_*.deb from
Releases.
Install it:
sudo apt install ./kicad-mcp_*_amd64.deb
Start KiCad with kicad-10 (comes with the package). Open the
PCB editor. Enable Preferences → Plugins → Enable IPC API, then
restart KiCad and open the PCB editor again.
Copy the Cursor template into the folder you will open:
cp -a /usr/share/kicad-mcp/cursor-setup/.cursor \
/usr/share/kicad-mcp/cursor-setup/.cursorignore .
In Cursor, toggle the kicad-mcp server off and on.
The autorouter (kicad-routing-tools_*.deb, same Releases page) is
optional. If you want it: install it too, then run
kicad-routing-tools-setup once as your user.
Full walkthrough from a clean machine (AppImage, both packages): docs/INSTALL_DEBIAN.md.
KiCad 10 running, a board open, Cursor on that folder:
Call
board_summary.
You want KiCad 10.x, has_open_board: true, and
net_ipc_persists: true. If it says 9.x, you started the wrong KiCad
— use kicad-10.
Then, in plain language, for example:
Make a 40 × 30 mm board. Download C14663. Place one cap in the middle. Don’t save yet.
Undo is always Ctrl+Z in KiCad. The assistant must not save unless you ask.
download_lcsc_part), then place or
a grid (place_matrix). Pin names come from EasyEDA, not from
memory.connect_many). Copper comes later.check_pins: every pin must be netted or
explicitly allowed open. No silent floating pins.5V / GND / DATA next to wire pads. Not on copper.check_drc), connectivity
(check_board), layout physics (review_board).export_manufacturing writes the JLCPCB zip + BOM +
pick-and-place. Silk has no U1/C3 (JLCPCB DFM).Coordinates are millimetres, +x right, +y up. Do not edit
.kicad_pcb by hand.
The assistant has a small tool list on purpose. The A–Z names live in the manual.
| What you see | Usual cause |
|---|---|
| MCP cannot connect | PCB editor closed, or IPC API still off |
| Version 9 / nets empty | System KiCad instead of kicad-10 |
| Writes refused | Cursor template not copied (needs --allow-ai-write) |
| Parts piled in the sheet corner | A bug in pad coordinates — not you; say so |
| AppImage runs, no socket | .AppImage started directly instead of kicad-10 |
More: manual → “Troubleshooting”.
Only if you are changing the Rust code. Makers can stop at the .deb.
cargo test --workspace
cargo build --release -p kicad-mcp
Debian package: dist/make_beta_package.sh (needs cargo-deb).
Point Cursor at the built binary, not cargo run. After a rebuild,
toggle the MCP server off/on.
Layout of the repo: docs/architecture.md.
AGPL-3.0-only — Copyright © 2026 Dragan Bojovic. See NOTICE.
KiCad is a separate GPL-3.0 program. This repo only talks to it over the published IPC API.
No comments yet. Be the first to ask about this board.