kicad-mcp-kipy

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.

Category
Visit Server

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

License

MIT — see LICENSE

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured