Skip to main content
Glama
yigitabi5444

KiCad Context MCP

by yigitabi5444
README.md
# KiCad Context MCP

A read-only MCP server for understanding KiCad projects. Point it at a board and
an agent can answer "what is this" and "what's wrong with it" without loading the
whole design into context.

## Overview

The server reads a KiCad project and exposes it through seven tools. Every tool
returns a compact summary and lets the agent drill down by ID; lists are capped
and paginated, so context stays small even on large boards. Connectivity and
ERC/DRC come from `kicad-cli`; component metadata comes from the exported
netlist. Built for KiCad 10.

It only reads. There are no tools that edit, place, route, or export.

## How to install

Requires only KiCad 10+ (for `kicad-cli`). The plugin ships a self-contained
binary — no Python, uv, or network needed.

Installed as a plugin from this repo's marketplace.

**Claude Code:**

```
/plugin marketplace add yigitabi5444/YSM-Kicad-MCP
/plugin install kicad-context@ysm
```

**Claude Desktop / web:**

1. Open the **Customize** menu in the left sidebar → **Plugins** tab.
2. Under **Personal plugins**, click **+** → **Add marketplace** → **Add from a
   repository**, and enter `yigitabi5444/YSM-Kicad-MCP`.
3. Click **Browse plugins**, find **kicad-context**, and click **Install**.

Pass a project path to any tool to use it.

The shipped binary is macOS (Apple Silicon). On another platform, run
`bash build.sh` to rebuild `bin/kicad-context-mcp` for your OS.

## Exposed tools

| Tool | Returns |
|------|---------|
| `board_overview` | Title, sheets, key ICs, power rails, connectors, part counts. Start here. |
| `find` | Paginated components, nets, or sheets matching a query. |
| `component` | One part: value, footprint, datasheet, fields, pin → net map. |
| `net` | Pins on a net, grouped by component, paginated. |
| `trace` | Pins connected to a given pin, bounded by depth (max 3). |
| `power_tree` | Regulators and the rails they feed. |
| `checks` | ERC or DRC results: counts by severity, then a capped detail list. |

## Changelog

### 0.1.0
- Initial release. Seven read-only tools, KiCad 10.

## License

MIT, see [LICENSE](LICENSE). KiCad itself is GPLv3 and is a separate install the
server calls out to; it is not bundled here.

TDQS

A3.7/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clearly defined, non-overlapping purpose: board_overview for high-level summary, checks for validation, component for detailed component info, find for searching, net for net pin lists, power_tree for power distribution, and trace for connectivity walking. No two tools appear to perform the same function.

Naming Consistency4/5

Tool names are mostly lowercase with underscores for compound names, but they mix verb forms (find, checks, trace) with noun forms (component, net, power_tree). This inconsistency makes it slightly less predictable, though still readable.

Tool Count5/5

With 7 tools, the server covers essential aspects of KiCad board analysis—overview, search, component details, nets, power, connectivity, and checks—without being overwhelming. The count feels well-scoped for the domain.

Completeness5/5

The tool set provides comprehensive coverage for understanding a KiCad board: starting from overview, searching for elements, drilling into components and nets, examining power distribution, and tracing connectivity. Minor gaps like direct listing of all nets or sheets are addressed via the find tool.

Maintenance

ActivityStale
ResponsivenessNo issues