← Back to directory
K

KiCad MCP Server

Community
Manage and analyze KiCad PCB designs with natural language
GitHub source repository ↗
★ 494 Stars Category · Dev Tools Popular
56FMRS · C

A well-documented, modular community MCP server for KiCad covering project management, analysis, BOM, DRC, visualization, and pattern recognition — a good fit for natural-language KiCad workflows in Claude Desktop, provided you can set up Python/uv locally and accept it is unofficial.

Reliability
8/20
Security and permissions
11/20
Maintenance
10/20
Documentation
15/20
Setup experience
12/20
Read the FMRS scoring method →

KiCad MCP Server is a Model Context Protocol server for KiCad on macOS, Windows, and Linux. It exposes KiCad project management, PCB design analysis, netlist extraction, BOM management, DRC checking, PCB visualization, and circuit pattern recognition to any MCP-compliant client such as Claude Desktop, letting users interact with their hardware projects in natural language. It requires Python 3.10+, KiCad 9.0+, and uv 0.8.0+, uses a modular structure (resources/tools/prompts/utils), and is MIT-licensed community software — not an official KiCad product.

Tools

open_project
Launches KiCad with a specific project

Setup

1) git clone https://github.com/lamaalrajih/kicad-mcp.git and cd into it; 2) install uv first (brew install uv or pipx install uv), then run make install to create .venv and install dependencies; 3) copy .env.example to .env and set KICAD_SEARCH_PATHS (comma-separated project directories), optionally KICAD_USER_DIR and KICAD_APP_PATH; 4) run python main.py; 5) add a kicad entry under mcpServers in your Claude Desktop config (e.g. ~/Library/Application Support/Claude/claude_desktop_config.) with an absolute path to .venv/bin/python and main.py; 6) restart your MCP client.

claude_desktop_config.json
{"mcpServers":{"kicad":{"command":"/ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp/.venv/bin/python","args":["/ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp/main.py"]}}}

Fit and risk

Best for

  • Engineers designing PCBs with KiCad 9.0+
  • Users who want natural-language access to design data in Claude Desktop or other MCP clients
  • Teams working across macOS, Windows, and Linux

Not for

  • Users not on KiCad or on versions below 9.0
  • Users without Python 3.10+ and uv
  • Users expecting a one-click install with no local configuration

Required permissions

  • Read local KiCad project directories defined via KICAD_SEARCH_PATHS and related environment variables
  • Read KiCad project, schematic, and PCB files
  • Invoke the KiCad CLI for operations such as DRC
  • Launch the KiCad application
  • Generate visualizations and export files such as BOMs

Risks and side effects

  • The server reads local design files; overly broad search paths may expose unrelated files
  • Some tools have side effects (opening apps, generating files) and should be invoked with user approval
  • Community-maintained software may contain bugs or lag behind new KiCad releases
  • Client configuration requires absolute paths or the server may fail due to undefined working directories

Troubleshooting

  1. Server not appearing in client: check the config JSON and the absolute paths to the Python interpreter and main.py
  2. Ensure the mcp package is accessible from Python
  3. Check that your KiCad installation is detected
  4. Review logs: ~/Library/Logs/Claude/mcp-server-kicad.log and the general Claude MCP log on macOS
  5. Always use absolute paths in config and .env files to avoid working directory issues
  6. Open a GitHub issue if problems persist

Use cases

List and open recent KiCad projects sorted by modification date
Analyze component density and spacing on a PCB
Extract component connections (netlists) from schematics
Generate and export Bills of Materials
Run DRC via the KiCad CLI and track violation fixes over time
Generate thumbnail visualizations of PCB layouts
Identify common circuit patterns such as power supply topologies

Supported clients

Claude DesktopFull support