KiCad Design Assistant
AI-powered design review and repair tool for KiCad PCB projects.
Features:
- Analyze PCB boards and schematics
- Check DFM rules for JLCPCB, PCBWay, OSHPark
- Auto-fix issues (track widths, via sizes, annular rings)
- Add power planes and ground stitching vias
- Export BOM (Bill of Materials)
- Works as Claude Code skill AND MCP server
Installation
Option 1: pip install (Recommended)
pip install kicad-assistant
Then configure MCP in ~/.claude/mcp.json:
{
"mcpServers": {
"kicad": {
"command": "kicad-mcp"
}
}
}
Option 2: Claude Code Skill
git clone https://github.com/cohen5/kicad-assistant ~/.claude/skills/kicad-assistant
pip install kiutils
Option 3: From source
git clone https://github.com/cohen5/kicad-assistant
cd kicad-assistant
pip install -e .
Usage Examples
Analyze a board
Analyze the PCB at ~/projects/myboard.kicad_pcb
Check manufacturing rules
Check if this board meets JLCPCB specs
Check DFM for PCBWay advanced capabilities
Auto-fix issues
Fix all DFM issues in this board
Fix the track widths to meet JLCPCB rules
Add power planes
Add a GND plane on layer In1.Cu
Add +3V3 power plane on In2.Cu
Add stitching vias
Add ground stitching vias with 5mm spacing
Add thermal vias
Add thermal vias under U1
Recommend stackup
What layer stackup should I use for this board?
Export BOM
Export BOM as CSV
MCP Tools
| Tool | Description |
|---|---|
analyze_board |
Board statistics and structure |
analyze_schematic |
Schematic structure |
check_dfm |
DFM validation against fab rules |
check_erc |
Schematic electrical rule check |
fix_board_issues |
Auto-fix DFM violations |
add_power_plane |
Create power/ground plane |
add_stitching_vias |
Add ground stitching |
add_thermal_vias |
Add thermal vias under component |
recommend_stackup |
Suggest layer configuration |
export_bom |
Export Bill of Materials |
find_project_files |
Find KiCad files in directory |
DFM Presets
| Preset | Min Track | Min Via Drill | Description |
|---|---|---|---|
jlcpcb_standard |
0.127mm (5mil) | 0.3mm | JLCPCB standard process |
jlcpcb_advanced |
0.09mm (3.5mil) | 0.2mm | JLCPCB HDI process |
pcbway_standard |
0.127mm | 0.3mm | PCBWay standard |
oshpark |
0.152mm (6mil) | 0.254mm | OSH Park (purple boards) |
Python API
from kicad_assistant.board.analyzer import analyze_board
from kicad_assistant.board.dfm import check_dfm
from kicad_assistant.board.fixer import fix_board_issues
# Analyze
stats = analyze_board("board.kicad_pcb")
print(f"Board: {stats.board_width_mm} x {stats.board_height_mm} mm")
# Check DFM
result = check_dfm("board.kicad_pcb", preset="jlcpcb_standard")
print(f"Status: {result.status}, Errors: {len(result.errors)}")
# Auto-fix
fix_result = fix_board_issues("board.kicad_pcb", preset="jlcpcb_standard")
print(f"Fixed {len(fix_result.fixes_applied)} issues")
Requirements
- Python 3.10+
- Dependencies installed automatically:
kiutils,mcp
Safety
All file modifications:
- Create
.bakbackup before changes - Validate files after modification
- Support dry-run mode
License
MIT License
Metadata
Release files for kicad-assistant 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kicad_assistant-2.0.0.tar.gz | 21.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kicad_assistant-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 48.5 kB
Release files / kicad_assistant-2.0.0.tar.gz
| Download URL | kicad_assistant-2.0.0.tar.gz |
|---|---|
| Size | 21.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d89a1d029e78f886e7a5fed08f7d1afcb4e978aa21ce8ed7a249c718e92c19f3
|
|
BLAKE2b-256 checksum How to use checksums |
88e5bba5ee078feb2b7e5c5f02f0fd1ac3fd84bdf0d15814013d71bfe0496d95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|
Release files / kicad_assistant-2.0.0-py3-none-any.whl
| Download URL | kicad_assistant-2.0.0-py3-none-any.whl |
|---|---|
| Size | 27.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cc848ab37b8d07178f1d9224433a3a8362221e84081dca5813425e8b52f8831e
|
|
BLAKE2b-256 checksum How to use checksums |
073b9b8af2a95a2c0c0db8a3739e85fd95c583f700cecf5f911cafbdae58d7ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|