pcb-mcp
Allows designing, inspecting, and exporting KiCad PCB boards, including placing footprints, connecting and routing traces, running DRC/ERC checks, and generating fabrication files (Gerbers, drill, POS, BOM, schematic PDF).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pcb-mcpOpen my current KiCad board, run DRC, and show me any errors."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
pcb-mcp
Grok-native KiCad MCP. Design, inspect, fix, and export KiCad 9/10 boards from a Grok session without clicking the GUI.
This is not a pcbnew API wrapper and not a clone of mixelpixx. Sixteen tools, in-process pcbnew, kicad-cli as the source of truth for DRC/ERC/export, every mutation ends in a PNG + DRC/ERC summary.
Register as pcb. Leave any existing [mcp_servers.kicad] (mixelpixx) alone.
Mandatory loop (keep it fast)
PNGs always land at:
<project>/.pcb-mcp/snapshots/current/pcb.png and sch.png (overwritten each snapshot).
pcb_open
pcb_snapshot / pcb_state # look
pcb_place symbol=Device:R footprint=Resistor_SMD:R_0805_2012Metric
pcb_connect R1.2 R2.1 net=NET1
pcb_place from_schematic=true # optional: push sch netlist onto the PCB
pcb_route net=NET1 dry_run=false
pcb_drc # full kicad-cli DRC (the slow-but-true check)
pcb_export_fab out_dir=fab
pcb_savePlace/connect/edit snapshot the board in ~0.3s and return a lite DRC (unconnected count from pcbnew). After routing, call pcb_drc for shorts/clearance. Prefer ref.pad (R1.2). Width/clearance come from the open netclass.
See SPEC.md for the tool contract.
Related MCP server: pcb-mcp
Install
You need KiCad 9 or 10 (with pcbnew and kicad-cli) and the Grok CLI. Do not clone this into a KiCad project directory; keep it as its own repo.
KiCad's python.exe is isolated and ignores PYTHONPATH. Always launch this server with that interpreter via run.py. Never point Grok at a venv python.
1. Clone
git clone https://github.com/LukeVincent25/pcb-mcp.git
cd pcb-mcp2. Install Python packages into .deps
Use KiCad's python, not python from PATH:
Windows (this machine: E:\Kicad):
E:\Kicad\bin\python.exe scripts\install_deps.pyWindows (typical Program Files install):
& "C:\Program Files\KiCad\10.0\bin\python.exe" scripts\install_deps.pyLinux:
/usr/bin/python3 scripts/install_deps.py
# if that is not KiCad's interpreter:
"$HOME/kicad/bin/python" scripts/install_deps.pyThat runs pip install "mcp>=1.12,<2" "pytest>=8" --target .deps. .deps stays out of git.
Confirm pcbnew imports on that same interpreter:
E:\Kicad\bin\python.exe -c "import pcbnew; print(pcbnew.GetBuildVersion())"3. Register with Grok as server pcb
E:\Kicad\bin\python.exe scripts\register_grok.py --kicad-root E:\KicadThis writes [mcp_servers.pcb] in %USERPROFILE%\.grok\config.toml and does not change [mcp_servers.kicad].
Equivalent manual config:
[mcp_servers.pcb]
command = "E:\\Kicad\\bin\\python.exe"
args = ["E:\\pcb-mcp\\run.py"]
enabled = true
startup_timeout_sec = 60
tool_timeout_sec = 600
[mcp_servers.pcb.env]
PCB_MCP_KICAD_ROOT = "E:\\Kicad"
KICAD_ROOT = "E:\\Kicad"Adjust the two paths to your clone and KiCad install.
4. Verify
grok mcp doctor pcbYou want: handshake OK, 16 tools, healthy. Then: pcb_open → pcb_snapshot → design → pcb_drc → pcb_export_fab.
Tests (optional)
E:\Kicad\bin\python.exe scripts\run_tests.pyFixtures live under tests/boards/ (generated with pcbnew + kicad-cli, not hand-minified S-expressions).
What works (v1)
All 16 tools:
Tool | Does |
| Project session. Save refuses a clobber unless |
| Compact JSON, PNG paths, search, DRC delta. |
|
|
| Outline, copper layers, Default netclass rules, mounting holes. |
| Footprint and/or symbol by |
|
|
| 2-layer netclass-aware router. |
| Value, footprint, ref, side, netclass. |
| Gerbers, drill, POS, BOM, schematic PDF via |
Mutators take dry_run (default true) and on commit return snapshot + DRC. Track width and clearance come from the open board's netclass, not hardcoded vendor numbers.
This server cannot be deployed
Maintenance
Related MCP Connectors
Search and review real KiCad and Altium PCB designs: schematics, BOMs, netlists, DRC/ERC.
Verified KiCad footprints, symbols & 3D models for AI agents. No signup, CC-BY-4.0, quality-gated.
Electronic component sourcing, BOM management, and PCB design workflows.
Create RF signal projects from prompts, inspect graphs, and export IQ data.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables LLMs to inspect, edit, analyze, and render PCB layouts in real-time using the KiCad IPC API, providing tools for board configuration, footprints, tracks, zones, nets, text, shapes, dimensions, exports, screenshots, and CLI automation.1001MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to read and modify KiCAD PCB designs through the KiCAD IPC API, providing tools for board queries, footprint placement, track creation, DRC, and export.4414MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with KiCAD for PCB design automation. Users can design PCBs using natural language, including component placement, routing, checks, and export.62 npmMIT
- AlicenseBqualityBmaintenanceEnables AI assistants to interact with KiCAD for PCB design automation, including schematic editing, component placement, routing, DRC/ERC, and export.10011 npm1MIT