KiPilot MCP
v0.1.1Based on belaszalontai/kipilot-mcp. Talks to the user-opened PCB via official kicad-python IPC without replacing the GUI. Best when a human watches the board while an agent helps move footprints, add tracks, or inspect nets. Requires KiCad 10+ with PCB Editor open; keep mutations off (KIPILOT_ENABLE_MUTATIONS=0) for read-only exploration first.
§ Quickstart
Add the following to your MCP client configuration (Cursor, Claude Desktop, etc.):
Clone the repo, create a venv, and launch as a module. Good for development and review.
Point command at your .venv python. Open KiCad PCB before starting the MCP; Connection refused usually means the PCB Editor is not running.
Clone and install dependencies:
git clone https://github.com/belaszalontai/kipilot-mcp.git && cd kipilot-mcp && python -m venv .venv && .venv\Scripts\pip install -e .MCP Client Configuration
{
"mcpServers": {
"kipilot-mcp": {
"command": "python",
"args": [
"-m",
"kipilot_mcp.server"
],
"env": {
"KIPILOT_KICAD_CLIENT_NAME": "kipilot-mcp",
"KIPILOT_KICAD_TIMEOUT_MS": "60000",
"KIPILOT_ENABLE_MUTATIONS": "0",
"KIPILOT_LOG_LEVEL": "INFO"
}
}
}
}Config file locations
- Cursor: Settings → MCP, or edit ~/.cursor/mcp.json
- Claude Desktop: edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\)
§ Tools Reference
10 tools
ping_kicad
Check whether KiCad 10 PCB IPC is reachable
kicad_get_board_summary
Return summary metadata for the open PCB
kicad_get_nets
List net names on the current board
kicad_get_items_by_net
Query board items associated with a named net
| Parameter | Type | Required | Description |
|---|---|---|---|
| net | string | ✓ | Net name |
kicad_get_footprints
List placed footprints with layer summaries
kicad_move_footprint
Move a footprint to an absolute position (dry-run supported)
| Parameter | Type | Required | Description |
|---|---|---|---|
| reference | string | ✓ | Footprint reference, e.g. R1 |
kicad_create_track_segments
Create straight track segments from polyline points
kicad_create_via
Create a via at a board position
kicad_refill_zones
Refill copper zones
kicad_save_board
Save the current board to disk
§ Examples
Once configured, you can ask the AI directly:
Connectivity self-check
Ping KiCad first; if ok, return board summary and net list.
Confirm IPC before reading the board.
Read-only net inspect
List tracks, vias, and pads on GND without modifying the board.
Keep mutations disabled.
LadleAgent