{"slug": "show-hn-copper-kicad-mcp-to-design-pcbs-in-kicad-better-and-cheaper", "title": "Show HN: Copper-KiCad – MCP to design PCBs in KiCad better and cheaper", "summary": "Clay Nicholson released Copper-KiCad 1.1.1, an open-source MCP server with 31 tools that connects AI apps to KiCad 10 so a model can design orderable circuit boards — schematic, LCSC/JLCPCB part sourcing, PCB layout and routing, ERC/DRC checks, renders and zipped JLCPCB fab files. The release ships as a Windows installer, a Claude Desktop .mcpb bundle, Claude Code plugin commands, and an `npx -y copper-kicad setup` route for Cursor, VS Code, Windsurf, Codex and Zed; Windows is tested end to end while the macOS and Linux installers are new. Six sample boards, including a 30 x 40 mm ESP32-C3 USB-C board with 15 parts and a 66 x 90 mm RP2040 macropad with 65 parts, pass KiCad 10's ERC and DRC with 0 errors and 0 unconnected items.", "body_md": "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.\n\nYou need [KiCad 10](https://www.kicad.org/download/). Then pick one:\n\n| You use | Do this | \n|---|---|\n| Windows, any AI app | Run `Copper-for-KiCad-1.1.1-Setup.exe` from the[latest release](https://github.com/claynicholson/copper-kicad-mcp/releases/latest) and tick your AI apps | \n| Claude Desktop | Double-click `copper-1.1.1.mcpb` from the[latest release](https://github.com/claynicholson/copper-kicad-mcp/releases/latest) | \n| Claude Code | The two plugin commands below | \n| Cursor, VS Code, Windsurf, Codex, Zed and others | `npx -y copper-kicad setup` (Node.js 18+), or[add to Cursor](https://cursor.com/install-mcp?name=copper&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImNvcHBlci1raWNhZCJdfQ%3D%3D) /[install in VS Code](https://vscode.dev/redirect/mcp/install?name=copper&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22copper-kicad%22%5D%7D) | \n| A terminal | The one-line installer below | \n\n```\n# Claude Code\nclaude plugin marketplace add claynicholson/copper-kicad-mcp\nclaude plugin install copper@copper\n# Windows (PowerShell)\npowershell -ExecutionPolicy Bypass -c \"irm https://raw.githubusercontent.com/claynicholson/copper-kicad-mcp/main/installer/install.ps1 | iex\"\n# macOS / Linux\ncurl -LsSf https://raw.githubusercontent.com/claynicholson/copper-kicad-mcp/main/installer/install.sh | sh\n```\n\nWindows is tested end to end. The macOS and Linux routes are new: if one fails, please\n[open an issue](https://github.com/claynicholson/copper-kicad-mcp/issues).\n\nSetup finds KiCad, brings your libraries and settings along, connects your AI apps and makes a test call. It asks\nbefore each step and backs up everything it changes. To paste a config instead, Cursor, Claude Desktop and Windsurf\ntake this entry ([docs/INSTALL.md](https://github.com/claynicholson/copper-kicad-mcp/blob/main/docs/INSTALL.md) has the others):\n\n```\n{ \"mcpServers\": { \"copper\": { \"command\": \"npx\", \"args\": [\"-y\", \"copper-kicad\"] } } }\n```\n\n`npx -y copper-kicad setup --demo` runs the setup page on a throw-away folder, so you can look first. If something\ndoes not work, `npx -y copper-kicad doctor` (or `copper doctor` after the Windows or one-line install) names the\nfix. More in [docs/INSTALL.md](https://github.com/claynicholson/copper-kicad-mcp/blob/main/docs/INSTALL.md).\n\nAsk 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:\n\n- It connects pins to nets by name (`U1.PA9 → USB_DP` ), never by coordinates.\n- 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.\n- KiCad's ERC and DRC re-run after every change, and each finding comes with a ready fix.\n- It places parts and routes the board: a staged router with length matching, differential pairs and width classes, copper pours, and Freerouting.\n- It looks at its work: schematic, layer and ray-traced 3D renders go back to the model.\n- It writes Gerbers, drill, BOM and placement files for JLCPCB (or PCBWay, OSH Park, generic), zipped.\n\nCopper 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.\n\n| 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. | \n| 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. | \n\nAll six pass KiCad 10's ERC and DRC with 0 errors and 0 unconnected items. Layer art and fab files (Gerbers,\ndrill, BOM, placement) are on [coppereda.com](https://coppereda.com).\n\n[Install](https://github.com/claynicholson/copper-kicad-mcp/blob/main/docs/INSTALL.md) · [Configuration](https://github.com/claynicholson/copper-kicad-mcp/blob/main/docs/CONFIG.md) · [Parts providers](https://github.com/claynicholson/copper-kicad-mcp/blob/main/docs/PROVIDERS.md) ·\n[Fab profiles](https://github.com/claynicholson/copper-kicad-mcp/blob/main/docs/FAB_PROFILES.md) · [KiCad compatibility](https://github.com/claynicholson/copper-kicad-mcp/blob/main/docs/COMPATIBILITY.md) ·\n[Architecture](https://github.com/claynicholson/copper-kicad-mcp/blob/main/docs/ARCHITECTURE.md) · [Changelog](https://github.com/claynicholson/copper-kicad-mcp/blob/main/CHANGELOG.md) · [Contributing](https://github.com/claynicholson/copper-kicad-mcp/blob/main/CONTRIBUTING.md) · [Security](https://github.com/claynicholson/copper-kicad-mcp/blob/main/SECURITY.md)\n\nCopper runs on your machine. Your designs stay there, and there is no telemetry. It goes online only to:\n\n- search and download parts: LCSC, JLCPCB and EasyEDA, with the jlcsearch.tscircuit.com mirror as a fallback\n- check for a newer KiCad (gitlab.com) during `setup` and`doctor` ;`COPPER_NO_UPDATE_CHECK=1` turns that off\n- download Freerouting (GitHub) and a Java runtime (Adoptium), about 120 MB once, when you ask for autorouting\n- sign in to GitHub, if you link it without the GitHub CLI\n\nInstalling fetches a little more: the `npx` launcher installs Pillow from PyPI if KiCad's Python lacks it, and the\none-line installers fetch [uv](https://docs.astral.sh/uv/), a Python 3.12 build and Pillow.\n\nThe MCP server and CLI never call a language model. The package also holds `copper_kicad.agent`, a chat sidecar for\na separate desktop app; nothing in the server or CLI starts it.\n\n[MIT](https://github.com/claynicholson/copper-kicad-mcp/blob/main/LICENSE). Copper is an independent project, not affiliated with KiCad, LCSC, JLCPCB or any other vendor named here.", "url": "https://wpnews.pro/news/show-hn-copper-kicad-mcp-to-design-pcbs-in-kicad-better-and-cheaper", "canonical_source": "https://github.com/claynicholson/copper-kicad-mcp", "published_at": "2026-11-13 20:59:49+00:00", "updated_at": "2026-11-13 21:20:40.606396+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "ai-tools", "developer-tools"], "entities": ["Copper", "KiCad 10", "Clay Nicholson", "Claude Desktop", "Claude Code", "Cursor", "VS Code", "JLCPCB"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-copper-kicad-mcp-to-design-pcbs-in-kicad-better-and-cheaper", "markdown": "https://wpnews.pro/news/show-hn-copper-kicad-mcp-to-design-pcbs-in-kicad-better-and-cheaper.md", "text": "https://wpnews.pro/news/show-hn-copper-kicad-mcp-to-design-pcbs-in-kicad-better-and-cheaper.txt", "jsonld": "https://wpnews.pro/news/show-hn-copper-kicad-mcp-to-design-pcbs-in-kicad-better-and-cheaper.jsonld"}}