KiCAD

v1.0.0Developer Toolsstable

A Model Context Protocol server that enables interaction with KiCad electronic design projects, allowing users to list projects, analyze PCB designs, run design rule checks, and visualize PCB layouts through natural language.

kicad-mcp-servermcpai-integration
Share:
1,053
Stars
0
Downloads
0
Weekly
0/5

What is KiCAD?

KiCAD is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to model context protocol server that enables interaction with kicad electronic design projects, allowing users to list projects, analyze pcb designs, run design rule checks, and visualize pcb layouts th...

A Model Context Protocol server that enables interaction with KiCad electronic design projects, allowing users to list projects, analyze PCB designs, run design rule checks, and visualize PCB layouts through natural language.

This server falls under the Developer Tools category on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • A Model Context Protocol server that enables interaction wit

Use Cases

Interact with KiCAD PCB design projects through natural language.
Analyze PCB layouts and run design rule checks.
Visualize electronic schematics with AI assistance.
mixelpixx

Maintainer

LicenseMIT License
Languagepython
Versionv1.0.0
UpdatedMay 21, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx kicad-mcp-server

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use KiCAD

The KiCAD MCP Server bridges AI assistants with KiCad 9.0+ electronic design automation software, exposing 122 tools that cover the full PCB design lifecycle — from schematic capture and footprint placement to routing, design rule checks, and Gerber export. It uses the KiCad Python scripting module (pcbnew) under the hood, giving AI models direct programmatic access to live board state. Engineers use it to accelerate hardware design by issuing natural language commands that translate into precise board operations, component lookups against a 2.5M-part JLCPCB catalog, and automated DRC/ERC reports.

Prerequisites

  • KiCad 9.0 or later installed with the Python scripting module (verify with: python3 -c "import pcbnew")
  • Node.js 18 or later and npm
  • Python 3.9 or later
  • An MCP client such as Claude Desktop, Claude Code, Cline, or OpenCode
  • Git (to clone the server repository)
1

Install KiCad 9.0+ with Python support

KiCad 9 must be installed with its bundled Python module. On Ubuntu/Debian add the official PPA; on macOS install the .dmg from kicad.org; on Windows use the installer. After installation verify the Python scripting module is accessible.

python3 -c "import pcbnew; print(pcbnew.GetBuildVersion())"
2

Clone and build the MCP server

Clone the repository, install Node and Python dependencies, then compile the TypeScript source. On macOS, first create a virtual environment that includes KiCad's site-packages so pcbnew is importable.

git clone https://github.com/mixelpixx/KiCAD-MCP-Server.git
cd KiCAD-MCP-Server
npm install
pip3 install -r requirements.txt
npm run build
3

Determine your platform PYTHONPATH

The server needs PYTHONPATH pointing to KiCad's Python packages. The path differs by OS: Linux uses /usr/lib/kicad/lib/python3/dist-packages, macOS uses the path inside the .app bundle, and Windows uses the path under Program Files.

# Linux
export PYTHONPATH=/usr/lib/kicad/lib/python3/dist-packages
# macOS
export PYTHONPATH=/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages
# Windows
# PYTHONPATH=C:\Program Files\KiCad\10.0\lib\python3\dist-packages
4

Configure your MCP client

Add the server entry to your MCP client configuration file using the absolute path to the built dist/index.js. Set PYTHONPATH to match your platform's KiCad Python location found in the previous step.

{
  "mcpServers": {
    "kicad": {
      "command": "node",
      "args": ["/absolute/path/to/KiCAD-MCP-Server/dist/index.js"],
      "env": {
        "PYTHONPATH": "/usr/lib/kicad/lib/python3/dist-packages",
        "LOG_LEVEL": "info"
      }
    }
  }
}
5

Restart the MCP client and verify

Fully restart Claude Desktop or your MCP client so it picks up the new configuration. Then send a test message to confirm the server loads and KiCad is reachable.

6

Enable developer logging (optional)

Set KICAD_MCP_DEV=1 in the env block to capture full tool call history in the logs/ directory. Useful for debugging; review logs before sharing projects publicly.

{
  "env": {
    "KICAD_MCP_DEV": "1",
    "LOG_LEVEL": "debug"
  }
}

KiCAD Examples

Client configuration

Claude Desktop configuration for the KiCAD MCP Server on Linux. Replace the path and PYTHONPATH for your platform.

{
  "mcpServers": {
    "kicad": {
      "command": "node",
      "args": ["/home/user/KiCAD-MCP-Server/dist/index.js"],
      "env": {
        "PYTHONPATH": "/usr/lib/kicad/lib/python3/dist-packages",
        "LOG_LEVEL": "info"
      }
    }
  }
}

Prompts to try

Example natural language commands you can send once the server is connected.

- "Create a new KiCad project named 'LEDBoard' in my Documents folder with a 50mm x 50mm board outline."
- "Place an LED_0805_2012Metric footprint at x=10mm, y=10mm and a 100-ohm resistor at x=20mm, y=10mm."
- "Create mounting holes 3mm in diameter at each corner of the board, 3mm from the edges."
- "Route a 0.3mm trace on the F.Cu layer from R1 pad 2 to LED1 anode."
- "Run DRC and show me any violations."
- "Export Gerber files to a fabrication folder and generate a BOM."

Troubleshooting KiCAD

Server fails with 'ModuleNotFoundError: No module named pcbnew'

The PYTHONPATH env variable does not point to KiCad's Python packages. Find the correct path for your platform (see Step 3) and update the PYTHONPATH value in your MCP client config, then restart the client.

Server does not appear in the MCP client tool list

Ensure the path in 'args' is an absolute path and that dist/index.js exists (run 'npm run build' first). Fully quit and relaunch the MCP client — a simple window close is not enough on macOS.

Windows setup fails or PYTHONPATH is wrong

Run the included PowerShell setup script (.\setup-windows.ps1) which auto-detects the KiCad installation path and writes the correct configuration. Check logs at %APPDATA%\kicad-mcp\logs\ for further detail.

Frequently Asked Questions about KiCAD

What is KiCAD?

KiCAD is a Model Context Protocol (MCP) server that model context protocol server that enables interaction with kicad electronic design projects, allowing users to list projects, analyze pcb designs, run design rule checks, and visualize pcb layouts through natural language. It connects AI assistants to external tools and data sources through a standardized interface.

How do I install KiCAD?

Follow the installation instructions on the KiCAD GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.

Which AI clients work with KiCAD?

KiCAD works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is KiCAD free to use?

Yes, KiCAD is open source and available under the MIT License license. You can use it freely in both personal and commercial projects.

Browse More Developer Tools MCP Servers

Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "kicad-mcp-server": { "command": "npx", "args": ["-y", "kicad-mcp-server"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

Ready to use KiCAD?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides