
# mcp-server-kicad
**Let an AI assistant edit real KiCad projects without corrupting them.**
109 MCP tools covering schematic capture, PCB layout, symbol and footprint
libraries, ERC and DRC, and manufacturing exports. No screenshots, no
copy-paste, no hand-edited s-expressions: the model calls tools, KiCad files
change on disk.
[](https://pypi.org/project/mcp-server-kicad/)
[](https://pypi.org/project/mcp-server-kicad/)
[](https://www.kicad.org/)
[](https://github.com/ProductOfAmerica/mcp-server-kicad/actions/workflows/ci.yml)
[](LICENSE)
[Quick start](#quick-start) •
[What you get](#what-you-get) •
[Configuration](#configuration) •
[Tool reference](#tool-reference) •
[Requirements](#requirements) •
[Contributing](#contributing)
---
## What it looks like
```text
"Add a 100 nF decoupling cap on U1's VCC pin, then check ERC."
get_pin_positions locate U1's VCC and GND pins
auto_place_decoupling_cap place C3 and wire both pins to their nets
run_erc report what the change broke
"Now push the netlist to the board and route it."
update_pcb_from_schematic sync footprints and pad nets onto the PCB
autoroute_pcb route with Freerouting
run_drc clearance, width, and unconnected checks
```
Every tool works on the real file. Writes go through a byte-preserving
substrate, so bytes you did not ask to change reach the disk unchanged, and an
edit that cannot be done correctly is refused with the file intact. That now
covers every edit this server makes to a board or schematic. KiCad itself
writes a design file in only two places: the library upgrades, which say so on
themselves, and `autoroute_pcb`'s routed copy, a new board that `pcbnew` saves
while yours stays untouched.
## Quick start
### Claude Code
Install the plugin. It wires up the server and ships the design skills with it:
```bash
claude plugin marketplace add ProductOfAmerica/mcp-server-kicad
claude plugin install kicad
```
### Claude Desktop
Download `kicad-