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.
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 |