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
Metadata
Release files for mcp-kicad 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_kicad-0.1.1.tar.gz | 11.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_kicad-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.9 kB
Release files / mcp_kicad-0.1.1.tar.gz
| Download URL | mcp_kicad-0.1.1.tar.gz |
|---|---|
| Size | 11.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5f94e406d82e44d7c1c4bda23e8c99570087e184b365b4570862b20236b2f72a
|
|
BLAKE2b-256 checksum How to use checksums |
998a51cd73120bfb94afdeaf4a1ec57ff42c793f390275deb4f5d503fb61e40f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.
Transparency logRelease files / mcp_kicad-0.1.1-py3-none-any.whl
| Download URL | mcp_kicad-0.1.1-py3-none-any.whl |
|---|---|
| Size | 14.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7388f9a145673c7284502d81f054275c0043afa3433d1d193b526abb08603eaf
|
|
BLAKE2b-256 checksum How to use checksums |
5c07f49bf74d6cab51fb0ca1bf1e1285c1fd47bf12c8c2070b54fde1cc969c94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.
Transparency log