Lists all KiCad projects found in the configured search paths
Retrieves detailed information about a specific KiCad project
Opens a KiCad project in the KiCad application
Runs Design Rule Check on a KiCad PCB project
Generates a Bill of Materials for a KiCad project
Extracts and analyzes component connections from schematics
Analyzes PCB design characteristics like component density
Identifies common circuit patterns in schematics
Generates visual representations of PCB layouts
The KiCad PCB Design Assistant provides a powerful interface for interacting with your KiCad electronic design projects through natural language. It enables you to manage projects, analyze PCB designs, extract netlists, manage bills of materials (BOMs), run design rule checks, and visualize PCB layouts without needing to remember complex commands or navigate through multiple menus. This MCP server bridges the gap between natural language and KiCad's technical capabilities, making electronic design more accessible and efficient. Whether you're looking to quickly analyze component density, check for design rule violations, or identify circuit patterns in your schematics, this tool streamlines your workflow by allowing you to express your needs conversationally.
Before installing the KiCad PCB Design Assistant, ensure you have:
First, clone the repository to your local machine:
git clone https://github.com/lamaalrajih/kicad-mcp.git
cd kicad-mcp
Create and activate a virtual environment, then install the required dependencies:
# Create a virtual environment
python3 -m venv venv
# Activate the virtual environment
# On macOS/Linux:
source venv/bin/activate
# On Windows:
venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
Create a .env
file to customize where the server looks for your KiCad projects:
# Copy the example environment file
cp .env.example .env
# Edit the .env file with your preferred text editor
In the .env
file, add paths to your KiCad project directories:
# Add paths to your KiCad projects (comma-separated)
KICAD_SEARCH_PATHS=~/pcb,~/Electronics,~/Projects/KiCad
Add the KiCad MCP server to your MCP client's configuration. For Claude Desktop, edit the configuration file:
# Create the directory if it doesn't exist (macOS example)
mkdir -p ~/Library/Application\ Support/Claude
# Edit the configuration file
vim ~/Library/Application\ Support/Claude/claude_desktop_config.json
Add the following configuration, replacing the paths with absolute paths to your installation:
{
"mcpServers": {
"kicad": {
"command": "/ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp/venv/bin/python",
"args": [
"/ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp/main.py"
]
}
}
}
Here are some examples of how you can interact with the KiCad PCB Design Assistant:
The KiCad PCB Design Assistant can be customized through the .env
file:
KICAD_SEARCH_PATHS
: Comma-separated list of directories to search for KiCad projectsKICAD_EXECUTABLE_PATH
: Custom path to the KiCad executable (if not in standard location)LOG_LEVEL
: Set to DEBUG, INFO, WARNING, or ERROR to control logging verbosityIf you encounter issues:
KICAD_SEARCH_PATHS
in the .env
fileKICAD_EXECUTABLE_PATH
in your .env
fileFor more detailed troubleshooting, check the server logs or run with LOG_LEVEL=DEBUG
in your .env
file.