io.github.daedalus/mcp-kicad

Official registry Other

MCP server exposing KiCad PCB Editor functionality via IPC API

What can you do with io.github.daedalus/mcp-kicad?

  • Connection: connect_kicad, check_connection
  • Board: get_board_info, get_layers, get_board_design_settings
  • Footprints: list_footprints, get_footprint, search_footprints
  • Nets: list_nets, get_net, list_netclasses
  • Zones: list_zones
  • Tracks/Vias: list_tracks, list_vias
  • Pads: list_pads
  • Text: list_texts, get_text_extents

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package mcp-kicad
Claude Code
claude mcp add mcp-kicad -- uvx mcp-kicad==0.1.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mcp-kicad": {
            "command": "uvx",
            "args": [
                "mcp-kicad==0.1.1"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Install
  2. Requirements
  3. Usage
  4. Tools
  5. Example
  6. Development

mcp-kicad — MCP server exposing KiCad PCB Editor functionality via IPC API.

Install

pip install mcp-kicad

Requirements

  • KiCad 9.0 or higher with the IPC API server enabled
  • Go to Preferences > Plugins in KiCad and enable the API server

Usage

The MCP server communicates with a running KiCad instance via the IPC API. Start KiCad first, then run the server:

mcp-kicad

Or configure it in your MCP client:

{
  "mcpServers": {
    "mcp-kicad": {
      "command": "mcp-kicad",
      "env": {}
    }
  }
}

Tools

The server exposes the following tools:

  • Connection: connect_kicad, check_connection
  • Board: get_board_info, get_layers, get_board_design_settings
  • Footprints: list_footprints, get_footprint, search_footprints
  • Nets: list_nets, get_net, list_netclasses
  • Zones: list_zones
  • Tracks/Vias: list_tracks, list_vias
  • Pads: list_pads
  • Text: list_texts, get_text_extents
  • Project: get_project, get_version

Example

from mcp_kicad import mcp_server

# Connect to running KiCad
result = mcp_server.connect_kicad()

# Get board info
board_info = mcp_server.get_board_info()
print(board_info)

# List all footprints
footprints = mcp_server.list_footprints()
for fp in footprints:
    print(f"{fp['reference']}: {fp['value']}")

Development

git clone https://github.com/daedalus/mcp-kicad.git
cd mcp-kicad
pip install -e ".[test]"

# run tests
pytest

# format
ruff format src/ tests/

# lint
ruff check src/ tests/

# type check
mypy src/

mcp-name: io.github.daedalus/mcp-kicad

Frequently asked questions

What is io.github.daedalus/mcp-kicad?

MCP server exposing KiCad PCB Editor functionality via IPC API

How do I install io.github.daedalus/mcp-kicad?

It runs on your machine. In Claude Code: claude mcp add mcp-kicad -- uvx mcp-kicad==0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.daedalus/mcp-kicad need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.daedalus/mcp-kicad open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.daedalus/mcp-kicad?

It is published by daedalus. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.