KiCAD MCP is a Model Context Protocol (MCP) implementation that enables Large Language Models (LLMs) like Claude to directly interact with KiCAD for printed circuit board design.
KiCAD MCP is a Model Context Protocol (MCP) implementation that enables Large Language Models (LLMs) like Claude to directly interact with KiCAD for printed circuit board design. It creates a standardized communication bridge between AI assistants and the KiCAD PCB design software, allowing for natural language control of advanced PCB design operations.
We're excited to announce the addition of schematic generation capabilities! Now, in addition to PCB design, KiCAD MCP enables AI assistants to:
This powerful addition completes the PCB design workflow, allowing AI assistants to help with both schematic capture and PCB layout in a single integrated environment.
This project is complete and ready for production use:
The server works seamlessly with Cline/Claude, enabling AI-assisted PCB design through natural language.
KiCAD MCP transforms how engineers and designers work with KiCAD by enabling AI assistants to:
This enables a natural language-driven PCB design workflow where complex operations can be requested in plain English, while still maintaining full engineer oversight and control.
git clone https://github.com/kicad-ai/kicad-mcp.git
cd kicad-mcp
npm install
npm run build
Install VSCode from the official website if not already installed
Install the Cline extension (Claude for VSCode) from the VSCode marketplace
Edit the Cline MCP settings file:
%USERPROFILE%\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Add this configuration to the file (update paths as needed for your system):
"kicad": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": [
"C:/path/to/kicad-mcp/dist/kicad-server.js"
],
"env": {
"PYTHONPATH": "C:/Program Files/KiCad/9.0/lib/python3/dist-packages",
"DEBUG": "mcp:*"
},
"transportType": "stdio"
}
Create a new KiCAD project named 'TestProject' in the 'test' directory.
Here are some examples of what you can ask Claude to do with KiCAD MCP:
Create a new KiCAD project named 'WiFiModule' in my Documents folder.
Open the existing KiCAD project at C:/Projects/Amplifier/Amplifier.kicad_pro
Create a new schematic named 'PowerSupply'.
Add a 10kΩ resistor and 0.1µF capacitor to the schematic.
Connect the resistor's pin 1 to the capacitor's pin 1.
Set the board size to 100mm x 80mm.
Add a rounded rectangle board outline with 3mm corner radius.
Add mounting holes at each corner of the board, 5mm from the edges.
Place a 10uF capacitor at position x=50mm, y=30mm.
Create a grid of 8 LEDs, 4x2, starting at position x=20mm, y=10mm with 10mm spacing.
Align all resistors horizontally and distribute them evenly.
Create a new net named 'VCC' and assign it to the power net class.
Route a trace from component U1 pin 1 to component C3 pin 2 on layer F.Cu.
Add a copper pour for GND on the bottom layer.
Set design rules with 0.2mm clearance and 0.25mm minimum track width.
Export Gerber files to the 'fabrication' directory.
The KiCAD MCP implementation uses a modular, maintainable architecture:
kicad_interface.py: The main Python interface that:
Modular Command Structure:
commands/project.py
: Project creation, opening, savingcommands/schematic.py
: Schematic creation and managementcommands/component_schematic.py
: Schematic component operationscommands/connection_schematic.py
: Wire and connection managementcommands/library_schematic.py
: Symbol library integrationcommands/board/
: Modular board manipulation functions
size.py
: Board size operationslayers.py
: Layer managementoutline.py
: Board outline creationview.py
: Visualization functionscommands/component.py
: PCB component placement and manipulationcommands/routing.py
: Trace routing and net managementcommands/design_rules.py
: DRC and rule configurationcommands/export.py
: Output generation in various formatsThis architecture ensures that each aspect of PCB design is handled by specialized modules while maintaining a clean, consistent interface layer.
Problem: KiCAD MCP isn't showing up in Claude's tools
npm run build
completed successfullyProblem: Node.js errors when launching the server
npm install
again to ensure all dependencies are properly installedProblem: Python errors or KiCAD commands failing
Problem: Claude can't find or load your KiCAD project
If you encounter issues not covered in this troubleshooting section:
Contributions to this project are welcome! Here's how you can help:
Please follow the existing code style and include tests for new features.
This project is licensed under the MIT License - see the LICENSE file for details.
{ "mcpServers": { "kicad-mcp-server": { "command": "C:\\Program Files\\nodejs\\node.exe", "args": [ "C:/path/to/kicad-mcp/dist/kicad-server.js" ] } } }
Related projects feature coming soon
Will recommend related projects based on sub-categories