Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

KiCad Tools

PYPI · MCP-SERVER-KICAD · SCANNED AUG 18

Byte-preserving KiCad automation: 100+ tools for schematics, PCB layout, ERC, DRC, exports

Available components

+18 this week 69 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
  • 2 of 30 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 2 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability69
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 14242 tokens (~130/item across 109 items; 109 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability check failed: the tool surface changed between 0.13.0 and 0.20.1: 0 tool removals, 7 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

pypi · mcp-server-kicad

# add to Claude Code
claude mcp add productofamerica-mcp-server-kicad -- uvx mcp-server-kicad
# add to Codex CLI
codex mcp add productofamerica-mcp-server-kicad -- uvx mcp-server-kicad
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "productofamerica-mcp-server-kicad": {
      "type": "local",
      "command": [
        "uvx",
        "mcp-server-kicad"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add productofamerica-mcp-server-kicad --command uvx --arg mcp-server-kicad
# ~/.hermes/config.yaml
mcp_servers:
  productofamerica-mcp-server-kicad:
    command: "uvx"
    args: ["mcp-server-kicad"]
// mcp.json
{
  "mcpServers": {
    "productofamerica-mcp-server-kicad": {
      "command": "uvx",
      "args": [
        "mcp-server-kicad"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 17 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20.

  • 16 Aug 26 +16
    • Malware scan: unverified → pass security
  • 15 Aug 26 0
    • Malware scan: unverified → pass security
    • Package version: 0.19.2 → 0.20.1 functional
    • Package version: 0.19.2 → 0.20.0 functional
    • Package version: 0.19.2 → 0.19.4 functional
    • Package version: 0.19.2 → 0.19.3 functional
  • 14 Aug 26 −15
    • Malware scan: pass → unverified security
    • Stability: fail → unverified security
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • First check of Schema quality: unverified functional
    • Package version: 0.17.3 → 0.19.2 functional
    • Package version: 0.17.3 → 0.19.1 functional
    • Package version: 0.17.3 → 0.18.0 functional
  • 13 Aug 26 +1
    • Stability: fail → unverified security
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • First check of Schema quality: unverified functional
    • Package version: 0.17.1 → 0.17.3 functional
    • Package version: 0.17.1 → 0.17.2 functional
  • 12 Aug 26 +15
    • Stability: 0.03 → fail security
    • Malware scan: unverified → pass security
    • Package version: 0.13.4 → 0.17.1 functional
    • Package version: 0.13.4 → 0.17.0 functional
    • Package version: 0.13.4 → 0.16.0 functional
    • Package version: 0.13.4 → 0.15.0 functional
    • Package version: 0.13.4 → 0.14.0 functional
  • 11 Aug 26 0
    • Schema quality: 109 → 121 functional
    • Stability: unverified → 0.03 functional
    • Package version: 0.13.0 → 0.13.4 functional
    • Package version: 0.13.0 → 0.13.3 functional
    • Package version: 0.13.0 → 0.13.1 functional
  • 10 Aug 26 51

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 18 Aug 2026 · Analysed pypi/mcp-server-kicad@0.20.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi
Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build
Dependencies 30 packages
Packages resolved 30
Stale 1
No linked repository 1
Tree resolution Complete
MCP tools · 109 exposed · ~13,808 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
get_symbol_info ~79

Get detailed pin and property info for a symbol in a library. Args: symbol_name: Symbol name (e.g. "LM7805") symbol_lib_path: Path to .kicad_sym file. Optional; omit to use the configured default.

NameTypeReqDescription
symbol_lib_pathstring
symbol_namestringyes
NameTypeReqDescription
resultstringyes

No examples provided.

get_symbol_instances ~56

List all symbol instances from a root schematic's symbolInstances table. Args: schematic_path: Path to root .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
countintegeryes
instancesarrayyes

No examples provided.

get_symbol_pins ~85

Get pin info for a symbol in the schematic's lib_symbols. Args: symbol_name: Symbol name (e.g. "LM7805", "C", "Fuse") schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
symbol_namestringyes
NameTypeReqDescription
resultstringyes

No examples provided.

get_version ~20

Get KiCad version information including build details and library versions.

Input schema present but exposes no named parameters.

NameTypeReqDescription
version_infostringyes

No examples provided.

is_root_schematic ~55

Check if a schematic is the root or a sub-sheet. Args: schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
is_rootbooleanyes
root_pathyes

No examples provided.

list_cross_sheet_nets ~60

List all nets that cross sheet boundaries (hierarchical pins and global labels). Args: schematic_path: Path to root .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
global_netsarrayyes
hierarchical_netsarrayyes

No examples provided.

list_hierarchy ~54

List the full sheet hierarchy starting from a root schematic. Args: schematic_path: Path to root .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
component_countintegeryes
rootstringyes
sheet_countintegeryes
sheetsarrayyes

No examples provided.

list_lib_footprints ~48

List all footprints in a .pretty library directory. Args: pretty_dir: Path to .pretty directory containing .kicad_mod files

NameTypeReqDescription
pretty_dirstring
NameTypeReqDescription
resultstringyes

No examples provided.

list_lib_symbols ~56

List all symbols in a .kicad_sym library file. Args: symbol_lib_path: Path to .kicad_sym file. Optional; omit to use the configured default.

NameTypeReqDescription
symbol_lib_pathstring
NameTypeReqDescription
resultstringyes

No examples provided.

list_pcb_footprints ~52

List all footprints on the PCB. Args: pcb_path: Path to .kicad_pcb file. Optional; omit to use the configured default.

NameTypeReqDescription
pcb_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_pcb_graphic_items ~60

List all graphic items (lines, text, etc.) on the PCB. Args: pcb_path: Path to .kicad_pcb file. Optional; omit to use the configured default.

NameTypeReqDescription
pcb_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_pcb_layers ~115

List all layers defined in the PCB stackup: copper, silkscreen, soldermask, solder paste, courtyard, fabrication, and the board outline. Which of those a given board actually defines is up to the board. Call this before any tool that takes a layer name, since the valid set is per-board and renamed layers are common. Args: pcb_path: Path to .kicad_pcb file. Optional; omit to use the configured default.

NameTypeReqDescription
pcb_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_pcb_nets ~52

List all named nets on the PCB. Args: pcb_path: Path to .kicad_pcb file. Optional; omit to use the configured default.

NameTypeReqDescription
pcb_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_pcb_traces ~54

List all trace segments and vias on the PCB. Args: pcb_path: Path to .kicad_pcb file. Optional; omit to use the configured default.

NameTypeReqDescription
pcb_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_pcb_zones ~58

List all zones (copper and keepout) on the PCB. Args: pcb_path: Path to .kicad_pcb file. Optional; omit to use the configured default.

NameTypeReqDescription
pcb_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_schematic_bus_entries ~52

List all bus entries in the schematic. Args: schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_schematic_components ~51

List all placed components in the schematic. Args: schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_schematic_global_labels ~52

List all global labels in the schematic. Args: schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_schematic_hierarchical_labels ~54

List all hierarchical labels in the schematic. Args: schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_schematic_junctions ~53

List all junctions in the schematic. Args: schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_schematic_labels ~51

List all net labels in the schematic. Args: schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_schematic_no_connects ~54

List all no-connect flags in the schematic. Args: schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_schematic_sheets ~52

List all hierarchical sheets in the schematic. Args: schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_schematic_wires ~52

List all wire segments in the schematic. Args: schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
NameTypeReqDescription
resultarrayyes

No examples provided.

list_unconnected_pins ~134

List unconnected pins by running ERC and filtering results. Requires kicad-cli. Auto-redirects to root schematic for sub-sheets to avoid false positives from hierarchical label context. Args: schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default. output_dir: Directory for ERC report file. Optional; omit to use the configured default. project_path: Path to .kicad_pro file for explicit root resolution

NameTypeReqDescription
output_dirstring
project_pathstring
schematic_pathstring
NameTypeReqDescription
note
pinsarrayyes
unconnected_countintegeryes

No examples provided.

modify_hierarchical_label ~163

Modify an existing hierarchical label. Args: text: Current label text to find schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default. new_text: New label text (empty = keep current) new_shape: New shape/direction (empty = keep current) new_x: New X position (None = keep current) new_y: New Y position (None = keep current) uuid: UUID for disambiguation

NameTypeReqDescription
new_shapestring
new_textstring
new_x
new_y
schematic_pathstring
textstringyes
uuidstring
NameTypeReqDescription
resultstringyes

No examples provided.

modify_hierarchical_sheet ~153

Modify properties of an existing hierarchical sheet block. Args: sheet_uuid: UUID of the sheet to modify (from list_schematic_sheets) schematic_path: Path to parent .kicad_sch. Optional; omit to use the configured default. sheet_name: New display name (empty = keep) file_name: New file path (empty = keep) width: New width in mm (None = keep) height: New height in mm (None = keep)

NameTypeReqDescription
file_namestring
height
schematic_pathstring
sheet_namestring
sheet_uuidstringyes
width
NameTypeReqDescription
resultstringyes

No examples provided.

move_component ~117

Move a placed component to a new position. Args: reference: Reference designator (e.g. "R1") x: New X position y: New Y position rotation: New rotation in degrees (None = keep current) schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
referencestringyes
rotation
schematic_pathstring
xnumberyes
ynumberyes
NameTypeReqDescription
resultstringyes

No examples provided.

move_footprint ~196

Move a footprint to a new position. Args: reference: Reference designator (e.g. "R1") x: New X position y: New Y position rotation: New rotation (None = keep current) layer: New layer. Naming the other side flips the footprint: every pad, graphic and text layer mirrors with it, the local geometry mirrors, and text gains a mirrored justification, which is what KiCad's own flip does. A footprint carrying a construct whose flip has not been measured here is refused rather than half-transformed. pcb_path: Path to .kicad_pcb file. Optional; omit to use the configured default.

NameTypeReqDescription
layerstring
pcb_pathstring
referencestringyes
rotation
xnumberyes
ynumberyes
NameTypeReqDescription
resultstringyes

No examples provided.

move_hierarchical_sheet ~113

Move a hierarchical sheet block to a new position, including all pins. Args: sheet_uuid: UUID of the sheet to move new_x: New X position in mm new_y: New Y position in mm schematic_path: Path to parent .kicad_sch. Optional; omit to use the configured default.

NameTypeReqDescription
new_xnumberyes
new_ynumberyes
schematic_pathstring
sheet_uuidstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

no_connect_pin ~131

Place a no-connect flag on a component pin. Resolves pin position and places a no-connect flag. Idempotent: calling again for a pin that already has one is a no-op. Args: reference: Component reference (e.g. "U2") pin_name: Pin name (e.g. "NC") or number (e.g. "3") schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
pin_namestringyes
referencestringyes
schematic_pathstring
NameTypeReqDescription
resultstringyes

No examples provided.

place_component ~322

Place a schematic symbol: resistor, capacitor, inductor, diode, LED, transistor, crystal, switch, connector, or an IC such as a microcontroller or regulator chip. Any lib_id in a library works. Args: lib_id: Library identifier (e.g. "Device:R", "Device:C", "MyLib:MyPart") reference: Reference designator (e.g. "R1", "U1") value: Component value (e.g. "10K", "100nF") x: X position in schematic units (mm) y: Y position in schematic units (mm) rotation: Rotation angle in degrees (0, 90, 180, 270) symbol_lib_path: Path to .kicad_sym file if using custom library. Optional; omit to use the configured default. mirror: Mirror axis ("x", "y", or "" for none) schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default. project_path: Path to .kicad_pro file (for correct hierarchy resolution in sub-sheets)

NameTypeReqDescription
lib_idstringyes
mirrorstring
project_pathstring
referencestringyes
rotationinteger
schematic_pathstring
symbol_lib_pathstring
valuestringyes
xnumberyes
ynumberyes
NameTypeReqDescription
resultstringyes

No examples provided.

place_footprint ~337

Place a footprint on the PCB. Name a library and a footprint to place the real thing: its pads, silkscreen, courtyard and 3D model are copied from the library file exactly as KiCad would place them. Without them you get a marker carrying only the reference and value, which has NO PADS and so cannot be routed or checked; that is the older behaviour and it is kept for callers that only want a placeholder. Use list_lib_footprints to see what a library holds. Args: reference: Reference designator (e.g. "R2") value: Component value (e.g. "4.7K") x: X position in mm y: Y position in mm rotation: Rotation in degrees layer: Layer (F.Cu or B.Cu) library: Footprint library nickname (e.g. "Resistor_SMD"), or a path to a .pretty directory. Optional; omit for a pad-less marker. footprint: Footprint name within that library (e.g. "R_0805_2012Metric"). Required when library is given. pcb_path: Path to .kicad_pcb file. Optional; omit to use the configured default.

NameTypeReqDescription
footprintstring
layerstring
librarystring
pcb_pathstring
referencestringyes
rotationnumber
valuestringyes
xnumberyes
ynumberyes
NameTypeReqDescription
resultstringyes

No examples provided.

remove_component ~72

Remove a component by reference designator. Args: reference: Reference designator to remove (e.g. "U2") schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
referencestringyes
schematic_pathstring
NameTypeReqDescription
resultstringyes

No examples provided.

remove_dangling_tracks ~88

Detect and remove trace segments with unconnected endpoints. Iteratively removes dangling segments until no more are found. A segment is considered dangling if either endpoint does not connect to a pad, via, or another trace endpoint. Args: pcb_path: Path to .kicad_pcb file. Optional; omit to use the configured default.

NameTypeReqDescription
pcb_pathstring
NameTypeReqDescription
iterationsintegeryes
tracks_removedintegeryes

No examples provided.

remove_footprint ~72

Remove a footprint by reference designator. Args: reference: Reference designator (e.g. "R1") pcb_path: Path to .kicad_pcb file. Optional; omit to use the configured default.

NameTypeReqDescription
pcb_pathstring
referencestringyes
NameTypeReqDescription
resultstringyes

No examples provided.

remove_hierarchical_label ~91

Remove a hierarchical label by name or UUID. Args: text: Label text to match schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default. uuid: Optional UUID for disambiguation when multiple labels share a name

NameTypeReqDescription
schematic_pathstring
textstringyes
uuidstring
NameTypeReqDescription
resultstringyes

No examples provided.

remove_hierarchical_sheet ~143

Remove a hierarchical sheet block from a parent schematic. Identify the sheet by name, uuid, or both. If name matches multiple sheets, returns an error with UUIDs for disambiguation. Args: parent_schematic_path: Path to parent .kicad_sch name: Sheet name to match uuid: Sheet UUID for unambiguous identification delete_child_file: If True, delete the child .kicad_sch file (unless still referenced by another sheet)

NameTypeReqDescription
delete_child_fileboolean
name
parent_schematic_pathstringyes
uuid
NameTypeReqDescription
resultstringyes

No examples provided.

remove_junction ~76

Remove a junction at the given coordinates. Args: x: X position y: Y position schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
xnumberyes
ynumberyes
NameTypeReqDescription
resultstringyes

No examples provided.

remove_label ~168

Remove net label(s) or global label(s) by text, optionally filtered by position. If x and y are provided, only removes labels matching both text AND position (within 0.1mm tolerance). Otherwise removes ALL labels with matching text. To move a global label, remove it and re-add with add_global_label (which takes shape and rotation). Args: text: Label text to match (e.g. "VCC", "PGND") x: Optional X position filter y: Optional Y position filter schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
textstringyes
x
y
NameTypeReqDescription
resultstringyes

No examples provided.

remove_no_connect ~129

Remove no-connect flag(s) from a component pin. Removes every no-connect at the pin's position, so stacked duplicates from repeated no_connect_pin calls clear in one go. Args: reference: Component reference (e.g. "U2") pin_name: Pin name (e.g. "NC") or number (e.g. "3") schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
pin_namestringyes
referencestringyes
schematic_pathstring
NameTypeReqDescription
resultstringyes

No examples provided.

remove_sheet_pin ~87

Remove a pin from a hierarchical sheet block. Args: sheet_uuid: UUID of the sheet pin_name: Name of the pin to remove schematic_path: Path to parent .kicad_sch. Optional; omit to use the configured default.

NameTypeReqDescription
pin_namestringyes
schematic_pathstring
sheet_uuidstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

remove_text ~129

Remove text annotation(s) by content, optionally filtered by position. If x and y are provided, only removes texts matching both content AND position (within 0.1mm tolerance). Otherwise removes ALL texts with matching content. Args: text: Text content to match x: Optional X position filter y: Optional Y position filter schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
textstringyes
x
y
NameTypeReqDescription
resultstringyes

No examples provided.

remove_traces ~189

Remove trace segments matching the given filters. Does not remove vias. At least one filter (net_name, layer, or bounding box) is required. Args: net_name: Filter by net name layer: Filter by layer name (e.g. "F.Cu", "B.Cu") x_min: Left edge of bounding box filter (mm) y_min: Top edge of bounding box filter (mm) x_max: Right edge of bounding box filter (mm) y_max: Bottom edge of bounding box filter (mm) pcb_path: Path to .kicad_pcb file. Optional; omit to use the configured default.

NameTypeReqDescription
layer
net_name
pcb_pathstring
x_max
x_min
y_max
y_min
NameTypeReqDescription
layeryes
netyes
traces_removedintegeryes

No examples provided.

remove_wire ~138

Remove a wire segment by its endpoint coordinates. Matches wires with endpoints within 0.1mm tolerance (in either order). Use list_schematic_wires to get wire coordinates first. Args: x1: Start X y1: Start Y x2: End X y2: End Y schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
schematic_pathstring
x1numberyes
x2numberyes
y1numberyes
y2numberyes
NameTypeReqDescription
resultstringyes

No examples provided.

reorder_sheet_pages ~75

Reorder hierarchical sheets by specifying the desired UUID order. Args: page_order: List of sheet UUIDs in desired order schematic_path: Path to root .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
page_orderarrayyes
schematic_pathstring
NameTypeReqDescription
resultstringyes

No examples provided.

run_drc ~93

Run Design Rules Check (DRC) on a PCB. Returns structured report with violations. Args: pcb_path: Path to .kicad_pcb file. Optional; omit to use the configured default. output_dir: Directory for report file (default: same as PCB). Optional; omit to use the configured default.

NameTypeReqDescription
output_dirstring
pcb_pathstring
NameTypeReqDescription
kicad_versionstringyes
note
sourcestringyes
unconnected_countintegeryes
unconnected_itemsarrayyes
violation_countintegeryes
violationsarrayyes

No examples provided.

run_erc ~139

Run Electrical Rules Check (ERC) on a schematic. Auto-redirects to root schematic for sub-sheets to avoid false positives from missing hierarchical context. Returns JSON report with violations. Args: schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default. output_dir: Directory for report file (default: same as schematic). Optional; omit to use the configured default. project_path: Path to .kicad_pro file for explicit root resolution

NameTypeReqDescription
output_dirstring
project_pathstring
schematic_pathstring
NameTypeReqDescription
kicad_versionstringyes
note
sourcestringyes
violation_countintegeryes
violationsarrayyes

No examples provided.

run_jobset ~43

Run a KiCad jobset file. Args: jobset_path: Path to .kicad_jobset file

NameTypeReqDescription
jobset_pathstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

set_component_property ~207

Set any property on a placed component, or rename it. Creates the property if it is missing. Reference, Value and Footprint are mirrored into the symbol's own instances and into the root symbol_instances table, so setting key="Reference" is how a component is renamed and both views stay in step. The root table needs the .kicad_pro to resolve the hierarchy path; a loose .kicad_sch with no project beside it keeps the symbol correct and leaves that table alone. Args: reference: Component reference (e.g. "R1") key: Property name (e.g. "MPN", "Tolerance", "Value") value: Property value schematic_path: Path to .kicad_sch file. Optional; omit to use the configured default.

NameTypeReqDescription
keystringyes
referencestringyes
schematic_pathstring
valuestringyes
NameTypeReqDescription
resultstringyes

No examples provided.