KiCad Context MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KICAD_CLI | No | Path to the kicad-cli executable (optional, auto-detected if not set) | |
| KICAD_PROJECT | Yes | Path to the KiCad project directory or project file |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| board_overviewA | Orientation call. What is this board: title, sheets/function blocks, key ICs, power rails, connectors, and part counts. Make this first. |
| findA | Search the board. kind = component | net | sheet. Returns a paginated list of matching IDs + one-line labels to feed into other tools. |
| componentB | Describe one component: value, footprint, datasheet, fields, and its pin -> net map. Use net() on a pin's net to expand connectivity. |
| netB | List the pins on a net, grouped by component. Paginates large nets. |
| traceB | Walk connectivity from a pin outward, bounded by depth (max 3). One hop = crossing a net or passing through a component. Large nets are reported but not fully expanded, to stay bounded. |
| power_treeA | Regulators and the rails they feed. Heuristic (library/value match). Pass a rail name to filter. Use net() on a rail for its full fanout. |
| checksB | Run ERC (schematic) or DRC (board) and return counts by severity, then a capped detail list. Filter by severity to expand a class. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
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.
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.
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.
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.