Back to Browse

Kicad MCP Server

Developer ToolsUse Caution4.5MCP RegistryLocal
Free

Server data from the Official MCP Registry

MCP server exposing KiCad PCB Editor functionality via IPC API

About

MCP server exposing KiCad PCB Editor functionality via IPC API

Security Report

4.5
Use Caution4.5High Risk

Valid MCP server (1 strong, 4 medium validity signals). 5 known CVEs in dependencies (1 critical, 3 high severity) Package registry verified. Imported from the Official MCP Registry.

6 files analyzed · 6 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-daedalus-mcp-kicad": {
      "args": [
        "mcp-kicad"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

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

Reviews

No reviews yet

Be the first to review this server!

Kicad MCP Server - MCP server exposing KiCad PCB Editor functionality via IPC | MCP Marketplace