Provides 52 MCP tools and real-time KiCAD project state for AI-assisted PCB design workflows.
Configuration
View docs{
"mcpServers": {
"kicad": {
"command": "node",
"args": [
"/path/to/KiCAD-MCP-Server/dist/index.js"
],
"env": {
"PYTHONPATH": "/path/to/kicad/python",
"LOG_LEVEL": "info"
}
}
}
}You can use this MCP server to connect an AI assistant to KiCAD, enabling natural language workflows for PCB design. It exposes a rich set of tools that operate on KiCAD projects and a range of read-only resources to inspect the current design state in real time. This enables iterative, AI-guided PCB design with automated project management, board manipulation, routing, schematic work, and exports, while keeping KiCAD and your design data in sync.
You interact with the KiCAD MCP Server through an MCP client that supports the MCP protocol. Start the local MCP process and point your client at the server so it can issue requests to KiCAD. Use the client to create or open projects, configure board outlines, place components, route nets, run design rule checks, and export fabrication files. You can also query the current project state using the resources capability to inform subsequent steps.
Prerequisites you need before installing the MCP server are KiCAD 9.0 or higher, Node.js 18 or higher, and Python 3.10 or higher. You should also have the MCP client installed (Claude Desktop, Claude Code, or Cline) to connect to the server.
Linux (Ubuntu/Debian) setup steps:
1. Install KiCAD and KiCAD libraries from the appropriate repository.
2. Install Node.js.
3. Clone the MCP server repository.
4. Install dependencies and build the project.
5. Verify KiCAD Python bindings are importable.
Windows setup steps:
1. Clone the MCP server repository.
2. Run the automated setup script to install prerequisites, build, and diagnose.
3. Follow any on-screen prompts to complete the configuration.
macOS setup steps:
1. Install KiCAD 9.0 for macOS from the KiCAD download page.
2. Install Node.js via a package manager.
3. Clone the MCP server repository and build the project.
The MCP server is started locally and connected to via an MCP client. The canonical local (stdio) configuration runs the server as a child process and communicates over standard input/output. The explicit runtime command shown for the local config is node with a path to the built server entry.
You can configure the MCP server as a local stdio process by providing the following settings in your client configuration. The environment includes a Python path to KiCAD bindings and a logging level setting.
If the server does not appear in your MCP client, verify that the build produced dist/index.js, ensure all configuration paths are absolute, restart the MCP client, and check client logs for errors.
Only the tools and resources exposed by the MCP server are accessible through your AI assistant. Use standard security practices for local development and follow your organizational policies for running external tools or exposing endpoints.
Create a new KiCAD project, configure board size, place mounting holes, add text annotations, route nets, perform DRC checks, and export Gerber files for fabrication. You can also query the current component list or design rules to guide subsequent steps.
Resources provide read-only access to the current project state, such as project metadata, board properties, component lists, nets, layers, design rules, and DRC reports. Use these to inform design decisions without modifying the project.
The server uses a JSON-RPC 2.0 transport over STDIO to communicate with the client and implements the MCP 2025-06-18 protocol. A TypeScript server manages the protocol, while Python interfaces connect to KiCAD via SWIG or IPC backends. A hybrid backend automatically chooses the IPC backend when available and falls back to the SWIG backend.
Initialize a new KiCAD project.
Load existing KiCAD project files.
Save the current project state.
Retrieve project metadata.
Configure PCB dimensions.
Create a board outline (rectangle, circle, polygon).
Add a custom layer to the board stack.
Switch the active working layer.
List all board layers.
Retrieve board properties.
Generate a board preview image.
Place mounting holes on the board.
Add text annotations to the board.
Place a component with its footprint.
Reposition an existing component.
Rotate a component by a given angle.
Remove a component from the board.
Modify component properties.
Query details for a specific component.
List all placed components.
Create grids or patterns of components.
Align multiple components.
Copy an existing component.
Create an electrical net.
Route copper traces.
Place vias for layer transitions.
Remove traces.
List all nets.
Define net class with rules.
Create copper zones/pours.
Route differential signals.
List available footprint libraries.
Search for footprints.
List footprints within a library.
Get footprint details.
Configure DRC parameters.
Retrieve current DRC rules.
Execute design rule checks.
Get DRC violations report.
Generate Gerber fabrication files.
Export schematic or board PDFs.
Create SVG vector graphics.
Generate 3D models (STEP/VRML).
Produce bill of materials.
Initialize a new schematic.
Open an existing schematic.
Place schematic symbols.
Connect schematic pins with wires.
List schematic symbol libraries.
Export schematic as PDF.
Check if KiCAD UI is running.
Launch KiCAD application.