KiCAD PCB Designer MCP server

Enables LLMs to directly interact with KiCAD for printed circuit board design.
Back to servers
Provider
mixelpixx
Release date
Apr 26, 2025
Language
TypeScript
Stats
42 stars

KiCAD MCP is a specialized server that enables AI assistants like Claude to directly control KiCAD PCB design software through natural language commands. This implementation creates a communication bridge allowing for AI-assisted printed circuit board design, including both schematic creation and PCB layout operations, all controlled through conversational interactions.

System Requirements

  • KiCAD 9.0 or higher (must be fully installed)
  • Node.js v18 or higher and npm
  • Python 3.8 or higher with pip (the version that comes with KiCAD 9.0 is sufficient)
  • Cline (VSCode Claude extension) or another MCP-compatible client
  • Windows 10/11 (current version is optimized for Windows)

Installation

Step 1: Install KiCAD 9.0

  1. Download KiCAD 9.0 from the official KiCAD website
  2. Run the installer and select the default installation options
  3. Ensure that the Python module is installed (included in the default installation)

Step 2: Clone and Set Up the KiCAD MCP Repository

git clone https://github.com/kicad-ai/kicad-mcp.git
cd kicad-mcp
npm install
npm run build

Step 3: Configure Cline (VSCode Claude Extension)

  1. Install VSCode from the official website if not already installed

  2. Install the Cline extension (Claude for VSCode) from the VSCode marketplace

  3. Edit the Cline MCP settings file:

    • Windows: %USERPROFILE%\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
    • macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  4. Add this configuration to the file (update paths as needed for your system):

"kicad": {
  "autoApprove": [],
  "disabled": false,
  "timeout": 60,
  "command": "C:\\Program Files\\nodejs\\node.exe",
  "args": [
    "C:/path/to/kicad-mcp/dist/kicad-server.js"
  ],
  "env": {
    "PYTHONPATH": "C:/Program Files/KiCad/9.0/lib/python3/dist-packages",
    "DEBUG": "mcp:*"
  },
  "transportType": "stdio"
}
  1. Restart VSCode or reload the window for changes to take effect.

Step 4: Verify Installation

  1. Open VSCode with the Cline extension
  2. Start a new conversation with Claude
  3. Ask Claude to create a new KiCAD project:
    Create a new KiCAD project named 'TestProject' in the 'test' directory.
    
  4. Claude should use the KiCAD MCP to create the project and report success

Usage Examples

Project Management

Create a new KiCAD project named 'WiFiModule' in my Documents folder.
Open the existing KiCAD project at C:/Projects/Amplifier/Amplifier.kicad_pro

Schematic Design

Create a new schematic named 'PowerSupply'.
Add a 10kΩ resistor and 0.1µF capacitor to the schematic.
Connect the resistor's pin 1 to the capacitor's pin 1.

Board Design

Set the board size to 100mm x 80mm.
Add a rounded rectangle board outline with 3mm corner radius.
Add mounting holes at each corner of the board, 5mm from the edges.

Component Placement

Place a 10uF capacitor at position x=50mm, y=30mm.
Create a grid of 8 LEDs, 4x2, starting at position x=20mm, y=10mm with 10mm spacing.
Align all resistors horizontally and distribute them evenly.

Routing

Create a new net named 'VCC' and assign it to the power net class.
Route a trace from component U1 pin 1 to component C3 pin 2 on layer F.Cu.
Add a copper pour for GND on the bottom layer.

Design Rules and Export

Set design rules with 0.2mm clearance and 0.25mm minimum track width.
Export Gerber files to the 'fabrication' directory.

Feature Overview

Project Management

  • Create new KiCAD projects with customizable settings
  • Open existing KiCAD projects
  • Save projects with optional new locations
  • Retrieve project metadata and properties

Schematic Design

  • Create new schematics with customizable settings
  • Add components from symbol libraries (resistors, capacitors, ICs, etc.)
  • Connect components with wires
  • Add labels, annotations, and documentation
  • Save and export schematics in various formats

Board Design

  • Set precise board dimensions with metric and imperial units
  • Add custom board outlines (rectangle, rounded rectangle, circle, polygon)
  • Create and manage board layers
  • Add mounting holes, text annotations, and other board features

Components

  • Place components with specific footprints at precise locations
  • Create component arrays in grid or circular patterns
  • Move, rotate, and modify existing components
  • Align and distribute components evenly

Routing

  • Create and manage nets with specific properties
  • Route traces between component pads or arbitrary points
  • Add vias, including blind and buried vias
  • Create differential pair routes for high-speed signals
  • Generate copper pours (ground planes, power planes)

Design Rules

  • Set global design rules for clearance, track width, etc.
  • Define specific rules for different net classes
  • Run Design Rule Check (DRC) to validate designs

Export

  • Generate Gerber files for fabrication
  • Export PDF documentation
  • Create SVG vector graphics
  • Generate 3D models in STEP or VRML format
  • Produce bill of materials (BOM)

Troubleshooting

Common Issues and Solutions

Problem: KiCAD MCP isn't showing up in Claude's tools

  • Make sure VSCode is completely restarted after updating the Cline MCP settings
  • Verify the paths in the config are correct for your system
  • Check that the npm run build completed successfully

Problem: Node.js errors when launching the server

  • Ensure you're using Node.js v18 or higher
  • Try running npm install again to ensure all dependencies are installed
  • Check the console output for specific error messages

Problem: Python errors or KiCAD commands failing

  • Verify that KiCAD 9.0 is properly installed
  • Check that the PYTHONPATH in the configuration points to the correct location
  • Try running a simple KiCAD Python script directly to ensure the pcbnew module is accessible

Problem: Claude can't find or load your KiCAD project

  • Use absolute paths when referring to project locations
  • Ensure the user running VSCode has access permissions to the directories

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later