Kicad MCP server
MCP server exposing KiCad PCB Editor functionality via IPC API
0 stars33 downloads/wk
Reviews
Write oneNobody has reviewed Kicad yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Kicad tools (41, 11 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_to_selectionAdd an item to the selection.
check_connectionCheck if currently connected to KiCad.
clear_selectionClear the current selection.
connect_kicadConnect to a running KiCad instance via the IPC API.
create_arcwrite actionCreate an arc on the board.
create_circlewrite actionCreate a circle on the board.
create_footprintwrite actionPlace a footprint on the board.
create_linewrite actionCreate a line segment on the board.
create_netwrite actionCreate a new net on the board.
create_rectanglewrite actionCreate a rectangle on the board.
create_textwrite actionCreate a text element on the board.
create_trackwrite actionCreate a track segment on the board.
create_viawrite actionCreate a via on the board.
create_zonewrite actionCreate a copper zone on the board.
delete_itemwrite actionDelete an item from the board.
get_board_design_settingsGet board design rules and constraints.
get_board_infoGet board metadata (title, date, company, revision, comments).
get_footprintGet detailed properties of a specific footprint by reference designator.
get_item_by_idGet item details by ID.
get_layersList all PCB layers with their properties.
get_netGet detailed information about a specific net by name.
get_projectGet current project information.
get_selectionGet the current selection.
get_text_extentsCalculate the bounding box of a text string.
get_versionGet KiCad version and API version information.
list_footprintsList all footprints on the board.
list_netclassesList all netclasses on the board.
list_netsList all nets on the board.
list_padsList all pads across all footprints.
list_textsList all text elements on the board.
list_tracksList all tracks on the board.
list_viasList all vias on the board.
list_zonesList all zones (copper areas) on the board.
move_footprintMove a footprint to a new position by reference.
move_itemMove an item to a new position.
refill_zonesRefill all zones on the board.
rotate_footprintRotate a footprint by reference.
rotate_itemRotate an item.
save_boardSave the board to a file.
search_footprintsSearch footprints by reference designator, value, or footprint name.
set_active_layerSet the active layer.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan8 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 159 days ago8/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Kicad compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 82/100
- higher than 63% of 48,273 servers
- Tools
- 41
- the typical server has 7
- Tools that change things
- 27%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 33
- more than 23% of 11,915 servers with a package
What its tools let an agent do: 25 read · 12 create · 3 change · 1 delete
Install Kicad in Claude Code, Cursor or VS Code
claude mcp add mcp-kicad -- uvx mcp-kicad
What the publisher says
From the Kicad repository's README, as published. We do not edit it. Read it on GitHub
mcp-kicad — MCP server exposing KiCad PCB Editor functionality via IPC API.
Install
pip install mcp-kicadRequirements
- 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-kicadOr configure it in your MCP client:
{
"mcpServers": {
"mcp-kicad": {
"command": "mcp-kicad",
"env": {}
}
}
}Tools
The server exposes the following tools:
- Connection: connectkicad, checkconnection
- Board: getboardinfo, getlayers, getboarddesignsettings
- Footprints: listfootprints, getfootprint, search_footprints
- Nets: listnets, getnet, list_netclasses
- Zones: list_zones
- Tracks/Vias: listtracks, listvias
- Pads: list_pads
- Text: listtexts, gettext_extents
- Project: getproject, getversion
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
Nothing above is checked by us. What we check is on the safety report.
Kicad: common questions
- Is Kicad MCP server safe?
- Mostly: it is graded B (82/100). Read the Kicad safety report
- How do I install Kicad?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Kicad need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Kicad maintained?
- The last commit was 195 days ago (2026-04-21). The latest release is v0.1.1.
- How does Kicad compare with other MCP servers?
- safety score 82/100 (higher than 63% of 48,273 servers); tools 41 (the typical server has 7); tools that change things 27% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.