Skip to main content

MCP server exposing KiCad PCB Editor functionality via IPC API

Project description

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

PyPI Python Ruff

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_kicad-0.1.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_kicad-0.1.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file mcp_kicad-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_kicad-0.1.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcp_kicad-0.1.0.tar.gz
Algorithm Hash digest
SHA256 74e666ffa3bf2d65bfbb58bc6a03c550ca324d908942e21be5ad4c3d8d548c5a
MD5 0272f541ae655015597e769e5351e7fe
BLAKE2b-256 f486b63128f1ce10ace9d0c68f4ee08b64df6a9b9ad933d2a147b46a84bfa15f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_kicad-0.1.0.tar.gz:

Publisher: pypi-publish.yml on daedalus/mcp-kicad

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_kicad-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_kicad-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcp_kicad-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 59b8122dedb5c195bb53efb9555b208ca08b1791733e83bb83d52d49bf0119d5
MD5 891158daa6d0c6e7dfc1179dce6e1e75
BLAKE2b-256 50f89c2bae34909c0edb9a049a6a596c99df5747d8f4c222471b6c723f3f0d07

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_kicad-0.1.0-py3-none-any.whl:

Publisher: pypi-publish.yml on daedalus/mcp-kicad

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page