Skip to main content
Glama
HackInvent
by HackInvent

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KICAD_MCP_PORTNoHTTP port for the MCP server, 8765 by default; 0 selects an available port.8765
KICAD_MCP_TOKENNoOptional fixed HTTP token to keep the client configuration unchanged.
KICAD_API_SOCKETNoPath to the KiCad IPC socket to target another KiCad instance.
KICAD_MCP_READ_ONLYNoEnable read-only mode. Set to 1 to enable.
KICAD_MCP_STATE_DIRNoOverride the session directory.

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
kicad_statusA

Check the connection to KiCad and report the editor version.

get_board_infoA

Read the active PCB's name, layers and item counts.

list_footprintsA

List components, references, values and placement in mm; optionally filter by reference.

list_netsA

List the electrical nets of the active PCB.

list_tracksA

Read PCB tracks, widths, positions, copper layers and nets.

get_selectionA

Read the items currently selected in the PCB editor.

get_bomA

Read the PCB bill of materials with quantities and custom fields; omit DNP/excluded parts by default.

export_bomB

Return a spreadsheet-safe CSV BOM as text, without writing a file; delimiter may be comma, semicolon or tab.

update_bom_fieldsA

Update custom BOM fields, value or assembly flags on exact PCB references in one undo step; do not save or change the schematic.

move_footprintA

Move one unlocked component to absolute mm coordinates, with optional rotation; do not save.

add_trackA

Add one straight copper track, optionally assigned to an existing net; no autorouting or DRC.

add_textA

Add PCB text at absolute mm coordinates on the specified layer; do not save.

save_boardA

Explicitly save the active PCB, including unsaved changes made in the editor, to its current file.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 13 tools

Disambiguation5/5

Each tool has a distinct purpose: listing nets vs. tracks vs. footprints, reading vs. writing board info, and save/status are clearly separated. No overlapping or ambiguous tool boundaries.

Naming Consistency4/5

Most tools follow a clear verb_noun pattern (list_*, get_*, update_*, add_*, save_*, export_*), with a few exceptions like 'kicad_status' and 'get_board_info' breaking the strict verb-first pattern. Overall naming is predictable and readable.

Tool Count5/5

13 tools is a reasonable, focused set for a KiCad PCB MCP server. Each tool covers a necessary operation without redundancy, and the count is within the ideal 3-15 range.

Completeness4/5

The set covers core PCB inspection, modification, and board management operations. Minor gaps exist such as no explicit tool for deleting objects or modifying tracks/footprints, but the surface is largely complete for typical read/modify workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues