Install
$ agentstack add mcp-beckhamlabsllc-kicad-jlcpcb ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ● Shell / process execution Used
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
kicad-jlcpcb
[](LICENSE) [](#requirements) [](https://www.kicad.org/) [](#testing) [](https://modelcontextprotocol.io/)
> From "I want a board that does X" to a wired .kicad_pcb EasyEDA can auto-route and JLCPCB can build — in a single Claude Code conversation.
kicad-jlcpcb is a Claude Code plugin + MCP server that automates the tedious half of going from idea to fab. It sources LCSC parts with a hard preference for JLCPCB basic-library stock, auto-fetches pin maps from EasyEDA, places KiCad-stdlib footprints, wires every net by pin name (not pad number), and hands off a .kicad_pcb that EasyEDA can route and order in two clicks.
┌─ you ──────────────────────────────────┐
│ /pcb-new An ESP32-C3 soil-moisture │
│ sensor, USB-C, 3.3V LDO... │
└────────────────┬───────────────────────┘
│
┌─────────────▼─────────────┐
│ kicad-jlcpcb MCP server │
│ • source parts (LCSC) │
│ • fetch pin maps │
│ • place + wire footprints│
│ • save .kicad_pcb │
└─────────────┬─────────────┘
│
drag into easyeda.com
│
Auto Route
│
Order via JLCPCB
Why this plugin
Three recurring friction points in small-batch PCB work, automated:
- "Is this part basic or extended on JLCPCB?" — You stop needing to cross-reference LCSC's UI. The plugin's SQLite-cached jlcparts mirror answers in milliseconds and always prefers basic-tier (no $3/part assembly setup fee).
- "What's the right pad number for this IC's
GPIO10?" — You stop reading datasheets to build netlists. The plugin queries EasyEDA by LCSC C-number, caches the pin-name → pad-number map, and lets you reference pins by their functional names. - "Why is my auto-router failing?" — You stop fighting Freerouting on RF boards. The plugin stops at "wired
.kicad_pcb" and hands off to EasyEDA's cloud auto-router, which works on real designs.
Quick tour
- Two slash commands:
/pcb-new(from a description) and/pcb-from-bom(from a CSV). - One agent:
part-sourcer— finds the best JLCPCB-stocked part for a generic spec. - One skill:
kicad-jlcpcb-workflow— the full reference the LLM consults while driving the workflow. - 13 MCP tools covering setup, sourcing, schematic, PCB generation, EasyEDA handoff, and session resume.
- Session persistence — each project writes a
.kicad_jlcpcb_session.jsonso/pcb-newcan resume mid-flow after a Claude Code restart.
Requirements
| Component | Version | Notes | |---|---|---| | Python | 3.10 – 3.13 | Tested on all four | | KiCad | 8.0+ | kicad-cli on PATH, pcbnew Python bindings for pcb_generate | | EasyEDA account | free | Only needed for the final routing + ordering step |
Install KiCad:
- Fedora 40+:
sudo dnf install kicad - Ubuntu 22.04+:
sudo add-apt-repository ppa:kicad/kicad-9.0-releases && sudo apt install kicad - Arch:
sudo pacman -Syu kicad - macOS: kicad.org/download
Install
Distributed via GitHub only — no PyPI, no marketplace. Clone and install locally.
1. Clone + install (virtualenv recommended)
git clone https://github.com/BeckhamLabsLLC/kicad-jlcpcb.git
cd kicad-jlcpcb
python -m venv .venv
source .venv/bin/activate # Windows: .\.venv\Scripts\activate
pip install -e ".[dev]"
The editable install puts a kicad-jlcpcb entry-point script in the venv's bin/. .mcp.json calls that script directly; if the venv isn't active when Claude Code launches, point .mcp.json at the absolute path:
{
"mcpServers": {
"kicad-jlcpcb": {
"command": "/abs/path/to/kicad-jlcpcb/.venv/bin/kicad-jlcpcb",
"args": []
}
}
}
If you'd rather install into your user Python without a venv, substitute pip install -e . after cd kicad-jlcpcb and skip the venv lines. The entry-point lands in ~/.local/bin instead.
2. Register with Claude Code
/plugin marketplace add /abs/path/to/kicad-jlcpcb
/plugin install kicad-jlcpcb@local
Restart Claude Code so the MCP server registers.
3. Sanity check
kicad-jlcpcb --help # should print nothing (MCP servers speak JSON-RPC on stdio), exit 0
Five-minute quick-start
Pick a small idea — an ESP32-C3 board with one sensor, a USB-C port, and an LDO works well. Run:
/pcb-new An ESP32-C3 soil-moisture sensor with two capacitive probes,
USB-C 5V in, a 3.3V LDO, status LED, and JST-PH battery header.
Place it on an 80x60 mm board.
Claude walks you through:
detect_kicad— verify the toolchain (.pretty/` for the exact name |
| /pcb-new offers to resume when you wanted a clean start | Delete .kicad_jlcpcb_session.json or pick a new project name |
Design rationale (Phase 1.6)
Earlier releases tried to route the board headlessly with Freerouting and produce a JLCPCB Gerber zip directly. That didn't work for real boards — Freerouting 2.1.0 has CLI bugs, can't route RF matching networks, and won't save partial results.
Phase 1.6 takes the pragmatic win: the plugin wires everything up, EasyEDA routes and orders. The tradeoff is opening a browser tab and clicking two buttons; in exchange you get reliability the open-source tooling can't match and a one-click path to a JLCPCB order.
Roadmap
- Phase 2 — auto-placement that respects functional groupings (power domain, RF block, analog front-end), DRC integration, differential-pair awareness.
- Phase 3 — vision-based schematic extraction: drop in a photo of a hand-drawn schematic, out comes a wired
.kicad_pcb.
Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for dev setup, test running, and PR conventions. All contributors follow the [Code of Conduct](CODEOFCONDUCT.md). Bug reports: open an issue.
License
MIT — see [LICENSE](LICENSE).
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: BeckhamLabsLLC
- Source: BeckhamLabsLLC/kicad-jlcpcb
- License: MIT
- Homepage: https://github.com/BeckhamLabsLLC/kicad-jlcpcb
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.