Ryan Malloy 7e8d65bc13
Some checks are pending
CI / Lint and Format (push) Waiting to run
CI / Test Python 3.11 on macos-latest (push) Waiting to run
CI / Test Python 3.12 on macos-latest (push) Waiting to run
CI / Test Python 3.13 on macos-latest (push) Waiting to run
CI / Test Python 3.10 on ubuntu-latest (push) Waiting to run
CI / Test Python 3.11 on ubuntu-latest (push) Waiting to run
CI / Test Python 3.12 on ubuntu-latest (push) Waiting to run
CI / Test Python 3.13 on ubuntu-latest (push) Waiting to run
CI / Security Scan (push) Waiting to run
CI / Build Package (push) Blocked by required conditions
Add Starlight docs site with full content migration
Astro + Starlight docs site at docs-site/ with 18 pages organized
by diataxis: getting-started (intro, install, config), guides
(9 how-to guides), reference (tools, batch, env vars), development
(architecture, adding tools, troubleshooting).

Includes Docker infrastructure following warehacking cookie-cutter
pattern: multi-stage Dockerfile (Node builder -> Caddy prod / Node
dev), docker-compose with caddy-docker-proxy labels, Makefile.

Content migrated from docs/ markdown guides with Starlight frontmatter,
cross-links updated, and full-text search via Pagefind.
2026-03-09 01:19:45 -06:00

7.1 KiB

title description
Tool Reference Complete list of all mckicad MCP tools organized by module

Every tool returns a dict with at least success: bool. On failure, an error: str field is included. On success, relevant data fields are added.

Project tools

tools/project.py -- Project discovery and management.

Tool Description
list_projects Find and list all KiCad projects in configured search paths
get_project_structure Get the file structure and metadata of a KiCad project
open_project Open a KiCad project in the KiCad application

Schematic tools

tools/schematic.py -- Create and edit schematics via kicad-sch-api.

Tool Description
create_schematic Create a new empty KiCad schematic file
add_component Add a component to a schematic from a symbol library
search_components Search KiCad symbol libraries for components matching a query
add_wire Add a wire segment between two coordinate points
connect_pins Add a wire between two component pins by reference and pin number
add_label Add a local or global net label to a schematic
add_hierarchical_sheet Add a hierarchical sheet reference to a schematic
list_components List components in a schematic, or look up a single component
get_schematic_info Get a compact overview of a schematic (stats and validation summary)
get_component_detail Get full details for a single component: properties, footprint, pins, position
get_schematic_hierarchy Get the hierarchical sheet tree of a schematic

Schematic editing tools

tools/schematic_edit.py -- Modify and remove schematic elements.

Tool Description
modify_component Move, rotate, or change the value/footprint of an existing component
remove_component Remove a component by its reference designator
remove_wire Remove a wire segment by its UUID
remove_label Remove a net label (local or global) by its UUID
set_title_block Set title block fields (title, author, date, revision, company)
add_text_annotation Add a text annotation to a schematic at specified coordinates
add_no_connect Add a no-connect flag at specified coordinates
backup_schematic Create a timestamped backup of a schematic file
remove_wires_by_criteria Remove wire segments matching coordinate or bounding-box criteria

Schematic pattern tools

tools/schematic_patterns.py -- Place common circuit building blocks.

Tool Description
place_decoupling_bank_pattern Place a bank of decoupling capacitors with power and ground connections
place_pull_resistor_pattern Place a pull-up or pull-down resistor connected to a signal pin
place_crystal_pattern Place a crystal oscillator with load capacitors

Batch tools

tools/batch.py -- Atomic multi-operation schematic modifications.

Tool Description
apply_batch Apply a batch of schematic modifications from a JSON file (components, power symbols, wires, labels, no-connects)

See Batch Operations for the full JSON schema.

Power symbol tools

tools/power_symbols.py -- Add power symbols to schematics.

Tool Description
add_power_symbol Add a power symbol (GND, VCC, +3V3, etc.) connected to a component pin

Autowire tools

tools/autowire.py -- Automated wiring strategy selection.

Tool Description
autowire_schematic Analyze unconnected nets and automatically wire them using optimal strategies

See Autowiring guide for details on the decision tree.

Schematic analysis tools

tools/schematic_analysis.py -- Connectivity analysis, ERC, and netlist operations.

Tool Description
run_schematic_erc Run Electrical Rules Check on a schematic via kicad-cli
analyze_connectivity Analyze the net connectivity graph of a schematic
check_pin_connection Check whether a specific pin is connected and to what
verify_pins_connected Verify that two specific pins share the same net
get_component_pins List all pins for a specific component
export_netlist Export a netlist from a schematic using kicad-cli
export_schematic_pdf Export a schematic to PDF with options for B&W and background
audit_wiring Audit all wiring connections for a component
verify_connectivity Compare actual wiring against an expected net-to-pin mapping
validate_schematic Run a comprehensive health check (ERC + connectivity + optional baseline)

Netlist tools

tools/netlist.py -- External netlist import and conversion.

Tool Description
import_netlist Import an external netlist (KiCad, OrcadPCB2, Allegro) and convert to batch JSON

Analysis tools

tools/analysis.py -- Project validation and live board analysis.

Tool Description
validate_project Validate a KiCad project's structure and essential files
analyze_board_real_time Live board analysis via KiCad IPC (requires running KiCad)
get_component_details Retrieve component details from a live KiCad board via IPC

BOM tools

tools/bom.py -- Bill of Materials analysis and export.

Tool Description
analyze_bom Analyze the BOM for a KiCad project
export_bom Export a BOM CSV from a schematic using kicad-cli

DRC tools

tools/drc.py -- Design Rule Check and manufacturing constraints.

Tool Description
run_drc_check Run a DRC check on a PCB using kicad-cli
create_drc_rule_set Generate a technology-specific DRC rule set
export_kicad_drc_rules Export DRC rules in KiCad-compatible text format
get_manufacturing_constraints Get manufacturing constraints for a PCB technology

Export tools

tools/export.py -- Manufacturing file generation.

Tool Description
generate_pcb_svg Generate an SVG render of a PCB layout
export_gerbers Export Gerber manufacturing files
export_drill Export drill files
export_pdf Export a PDF from a PCB or schematic

Routing tools

tools/routing.py -- FreeRouting autorouter integration.

Tool Description
check_routing_capability Check whether automated PCB routing is available
route_pcb_automatically Automatically route a PCB using FreeRouting
analyze_routing_quality Analyze current PCB routing for quality and potential issues

PCB tools (IPC)

tools/pcb.py -- Live PCB manipulation via KiCad IPC API.

Tool Description
move_component Move a component on the PCB to new coordinates
rotate_component Rotate a component on the PCB
get_board_statistics Retrieve high-level board statistics from a live KiCad instance
check_connectivity Check the routing connectivity status of the PCB
refill_zones Refill all copper zones on the PCB