KiCad MCP Server
Seeed Studio's MCP server reads KiCad schematics and boards, traces pin-level connections and runs ERC and DRC through kicad-cli.
- 179 ★ on the repository
- Last commit
Extended access
Why this level
- The server edits schematic files and creates projects on disk.
- Downloading parts from an external registry contacts third-party servers.
Install
- Works in
Manual install
"C:\Program Files\KiCad\10.0\bin\python.exe" -m pip install fastmcpThe first install command in the README (Windows example). On macOS the path is `/Applications/KiCad/KiCad.app/Contents/Frameworks/python3`. Then `pip install -e .` from a repository clone.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The server edits schematic files and creates projects on disk.
- Downloading parts from an external registry contacts third-party servers.
This is third-party code. Review the repository files before installing.
What it does
KiCad MCP Server works with KiCad 8 and newer projects. The agent lists schematic components and nets, searches symbols by pattern and inspects board footprints, tracks and vias. A netlist (`generate_netlist`, `trace_netlist_connection`) gives exact pin-level tracing. Checks go through `kicad-cli`: `run_erc` and `run_drc` headless, which suits CI. Pin analysis finds conflicts and pin functions, and generators produce a device-tree `.dts` file and hardware tests. The PartReel parts registry lets you download symbols, footprints and 3D models straight into the project. Schematic editing (`add_component_from_library`, `add_wire`, `add_label`) is marked experimental.
Who it is for. Hardware and embedded engineers who review and dissect KiCad projects with an agent.
Good fit when
- You need every pin connected to the I2C_SDA net.
- ERC and DRC are run before sending a board off and the report is read.
- A device tree must be generated from a schematic for an STM32 board.
- A new KiCad project is created from a template with its first components.
Not a fit when
- The schematic needs serious editing: editing is experimental.
- KiCad and `kicad-cli` are not installed.
- The project is confidential and downloading parts from an external registry is not acceptable.
Example request
Run ERC on MyBoard.kicad_sch, show the errors and find every pin connected to the I2C_SDA net.MCP
- Transport
- stdio
- Authentication
- not required
Environment variables
`PARTS_REGISTRY_URL`- Parts registry address, PartReel by default.
Limitations
KiCad 8.0 or newer (9.0 or 10.0 recommended) and `kicad-cli` on PATH are required. Full board analysis works only when installed into KiCad's own Python, which has the `pcbnew` module. With system Python only text parsing remains: track lengths and design rules are approximate. KiCad has no Python API for schematic editing, so the server edits files manually at the S-expression level and this is experimental. The repository declares no license.
How to disable. Remove the `kicad` entry from the client configuration with `claude mcp remove kicad`. Project files and generated code remain, and downloaded parts stay in the project.
FAQ
Why install into KiCad's Python?
Only it has the `pcbnew` module, which gives exact track lengths, via statistics and signal and power integrity analysis.
How do I check a schematic and a board?
Call `run_erc` for the schematic and `run_drc` for the board. Both run through `kicad-cli` headless.
Which clients are supported?
Claude Desktop, Claude Code CLI, Cursor, Windsurf and other MCP clients with the same configuration format.
What does the parts registry do?
Searches the open PartReel registry and downloads symbols, footprints and 3D models into the project. Change the address with `PARTS_REGISTRY_URL`.
Can I edit a schematic?
Yes, but the feature is experimental because the server edits the file manually. Back up the project before editing.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server for PCB design in KiCAD: the agent places components, routes connections, runs DRC and prepares manufacturing files
An MCP server that lets an agent edit an open project in Altium Designer, KiCad or EasyEDA Pro: schematics, boards, libraries, checks
The kct CLI and a Python library for agents: parse and edit KiCad schematics and PCBs with JSON output, run DRC and ERC without a running KiCad
MCP server for PCB design in KiCAD 10: schematic, routing, checks and manufacturing prep through an agent
Component search for PCB assembly: parametric filters, JLCPCB, Mouser and DigiKey stock and prices, KiCad files
Altium MCP Server gives Claude access to an open Altium Designer project: board queries, symbols, footprints and output jobs
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| KiCad MCP Server (this card) | no | not required | 179 | |
| KiCAD MCP Server | no | not required | 3,185 | handles KiCad projects with a different tool set; the Seeed Studio version adds pin analysis, device-tree output and a parts registry |
| kicad-happy | no | 1,600 | works as a plugin with project parsing and review; this server gives MCP tools for ERC, DRC and netlist tracing |
README in short
Analysis runs on a netlist, so connection tracing is exact. ERC and DRC checks work without a graphical interface.