Skip to main content
Glama
brovk2008
by brovk2008

KiCad MCP Server ๐Ÿ”Œ๐Ÿ“

License: MIT Python: 3.10+ KiCad: 9.0+

An implementation of the Model Context Protocol (MCP) server for KiCad 9.0+, enabling Large Language Models (LLMs) like Claude to inspect, edit, analyze, and render PCB layouts in real-time.

It leverages the official kicad-python API to communicate with running KiCad instances over local Unix domain sockets or Windows named pipes.


๐Ÿš€ Key Features

This server exposes 14 specialized modules providing comprehensive control over the board layout:

Module

Description

Key Tools

๐ŸŽ›๏ธ Board

Inspect/update PCB configurations, units, and canvas settings

get_board_info, get_board_stackup, set_active_layer, undo_transaction

๐Ÿงฉ Footprints

Manage component properties, placements, and pads

get_footprints, move_footprint, set_footprint_property, delete_footprints

โšก Tracks & Vias

List, route, resize, and remove traces and vias

get_tracks, create_track, get_vias, create_via, delete_tracks_in_rect

๐Ÿ—บ๏ธ Zones

Control copper pours, fill/unfill, and rule boundaries

get_zones, create_zone, refill_zones

๐ŸŒ Nets

Import netlists, manage classes, and trace connectivity

get_nets, get_net_classes, import_netlist

๐Ÿ”ค Text

Add and style free-standing board text labels and textboxes

get_text, create_text, create_textbox, delete_text

๐ŸŽจ Shapes

Draw graphic segments, rects, circles, and polygons on user layers

get_shapes, create_shape

๐Ÿ“ Dimensions

Place precise dimension and measurement markings

get_dimensions, create_dimension

๐Ÿ‘ฅ Groups

Read structural component groupings (KiCad 10+)

get_groups

๐ŸŽฏ Selection

Read active selection, select footprints, and invoke actions

get_selection, select_footprints, run_action

๐Ÿ‘๏ธ Appearance

Adjust layer visibility, contrast modes, ratsnest lines, and flip view

get_editor_appearance, set_board_flip, set_inactive_layer_display

๐Ÿ“ฆ Exports

Export manufacturing files (Gerbers, drills, position, ODB++, PDF, STEP)

export_gerbers, export_drill, export_position, export_3d, export_pdf

๐Ÿ“ธ Screenshots

Render visual PNG screenshots of the board or specific selection

get_board_screenshot, get_selection_screenshot

๐Ÿ’ป CLI Wrapper

Headless CLI automation for schematics, ERC, DRC, and more

run_kicad_cli, run_erc, run_drc, export_schematic_pdf, export_schematic_netlist


Related MCP server: KiCAD Schematic Manipulation MCP Server

๐Ÿ“‹ Prerequisites

  1. KiCad 9.0 or higher must be installed and running.

  2. Enable the IPC API inside KiCad:

    • Go to Preferences โž” Preferences...

    • Navigate to Plugins

    • Check the Enable KiCad IPC API box.

  3. Python 3.10+ (tested on Python 3.10 through 3.14).


โš™๏ธ Installation & Setup

We recommend using uv for fast and isolated environment setup.

1. Clone the Repository

git clone https://github.com/brovk2008/Kicad-MCP-server.git
cd Kicad-MCP-server

2. Set Up the Virtual Environment

# Using uv (recommended)
uv venv
uv pip install -e .

# Or using standard pip
python -m venv .venv
source .venv/bin/activate  # Or `.venv\Scripts\activate` on Windows
pip install -e .

Note: The project automatically applies a dynamic Protobuf descriptor pool patch to ensure compatibility with kicad-python 0.7.1 on Python 3.14.


๐Ÿ› ๏ธ MCP Configuration

To use this server with Claude Desktop, add the configuration snippet below to your Claude configuration file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json

Configuration Snippet

{
  "mcpServers": {
    "kicad-mcp": {
      "command": "uv",
      "args": [
        "run",
        "--package",
        "kicad-mcp",
        "kicad-mcp"
      ],
      "cwd": "C:/Users/techp/Downloads/more projects/Kicad mcp",
      "env": {
        "KICAD_API_SOCKET": "ipc:///tmp/kicad/api.sock"
      }
    }
  }
}

(Adjust the cwd directory to point to your local installation path. For Windows, the socket path defaults to ipc://%TEMP%\\kicad\\api.sock if not explicitly set).


๐Ÿงช Running Tests

A test suite is included to verify unit conversions, coordinate mappings, and error wrappers:

# Activate your virtual environment and run:
pytest tests/unit/

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Install Server
A
license - permissive license
C
quality
C
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Enables natural language interaction with KiCad projects, schematics, and PCBs, supporting project management, design rule checking, netlist extraction, and datasheet RAG search.
    2
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    Enables AI coding assistants to control JLCPCB EDA for PCB automation, exposing 39 tools for component manipulation, routing, copper pour, DRC, and more. Includes a built-in PCB agent for orchestrating multi-step tasks.
    59
    183
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Enables AI assistants like Claude to interact with KiCAD for PCB design automation, providing comprehensive tool schemas and real-time project state access.
    64
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.

  • Agent-first CAD: editable .kcad.ts source, deterministic review, OpenCASCADE kernel.

  • Electronic component datasheets for AI agents โ€” specs, pinouts, package data on demand.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brovk2008/Kicad-MCP-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server