← Back to MCP list
🔌

KiPilot MCP

v0.1.1
Feature DerivationLocalHardware

Based 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\)
View full setup guide →

§ 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

ParameterTypeRequiredDescription
netstringNet name

kicad_get_footprints

List placed footprints with layer summaries

kicad_move_footprint

Move a footprint to an absolute position (dry-run supported)

ParameterTypeRequiredDescription
referencestringFootprint 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.