← Back to directory
K

KiCad MCP Server

Community
Manage and analyze KiCad PCB designs with natural language
Category
Dev Tools #176 of 438
Stars
★ 528 Popular
Transport
stdio (local process)
Runtime
Python 3.10+ · Prebuilt binary KiCad 9.0+ (required
Credentials
No credential needed
License
MIT
Last commit
⚠
Tools
1
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.

Strongest · Documentation 15/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
11/20
Maintenance
10/20
Documentation
15/20
Setup experience
12/20
Why each score
Reliability 8/20
The README describes the three MCP capability types and a modular project layout (server.py, resources/, tools/, prompts/, tests/), but supplies no verifiable execution evidence — no CI workflow files, no test run logs, and no way to confirm declared tools (open_project, DRC checks, BOM export, thumbnail generation) match real behavior. Under the static calibration rule, reliability is capped at 12 without CI+test evidence; given how thin the evidence is, it is further reduced to 8.
Security and permissions 11/20
The server launches the local KiCad application, invokes the KiCad CLI for DRC checks, reads project files from configurable search paths, and generates output files — real local side effects. The README does not describe any confirmation step before these actions, nor does it disclose least-privilege boundaries or data-flow scope (e.g., whether access is strictly limited to configured search paths). No red-line behavior (credential theft, covert exfiltration, irreversible destructive defaults, remote code execution) is evident, but risk disclosure and permission scoping are incomplete, warranting a below-midpoint score of 11.
Maintenance 10/20
The project is MIT licensed and not archived, with 494 stars and 29 open issues indicating some level of attention, but the provided material contains no commit history, release cadence, dependency-update policy, or security-response channel, so activity and responsiveness cannot be assessed — scored a middling 10.
Documentation 15/20
The README is well organized, covering prerequisites, installation, configuration, troubleshooting, and contribution guidance, and links to multiple topic guides under docs/ (project management, DRC, BOM, netlist extraction, thumbnails, pattern recognition, configuration, development). This reflects good layered-documentation practice, but there is no verifiable evidence of tool-parameter detail, cost/performance limits, or the actual content of the linked sub-docs, so it falls short of full marks at 15.
Setup experience 12/20
Setup steps are clear (clone repo, make install via uv, copy .env, run main.py, manually edit the Claude Desktop config JSON with absolute paths, restart the client) and claim Mac/Windows/Linux support, though the config example is macOS-specific and requires manual absolute-path substitution and hand-editing JSON — a manual, error-prone process. Since this is a static review with no verifiable execution evidence, setup is capped at 15 per the calibration rule, and further reduced to 12 due to the manual, fragile flow.

Static review · not runListed 2026-09-07

Read the FMRS scoring method →

Fit and risk

What it can accessReads local filesRuns commands or code

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

Setup

Before you start

Runtime:Python 3.10+ · Prebuilt binary KiCad 9.0+ (required

Other optional settings (3)
KICAD_SEARCH_PATHS optional Comma-separated directories to search for KiCad projects, set in the .env file in the project root.
KICAD_USER_DIR optional Optional override for the default KiCad user directory, set in .env.
KICAD_APP_PATH optional Optional override for the KiCad application path, e.g. /Applications/KiCad7/KiCad.app.

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"]}}}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

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

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add kicad -- /ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp/.venv/bin/python /ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp/main.py

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After restarting your MCP client, the kicad server should appear with the open_project tool listed; asking "What KiCad projects do I have?" should return results from your configured search paths, confirming the connection.

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

Things to try

Once connected, you can ask your AI assistant things like:

  • Show me all my recent KiCad projects sorted by modification date
  • Open my Arduino shield project in KiCad
  • Analyze the component density of my temperature sensor board
  • Generate a thumbnail of my audio amplifier PCB

Tools 1

open_project writes
Launches KiCad with a specific project

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 Desktop

Listed from the project's documentation, not tested by this site.

Overview

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.

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 63.3k · Tools 2 Compare with this →

Source revision 98c9ea41cb39 Data synced 2026-10-19 Read the FMRS scoring method