kicad-mcp-kipy
MCP server for KiCad 10 that enables AI assistants to inspect and control schematics and PCB layouts in real-time using the official kipy Python bindings.
README
kicad-mcp-kipy
KiCad MCP server for KiCad 10 — powered by kipy, the official KiCad Python API.
Connects AI assistants (Claude, Bob, etc.) to a running KiCad 10 instance via the Model Context Protocol, enabling real-time inspection and control of schematics and PCB layouts.
Why kicad-mcp-kipy?
| kicad-mcp (Huaqiu) | kicad-mcp-kipy | |
|---|---|---|
| KiCad 10 support | ❌ (KiCad 9 JSON API) | ✅ (KiCad 10 Protobuf API) |
| macOS process detection | ❌ (Issue #3) | ✅ |
| Dependencies | 115 packages | ~40 packages |
| Python API | Custom JSON/NNG | kipy (official KiCad bindings) |
Requirements
- KiCad 10.x (macOS / Linux / Windows)
- Python 3.11+
- uv (recommended) or pip
Installation
Using uvx (recommended — no install needed)
uvx kicad-mcp-kipy
Using pip
pip install kicad-mcp-kipy
kicad-mcp-kipy
Setup
1. Enable KiCad IPC API
In KiCad's Schematic Editor or PCB Editor:
Preferences → Preferences → Scripting → Enable IPC API ✅
2. Register in your MCP client (Bob / Claude Desktop)
.bob/mcp.json (workspace-level):
{
"mcpServers": {
"kicad": {
"command": "uvx",
"args": ["kicad-mcp-kipy"]
}
}
}
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"kicad": {
"command": "uvx",
"args": ["kicad-mcp-kipy"]
}
}
}
3. Open a project in KiCad
Open your schematic or PCB file in KiCad before connecting — the IPC API is only active when an editor is open.
Available Tools
General
| Tool | Description |
|---|---|
get_kicad_version |
Get running KiCad version |
get_open_documents |
List open schematic / PCB files |
run_action |
Execute a KiCad menu action (e.g. "zoom_fit_in_window") |
Schematic
| Tool | Description |
|---|---|
schematic_get_symbols |
Get all symbols (reference, value, position) |
schematic_get_labels |
Get all net labels |
schematic_get_title_block |
Get title block info |
schematic_get_as_string |
Get schematic as KiCad S-expression text |
schematic_get_hierarchy |
Get hierarchical sheet structure |
schematic_save |
Save the schematic |
PCB
| Tool | Description |
|---|---|
pcb_get_footprints |
Get all footprints (reference, value, position, layer) |
pcb_get_tracks |
Get all tracks (start, end, layer, width) |
pcb_get_vias |
Get all vias (position, drill size) |
pcb_get_nets |
Get all nets (name, number) |
pcb_get_enabled_layers |
Get enabled layer list |
pcb_get_stackup |
Get board stackup (layer structure, thickness) |
pcb_get_title_block |
Get PCB title block info |
pcb_get_as_string |
Get PCB as KiCad S-expression text |
pcb_save |
Save the PCB |
How it works
AI Assistant (MCP Client)
↕ stdio (JSON-RPC)
kicad-mcp-kipy (MCP Server)
↕ pynng / NNG IPC socket (/tmp/kicad/api.sock)
KiCad 10 IPC API Server (built-in)
↕ C++ SDK
KiCad Schematic / PCB Editor
KiCad 10 exposes a Protobuf-based IPC API over a local NNG socket. kipy provides Python bindings for this API. This server wraps those bindings as MCP tools.
Development
git clone https://github.com/mnori0211/kicad-mcp-kipy
cd kicad-mcp-kipy
uv sync
uv run kicad-mcp-kipy
Related
- kipy (kicad-python) — Official KiCad Python API bindings
- kicad-mcp (Huaqiu) — Alternative MCP server (KiCad 9)
- Model Context Protocol
License
MIT — see LICENSE
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.