AI Dev Tools KiCad MCP Server in Practice: AI-Assisted PCB Design, Schematics & Routing
In August 2026, mixelpixx/KiCAD-MCP-Server has accumulated over 1,900 stars on GitHub, while Seeed-Studio, lamaalrajih, and others have each released their own KiCad MCP implementations. MCP (Model Context Protocol) is expanding from AI coding assistants in software development to AI-assisted PCB design in hardware design — meaning you can now use AI tools like Claude, Cursor to directly operate KiCad for schematic analysis, PCB routing, DRC/ERC checks, and more.
For IoT hardware developers, this is a significant signal: AI can no longer just write firmware code — it now helps you design circuit boards. This article will walk you through setting up a KiCad + MCP environment from scratch and demonstrate the full AI-assisted PCB design workflow.
What is KiCad MCP Server?
KiCad MCP Server is a Model Context Protocol implementation that serves as an intermediary layer, enabling AI assistants (such as Claude Desktop, Cursor, Windsurf) to interact with KiCad EDA software through standardized tool interfaces.
How It Works
User (natural language) → AI Client (Claude/Cursor) → MCP Server → KiCad Files/API
The MCP Server wraps KiCad’s capabilities into a set of JSON Schema-defined tools. AI clients invoke these tools via the MCP protocol. The entire process uses stdio communication — no additional network ports required.
Three Major Implementations
| Project | Stars | Tools | Focus | License |
|---|---|---|---|---|
| mixelpixx/KiCAD-MCP-Server | 1,914 | 146 | Comprehensive PCB design automation | MIT |
| lamaalrajih/kicad-mcp | 494 | 30+ | Project management & analysis | MIT |
| Seeed-Studio/kicad-mcp-server | 81 | 40+ | PCB analysis & validation | Open Source |
mixelpixx is the most comprehensive implementation, with 146 tools across 13 categories: schematic editing, PCB layout, autorouting (Freerouting integration), JLCPCB parts lookup (2.5M+ components), Gerber export, and more.
Seeed-Studio focuses on PCB analysis and validation, leveraging the pcbnew API for precise trace length analysis, signal integrity checks, and power integrity analysis — ideal for IoT device designs with signal quality requirements.
lamaalrajih emphasizes project management and BOM generation, with circuit pattern recognition (auto-detecting buck/boost/linear regulator topologies), making it well-suited for design review scenarios.
The Value of MCP in Hardware Design
Why Does Hardware Design Need MCP?
Traditional hardware design workflows are highly manual: engineers place components one by one in KiCad, manually route traces, and check DRC rules individually. MCP brings AI reasoning capabilities into this workflow:
- Schematic Analysis: AI can instantly understand entire circuit topologies, identify power domains, signal chains, and key components
- Design Review: AI automatically checks ERC rules, finding common errors like floating pins and power conflicts
- Routing Assistance: AI analyzes netlist connections and suggests routing strategies for critical signals
- BOM Optimization: AI queries the JLCPCB parts database, recommends alternatives, and checks stock status
This follows the same philosophy as AI coding assistants in software — using AI to handle repetitive work while engineers focus on design decisions.
MCP vs Traditional Script Automation
KiCad itself supports Python scripting, but MCP offers distinct advantages:
| Comparison | Python Scripts | MCP Server |
|---|---|---|
| Interaction | Write code, debug, run | Natural language dialogue |
| Learning curve | Must learn KiCad API | Zero code — just describe needs |
| Context awareness | None, starts fresh each time | AI understands full project context |
| Error handling | Manual try/catch | AI analyzes errors and fixes automatically |
| Best for | Batch repetitive operations | Exploratory design, analysis, review |
Environment Setup: KiCad + MCP + Claude/Cursor
Prerequisites
- KiCad 8.0+ (9.0 or 10.0 recommended)
- Python 3.9+
- Node.js 18+ (required for some features)
- AI Client: Claude Desktop, Cursor, or any MCP-compatible client
Option 1: mixelpixx/KiCAD-MCP-Server (Recommended for Beginners)
This is the most feature-complete implementation, ideal for users wanting full PCB design automation.
Installation:
# 1. Clone the repository
git clone https://github.com/mixelpixx/KiCAD-MCP-Server.git
cd KiCAD-MCP-Server
# 2. Install Python dependencies
pip install -e .
# 3. Install Node dependencies (needed for some features)
npm install
# 4. (Optional) Install Freerouting for autorouting
# Download: https://github.com/freerouting/freerouting/releases
# Ensure Java runtime is installed
Claude Desktop Configuration:
Edit the config file (location varies by OS):
{
"mcpServers": {
"kicad": {
"type": "stdio",
"command": "python",
"args": ["-m", "kicad_mcp_server"],
"cwd": "/path/to/KiCAD-MCP-Server"
}
}
}
Config file locations:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Claude Code CLI Configuration:
claude mcp add kicad -s user -- python -m kicad_mcp_server
Cursor Configuration:
Add the same JSON config in Cursor’s Settings → MCP.
Option 2: Seeed-Studio/kicad-mcp-server (Recommended for Analysis)
If you primarily need PCB analysis and validation (signal integrity, power integrity, DRC/ERC), this version is more specialized.
# 1. Clone the repository
git clone https://github.com/Seeed-Studio/kicad-mcp-server.git
cd kicad-mcp-server
# 2. Install using KiCad's bundled Python (critical! pcbnew module only available in KiCad Python)
# Windows: "C:\Program Files\KiCad\9.0\bin\python.exe" -m pip install -e .
# macOS: /Applications/KiCad/KiCad.app/Contents/Frameworks/python3/bin/python3 -m pip install -e .
# Linux: /usr/bin/python3 -m pip install -e .
# 3. Ensure kicad-cli is in PATH
which kicad-cli
Configuration is identical to the mixelpixx version — just update command and cwd paths.
Option 3: lamaalrajih/kicad-mcp (Recommended for Project Management)
git clone https://github.com/lamaalrajih/kicad-mcp.git
cd kicad-mcp
make install # Uses uv to create a virtual environment
# Configure environment
cp .env.example .env
# Edit .env to set KICAD_SEARCH_PATHS to your KiCad project directory
Practice 1: AI-Assisted Schematic Design
Scenario: Designing an ESP32-C6 Minimum System
Let’s use AI to design an ESP32-C6 minimum system schematic. This directly relates to the hardware design portion of our ESP32-C6 Matter Smart Home Guide.
Step 1: Create Project
In Claude, start a conversation:
User: Create a new KiCad project called ESP32C6_MinSystem
AI calls create_kicad_project to automatically create the project file structure (.kicad_pro, .kicad_sch, .kicad_pcb).
Step 2: Add Core Components
User: Add the following components to the schematic:
- U1: ESP32-C6-MINI-1 (main controller module)
- U2: AMS1117-3.3 (3.3V LDO regulator)
- J1: USB-C connector (power and data)
- C1-C4: 100nF decoupling capacitors
- C5: 10uF bulk capacitor
- R1-R2: 10kΩ pull-up resistors (for I2C)
AI calls search_symbols to find component symbols in the library, then uses add_component_from_library to add each to the schematic. The mixelpixx version supports approximately 10,000 dynamically loaded symbols.
Step 3: Wire Connections
User: Connect the following:
- USB-C VBUS → AMS1117 input
- AMS1117 output → ESP32-C6 3V3 pin
- All decoupling caps to corresponding power and GND
- I2C pull-up resistors to SDA/SCL lines
AI calls add_wire to complete the wiring.
Note: Schematic editing is currently experimental. KiCad has no Python API for schematic editing — the MCP Server manipulates S-expression file formats directly. We recommend using AI for initial layout, then fine-tuning placement and routing in the KiCad GUI.
Scenario: Analyzing Existing Schematics
If you already have a schematic file, AI’s analysis capabilities are even more practical:
User: Analyze all components in /projects/IoT_Sensor/Board.kicad_sch,
tell me about power domain distribution and critical signal paths
AI calls list_schematic_components and list_schematic_nets, returning a complete component inventory and netlist analysis. The Seeed-Studio version can additionally trace complete connection paths for specific components via trace_netlist_connection.
Practice 2: AI-Assisted PCB Routing
Scenario: ESP32-C6 Dev Board PCB Layout Analysis
Step 1: Initialize PCB Layout
User: Set PCB dimensions to 50mm x 30mm, 4-layer board,
minimum trace width 0.15mm, minimum clearance 0.15mm
AI calls setup_pcb_layout to initialize PCB design rules.
Step 2: Component Placement Suggestions
User: Based on schematic connectivity, suggest PCB component placement positions
The mixelpixx version’s suggest_placement tool analyzes netlist connectivity and provides placement suggestions based on connection density — particularly useful for the compact board layouts common in IoT devices.
Step 3: Autorouting
User: Autoroute this board using Freerouting
AI sequentially calls three tools:
export_dsn— Export Specctra DSN formatautoroute— Invoke Freerouting engine to complete routingimport_ses— Import routing results back into KiCad
Step 4: Routing Quality Analysis
User: Analyze current PCB routing, check USB differential pair length matching
The Seeed-Studio version’s analyze_pcb_signal_integrity tool checks differential pair length matching, RF trace impedance control, and other signal integrity metrics. analyze_pcb_power_integrity analyzes power plane coverage and via distribution.
DRC/ERC Automated Checks
ERC (Electrical Rules Check)
ERC verifies that schematic electrical connections are correct — the first line of defense in design review:
User: Run ERC on the current schematic, list all errors
AI calls run_erc (via kicad-cli), returning a detailed violation list:
- Floating pins (unconnected inputs/outputs)
- Power conflicts (multiple outputs shorted)
- Missing power flags
- Pin type mismatches
The Seeed-Studio version additionally provides detect_pin_conflicts to predict potential pin conflicts before running ERC.
DRC (Design Rules Check)
DRC verifies that PCB layout meets manufacturing and electrical rules:
User: Run DRC check, focus on clearance violations and via issues
AI calls run_drc, checking for:
- Insufficient copper clearance
- Trace width violations
- Via-to-board-edge distance issues
- Silkscreen overlaps
- Unconnected nets (remaining ratsnest)
Automated Review Workflow
A typical AI-assisted design review flow:
1. User: Run ERC → AI finds 3 floating pins
2. User: Fix these floating pins → AI adds appropriate pull-down/pull-up resistors
3. User: Run ERC again → Pass
4. User: Run DRC → AI finds 2 clearance violations
5. User: Adjust routing to resolve clearance issues
6. User: Run DRC again → Pass
7. User: Generate BOM → AI outputs complete bill of materials
This iterative review process is far more efficient than manual checking, especially for PCB design beginners to quickly identify and fix common issues.
Comparison with Other Hardware MCP Tools
KiCad MCP isn’t the only hardware design MCP tool. Here’s the current hardware MCP ecosystem:
| Tool | Stars | Domain | License | AI Client Support |
|---|---|---|---|---|
| mixelpixx/KiCAD-MCP-Server | 1,914 | PCB design | MIT | Claude, Cursor, any MCP |
| neka-nat/freecad-mcp | 1,842 | 3D mechanical design | MIT | Claude Desktop |
| lamaalrajih/kicad-mcp | 494 | PCB analysis | MIT | Any MCP |
| Seeed-Studio/kicad-mcp-server | 81 | PCB validation | Open Source | Any MCP |
| Joe-Spencer/fusion-mcp-server | 48 | Professional CAD/CAM | GPL v3.0 | Claude, Cursor |
KiCad MCP vs FreeCAD MCP
- FreeCAD MCP (1,842 stars) focuses on mechanical design and 3D modeling — ideal for enclosures, brackets, and structural components
- KiCad MCP focuses on electronic design and PCB layout — ideal for circuit board design
- They’re complementary: a complete IoT device design typically requires FreeCAD (structure) + KiCad (circuits)
KiCad MCP vs Fusion 360 MCP
- Fusion 360 MCP has official Autodesk backing but lower community adoption (48 stars)
- KiCad MCP is fully open source with multiple community implementations and faster iteration
- Fusion suits commercial-grade product design; KiCad serves makers and small-to-medium teams
Future Outlook
mixelpixx is developing “Konnect” — a Rust-based native KiCad 10 plugin providing 171 tools. This will significantly improve performance and stability, expected to launch in the second half of 2026.
Limitations and Considerations
Current Limitations
-
Schematic editing is experimental: KiCad has no schematic Python API. MCP Server implements editing by directly manipulating S-expression files. Wire connections may not form perfect electrical connections, and visual alignment is basic. You must close and reopen KiCad to see changes (no hot-reload).
-
PCB analysis depends on pcbnew module: Full PCB analysis (precise trace lengths, signal integrity, etc.) requires the pcbnew module, which is only available in KiCad’s bundled Python environment. System Python installations can only access basic data.
-
Real-time UI integration is still experimental: MCP Server primarily interacts with KiCad through file operations. Real-time synchronization to the KiCad UI is not yet stable.
-
Version compatibility: Different MCP Servers have different KiCad version requirements. Seeed-Studio requires KiCad 8.0+ (9.0/10.0 recommended); lamaalrajih requires KiCad 9.0+.
Best Practice Recommendations
- Use KiCad GUI for design work: Component placement, critical signal routing, and other fine operations should still be done in the KiCad graphical interface
- Use MCP for analysis and validation: ERC/DRC checks, netlist analysis, signal integrity checks, BOM generation, and other repetitive analysis tasks should be delegated to AI
- Use MCP for code generation: Device tree (.dts) generation and hardware test code generation are MCP strong points
- Keep KiCad and MCP Server versions in sync: The community iterates quickly, and known issues (such as SWIG ownership bugs, net class loss, etc.) are continuously fixed in new versions
Summary & Rating
KiCad MCP Server represents an important milestone in AI-assisted hardware design. While schematic editing remains experimental, features like PCB analysis, DRC/ERC checking, BOM management, and code generation are already quite practical.
Recommendation Ratings:
| Scenario | Rating | Notes |
|---|---|---|
| Design review & DRC/ERC | ⭐⭐⭐⭐⭐ | Highest value scenario — AI analysis far exceeds manual speed |
| BOM management & parts lookup | ⭐⭐⭐⭐⭐ | JLCPCB 2.5M+ parts catalog integration, very practical |
| Signal/power integrity analysis | ⭐⭐⭐⭐ | Seeed-Studio version performs excellently |
| Schematic editing | ⭐⭐ | Experimental — use only for initial layout |
| PCB autorouting | ⭐⭐⭐ | Freerouting integration works, but complex boards still need manual adjustment |
| Code generation (device tree/tests) | ⭐⭐⭐⭐ | Seeed-Studio exclusive — a boon for embedded developers |
For IoT hardware developers, we recommend starting with the mixelpixx version (most comprehensive features), and adding the Seeed-Studio version if deep PCB analysis is needed. With the upcoming Konnect (Rust native plugin) and KiCad’s official IPC API maturation, the AI-assisted PCB design experience will continue to improve.
Frequently Asked Questions (FAQ)
Q1: Which AI clients does KiCad MCP Server support?
All KiCad MCP Servers follow the MCP protocol standard and support any MCP-compatible client, including Claude Desktop, Claude Code CLI, Cursor, and Windsurf. Configuration is the same — add the KiCad Server’s stdio connection info in the client’s MCP config file.
Q2: Can KiCad MCP Server fully replace manual PCB design?
No. Schematic editing is currently experimental — KiCad has no schematic Python API, and the MCP Server implements editing through file operations without hot-reload support. Best practice: use AI for analysis, validation, and code generation; use KiCad GUI for detailed design work.
Q3: Which KiCad MCP Server version is best for beginners?
We recommend mixelpixx/KiCAD-MCP-Server (1,914 stars). It’s the most comprehensive (146 tools), has the most active community, and the best documentation. Installation is also simplest — just pip install -e .. If you primarily need PCB signal integrity analysis, you can additionally install the Seeed-Studio version.
Q4: Which KiCad versions does MCP Server support?
mixelpixx and Seeed-Studio versions support KiCad 8.0+ (9.0 or 10.0 recommended). The lamaalrajih version requires KiCad 9.0+. We recommend using the latest stable KiCad version for best compatibility. Note that Seeed-Studio’s PCB analysis features require KiCad’s bundled Python environment (the pcbnew module is not available in system Python).
Q5: What’s the difference between KiCad MCP and FreeCAD MCP?
They target different design domains: KiCad MCP focuses on electronic circuits and PCB design (schematics, routing, DRC), while FreeCAD MCP focuses on mechanical design and 3D modeling (parts, assemblies, enclosures). For complete IoT device development, they complement each other — FreeCAD for structural components, KiCad for circuit boards.