Skip to content

Tool Reference

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.

tools/project.py — Project discovery and management.

ToolDescription
list_projectsFind and list all KiCad projects in configured search paths
get_project_structureGet the file structure and metadata of a KiCad project
open_projectOpen a KiCad project in the KiCad application

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

ToolDescription
create_schematicCreate a new empty KiCad schematic file
add_componentAdd a component to a schematic from a symbol library
search_componentsSearch KiCad symbol libraries for components matching a query
add_wireAdd a wire segment between two coordinate points
connect_pinsAdd a wire between two component pins by reference and pin number
add_labelAdd a local or global net label to a schematic
add_hierarchical_sheetAdd a hierarchical sheet reference to a schematic
list_componentsList components in a schematic, or look up a single component
get_schematic_infoGet a compact overview of a schematic (stats and validation summary)
get_component_detailGet full details for a single component: properties, footprint, pins, position
get_schematic_hierarchyGet the hierarchical sheet tree of a schematic

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

ToolDescription
modify_componentMove, rotate, or change the value/footprint of an existing component
remove_componentRemove a component by its reference designator
remove_wireRemove a wire segment by its UUID
remove_labelRemove a net label (local or global) by its UUID
set_title_blockSet title block fields (title, author, date, revision, company)
add_text_annotationAdd a text annotation to a schematic at specified coordinates
add_no_connectAdd a no-connect flag at specified coordinates
backup_schematicCreate a timestamped backup of a schematic file
remove_wires_by_criteriaRemove wire segments matching coordinate or bounding-box criteria

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

ToolDescription
place_decoupling_bank_patternPlace a bank of decoupling capacitors with power and ground connections
place_pull_resistor_patternPlace a pull-up or pull-down resistor connected to a signal pin
place_crystal_patternPlace a crystal oscillator with load capacitors

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

ToolDescription
apply_batchApply a batch of schematic modifications from a JSON file (components, power symbols, wires, labels, no-connects)

See Batch Operations for the full JSON schema.

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

ToolDescription
add_power_symbolAdd a power symbol (GND, VCC, +3V3, etc.) connected to a component pin

tools/autowire.py — Automated wiring strategy selection.

ToolDescription
autowire_schematicAnalyze unconnected nets and automatically wire them using optimal strategies

See Autowiring guide for details on the decision tree.

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

ToolDescription
run_schematic_ercRun Electrical Rules Check on a schematic via kicad-cli
analyze_connectivityAnalyze the net connectivity graph of a schematic
check_pin_connectionCheck whether a specific pin is connected and to what
verify_pins_connectedVerify that two specific pins share the same net
get_component_pinsList all pins for a specific component
export_netlistExport a netlist from a schematic using kicad-cli
export_schematic_pdfExport a schematic to PDF with options for B&W and background
audit_wiringAudit all wiring connections for a component
verify_connectivityCompare actual wiring against an expected net-to-pin mapping
validate_schematicRun a comprehensive health check (ERC + connectivity + optional baseline)

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

ToolDescription
import_netlistImport an external netlist (KiCad, OrcadPCB2, Allegro) and convert to batch JSON

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

ToolDescription
validate_projectValidate a KiCad project’s structure and essential files
analyze_board_real_timeLive board analysis via KiCad IPC (requires running KiCad)
get_component_detailsRetrieve component details from a live KiCad board via IPC

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

ToolDescription
analyze_bomAnalyze the BOM for a KiCad project
export_bomExport a BOM CSV from a schematic using kicad-cli

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

ToolDescription
run_drc_checkRun a DRC check on a PCB using kicad-cli
create_drc_rule_setGenerate a technology-specific DRC rule set
export_kicad_drc_rulesExport DRC rules in KiCad-compatible text format
get_manufacturing_constraintsGet manufacturing constraints for a PCB technology

tools/export.py — Manufacturing file generation.

ToolDescription
generate_pcb_svgGenerate an SVG render of a PCB layout
export_gerbersExport Gerber manufacturing files
export_drillExport drill files
export_pdfExport a PDF from a PCB or schematic

tools/routing.py — FreeRouting autorouter integration.

ToolDescription
check_routing_capabilityCheck whether automated PCB routing is available
route_pcb_automaticallyAutomatically route a PCB using FreeRouting
analyze_routing_qualityAnalyze current PCB routing for quality and potential issues

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

ToolDescription
move_componentMove a component on the PCB to new coordinates
rotate_componentRotate a component on the PCB
get_board_statisticsRetrieve high-level board statistics from a live KiCad instance
check_connectivityCheck the routing connectivity status of the PCB
refill_zonesRefill all copper zones on the PCB