Copper connects your AI app to KiCad, so it can design real boards you can order: schematic, LCSC parts, PCB layout and routing, KiCad's own ERC and DRC, renders and JLCPCB fab files.
You need KiCad 10. Then pick one:
| You use | Do this |
|---|---|
| Windows, any AI app | Run Copper-for-KiCad-1.1.1-Setup.exe from thelatest release and tick your AI apps |
| Claude Desktop | Double-click copper-1.1.1.mcpb from thelatest release |
| Claude Code | The two plugin commands below |
| Cursor, VS Code, Windsurf, Codex, Zed and others | npx -y copper-kicad setup (Node.js 18+), oradd to Cursor /install in VS Code |
| A terminal | The one-line installer below |
claude plugin marketplace add claynicholson/copper-kicad-mcp
claude plugin install copper@copper
powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/claynicholson/copper-kicad-mcp/main/installer/install.ps1 | iex"
curl -LsSf https://raw.githubusercontent.com/claynicholson/copper-kicad-mcp/main/installer/install.sh | sh
Windows is tested end to end. The macOS and Linux routes are new: if one fails, please open an issue.
Setup finds KiCad, brings your libraries and settings along, connects your AI apps and makes a test call. It asks before each step and backs up everything it changes. To paste a config instead, Cursor, Claude Desktop and Windsurf take this entry (docs/INSTALL.md has the others):
{ "mcpServers": { "copper": { "command": "npx", "args": ["-y", "copper-kicad"] } } }
npx -y copper-kicad setup --demo runs the setup page on a throw-away folder, so you can look first. If something
does not work, npx -y copper-kicad doctor (or copper doctor after the Windows or one-line install) names the
fix. More in docs/INSTALL.md.
Ask for something like "Design a USB-C powered ESP32-C3 board with a status LED, 30 x 40 mm". Your AI then works through it the way an engineer would:
- It connects pins to nets by name (
U1.PA9 → USB_DP), never by coordinates. - It searches LCSC/JLCPCB for real parts (Basic parts first, live stock) and imports each part's symbol and footprint, plus its 3D model when EasyEDA has one.
- KiCad's ERC and DRC re-run after every change, and each finding comes with a ready fix.
- It places parts and routes the board: a staged router with length matching, differential pairs and width classes, copper pours, and Freerouting.
- It looks at its work: schematic, layer and ray-traced 3D renders go back to the model.
- It writes Gerbers, drill, BOM and placement files for JLCPCB (or PCBWay, OSH Park, generic), zipped.
Copper has 31 tools and works with any MCP app and any model. The model is your AI app's: the Copper server never calls one.
| RP2040 Macropad: nine hot-swap keys and a knob. 66 x 90 mm, 2 layers, 65 parts. | RP2040 D-pad E-ink: D-pad, e-ink FPC and IMU. 72 x 84 mm, 4 layers, 55 parts. | Stepper G0: a 12 V stepper controller on one board. 58 x 48 mm, 2 layers, 40 parts. | | ESP32-C3 USB-C: Wi-Fi and BLE on USB-C. 30 x 40 mm, 2 layers, 15 parts. | USB-C Power Bank: an IP5306 power bank with USB-C in. 50 x 24 mm, 2 layers, 22 parts. | Phone Breathalyzer: an alcohol sensor that plugs into a phone. 22 x 48 mm, 2 layers, 30 parts. |
All six pass KiCad 10's ERC and DRC with 0 errors and 0 unconnected items. Layer art and fab files (Gerbers, drill, BOM, placement) are on coppereda.com.
Install · Configuration · Parts providers · Fab profiles · KiCad compatibility · Architecture · Changelog · Contributing · Security
Copper runs on your machine. Your designs stay there, and there is no telemetry. It goes online only to:
- search and download parts: LCSC, JLCPCB and EasyEDA, with the jlcsearch.tscircuit.com mirror as a fallback
- check for a newer KiCad (gitlab.com) during
setupanddoctor;COPPER_NO_UPDATE_CHECK=1turns that off - download Freerouting (GitHub) and a Java runtime (Adoptium), about 120 MB once, when you ask for autorouting
- sign in to GitHub, if you link it without the GitHub CLI
Installing fetches a little more: the npx launcher installs Pillow from PyPI if KiCad's Python lacks it, and the
one-line installers fetch uv, a Python 3.12 build and Pillow.
The MCP server and CLI never call a language model. The package also holds copper_kicad.agent, a chat sidecar for
a separate desktop app; nothing in the server or CLI starts it.
MIT. Copper is an independent project, not affiliated with KiCad, LCSC, JLCPCB or any other vendor named here.