Files
kicad-mcp-server/docs/TOOL_INVENTORY.md

23 KiB

KiCAD MCP Server - Complete Tool Inventory

Version: 2.1.0-alpha Total Tools: 137 (verifiziert via VS Code MCP Discovery Log) Last Updated: 2026-05-02

How Tools Are Organized

Tools are registered directly via server.tool()

The Access column below uses legacy labels from when a router pattern was planned:

  • Direct — High-frequency tools, originally intended as always-visible
  • Routed — Originally planned for router dispatch; now also registered directly
  • Additional — Registered directly (always visible)

Project Management (5 tools)

Source: src/tools/project.ts

Tool Description Access
create_project Create a new KiCAD project (.kicad_pro, .kicad_pcb, .kicad_sch) Direct
open_project Open an existing KiCAD project Direct
save_project Save the current project Direct
get_project_info Get project metadata and information Direct
snapshot_project Save a named checkpoint snapshot (renders PDF, saves step label) Direct

Board Management (12 tools)

Source: src/tools/board.ts

Tool Description Access
set_board_size Set PCB dimensions (width, height, unit) Direct
add_board_outline Add board outline (rectangle, circle, polygon, rounded_rectangle) Direct
get_board_info Get board metadata and properties Direct
add_layer Add copper/technical/signal layer Routed (board)
set_active_layer Change the active working layer Routed (board)
get_layer_list List all layers on the board Routed (board)
add_mounting_hole Add mounting hole with optional pad Routed (board)
add_board_text Add text annotation to board Routed (board)
add_zone Add copper zone/pour with clearance settings Routed (board)
get_board_extents Get bounding box of board Routed (board)
get_board_2d_view Render 2D board view (PNG/JPG/SVG) Routed (board)
import_svg_logo Import SVG file as polygons on silkscreen layer Additional

Component Management (16 tools)

Source: src/tools/component.ts

Tool Description Access
place_component Place footprint on PCB (position, rotation, reference, value) Direct
move_component Move component to new position Direct
rotate_component Rotate component (absolute angle) Routed (component)
delete_component Remove component from board Routed (component)
edit_component Edit component properties (reference, value, footprint) Routed (component)
find_component Search components by reference or value Routed (component)
get_component_properties Get all properties of a component Routed (component)
add_component_annotation Add annotation/comment to component Routed (component)
group_components Group multiple components together Routed (component)
replace_component Replace component with different footprint Routed (component)
get_component_pads Get all pad information for a component Additional
get_component_list List all components with optional filters Additional
get_pad_position Get precise position of a specific pad Additional
place_component_array Place array of components (rows x columns) Additional
align_components Align components (horizontal, vertical, grid) Additional
duplicate_component Duplicate component with offset Additional

Routing (13 tools)

Source: src/tools/routing.ts

Tool Description Access
add_net Create a new net on the PCB Direct
route_trace Route trace segment between XY points (single layer) Direct
add_via Add via (through/blind/buried) Routed (routing)
add_copper_pour Add copper pour / ground plane Routed (routing)
delete_trace Delete traces by UUID, position, or bulk by net Additional
query_traces Query/filter traces by net, layer, or bounding box Additional
get_nets_list List all nets with statistics Additional
modify_trace Modify existing trace (width, layer, net) Additional
create_netclass Create net class with design rules Additional
route_differential_pair Route differential pair traces Additional
refill_zones Refill all copper zones Additional
route_pad_to_pad Route trace between two pads with auto-via insertion Additional
copy_routing_pattern Copy routing from source to target component groups Additional

Design Rules and DRC (8 tools)

Source: src/tools/design-rules.ts

Tool Description Access
set_design_rules Set global design rules (clearance, track width, via sizes) Routed (drc)
get_design_rules Get current design rules Routed (drc)
run_drc Run design rule check Routed (drc)
add_net_class Add net class with custom rules Routed (drc)
assign_net_to_class Assign net to a net class Routed (drc)
set_layer_constraints Set layer-specific constraints Routed (drc)
check_clearance Check clearance between two items Routed (drc)
get_drc_violations Get DRC violation list (filter by severity) Routed (drc)

Export (8 tools)

Source: src/tools/export.ts

Tool Description Access
export_gerber Export Gerber files for fabrication Routed (export)
export_pdf Export PDF with layer selection and page size Routed (export)
export_svg Export SVG vector graphics Routed (export)
export_3d Export 3D model (STEP, STL, VRML, OBJ) Routed (export)
export_bom Export Bill of Materials (CSV, XML, HTML, JSON) Routed (export)
export_netlist Export netlist (KiCad, Spice, Cadstar, OrcadPCB2) Routed (export)
export_position_file Export component position file for pick and place Routed (export)
export_vrml Export VRML 3D model Routed (export)

Schematic (43 tools)

Source: src/tools/schematic.ts

Component Operations (10)

Tool Description Access
add_schematic_component Add component to schematic (symbol from library) Direct
delete_schematic_component Remove component from schematic Additional
edit_schematic_component Edit footprint, value, reference, label positions, and arbitrary custom properties (MPN, Manufacturer, DigiKey, …) Additional
set_schematic_component_property Add or update a single custom property (BOM/sourcing field) on a component Additional
remove_schematic_component_property Delete a single custom property from a component Additional
get_schematic_component Get component info: built-in fields + all custom properties + label positions Additional
list_schematic_components List all components in schematic Direct
move_schematic_component Move component to new position Routed (schematic)
rotate_schematic_component Rotate component Routed (schematic)
annotate_schematic Auto-annotate reference designators Direct

Wiring and Connections (10)

Tool Description Access
add_schematic_wire Add wire segment between two points Routed (schematic)
delete_schematic_wire Delete wire segment Routed (schematic)
add_schematic_net_label Add net label to schematic Direct
delete_schematic_net_label Delete net label Routed (schematic)
add_no_connect Add no-connect flag (X marker) to an unconnected pin Direct
move_schematic_net_label Move net label to new position Routed (schematic)
connect_to_net Connect component pin to named net Direct
connect_passthrough Connect all matching pins between two connectors Direct
get_schematic_pin_locations Get pin locations for a component Additional
get_wire_connections Get all connections at a wire endpoint Additional

Hierarchical Schematics (2)

Tool Description Access
add_schematic_hierarchical_label Add hierarchical label for multi-sheet connections Routed (schematic)
add_sheet_pin Add a sheet pin to a hierarchical sheet symbol Routed (schematic)

Net Analysis (5)

Tool Description Access
get_net_connections Get all connections for a net Routed (schematic)
get_net_at_point Get the net name at an XY coordinate Additional
list_schematic_nets List all nets in schematic Routed (schematic)
list_schematic_wires List all wires in schematic Routed (schematic)
list_schematic_labels List all net labels Routed (schematic)

Text Annotations (2)

Tool Description Access
add_schematic_text Add free-form text annotation to schematic Routed (schematic)
list_schematic_texts List all text annotations (with optional filter) Routed (schematic)

Visual / Geometry Helpers (8)

Tool Description Access
get_schematic_view Render schematic as image (PNG/SVG) Routed (schematic)
get_schematic_view_region Render a specific region of the schematic as image Additional
find_overlapping_elements Find schematic elements that visually overlap Additional
get_elements_in_region Get all elements inside an XY bounding box Additional
find_wires_crossing_symbols Find wires that cross through symbol bodies (DRC helper) Additional
list_floating_labels List net labels not connected to any wire Additional
find_orphaned_wires Find wire segments not connected at one or both ends Additional
snap_to_grid Snap an XY coordinate to the nearest schematic grid point Additional

Schematic Creation and Export (3)

Tool Description Access
create_schematic Create a new schematic file Routed (schematic)
export_schematic_svg Export schematic to SVG Routed (schematic)
export_schematic_pdf Export schematic to PDF Routed (schematic)

Validation and Synchronization (3)

Tool Description Access
run_erc Run electrical rule check Additional
generate_netlist Generate netlist from schematic Routed (schematic)
sync_schematic_to_board Sync schematic components/nets to PCB (F8 equivalent) Direct

Footprint Libraries (4 tools)

Source: src/tools/library.ts

Tool Description Access
list_libraries List all footprint libraries Routed (library)
search_footprints Search footprints across libraries Routed (library)
list_library_footprints List footprints in a specific library Routed (library)
get_footprint_info Get detailed footprint information Routed (library)

Symbol Libraries (4 tools)

Source: src/tools/library-symbol.ts

Tool Description Access
list_symbol_libraries List all symbol libraries from sym-lib-table Additional
search_symbols Search symbols by name, LCSC ID, or description Additional
list_library_symbols List symbols in a specific library Additional
get_symbol_info Get detailed symbol information Additional

Footprint Creator (4 tools)

Source: src/tools/footprint.ts

Tool Description Access
create_footprint Create custom .kicad_mod footprint (SMD/THT pads, courtyard, silkscreen) Additional
edit_footprint_pad Edit pad in existing footprint (size, position, drill, shape) Additional
register_footprint_library Register .pretty library in fp-lib-table Additional
list_footprint_libraries List available .pretty libraries Additional

Symbol Creator (4 tools)

Source: src/tools/symbol-creator.ts

Tool Description Access
create_symbol Create custom .kicad_sym symbol (pins, rectangles, polylines) Additional
delete_symbol Remove symbol from library Additional
list_symbols_in_library List all symbols in a .kicad_sym file Additional
register_symbol_library Register library in sym-lib-table Additional

Datasheet Tools (2 tools)

Source: src/tools/datasheet.ts

Tool Description Access
enrich_datasheets Fill missing datasheet URLs using LCSC part numbers Additional
get_datasheet_url Get LCSC datasheet URL for a component Additional

JLCPCB Integration (5 tools)

Source: src/tools/jlcpcb-api.ts

Tool Description Access
download_jlcpcb_database Download 2.5M+ parts catalog to local SQLite database Additional
search_jlcpcb_parts Search parts by specs (category, package, library type) Additional
get_jlcpcb_part Get detailed part info with pricing Additional
get_jlcpcb_database_stats Get database statistics Additional
suggest_jlcpcb_alternatives Find cheaper or in-stock alternatives Additional

Freerouting Autorouter (4 tools)

Source: src/tools/freerouting.ts

Tool Description Access
autoroute Run Freerouting autorouter (export DSN, route, import SES) Routed (autoroute)
export_dsn Export Specctra DSN file for manual routing Routed (autoroute)
import_ses Import routed SES file back into PCB Routed (autoroute)
check_freerouting Check Java and Freerouting JAR availability Routed (autoroute)

UI Management (2 tools)

Source: src/tools/ui.ts

Tool Description Access
check_kicad_ui Check if KiCAD UI is running Direct
launch_kicad_ui Launch KiCAD UI (optionally with project) Routed (board)

Router / Discovery Tools (3 tools)

Source: src/tools/router.ts

Registriert via registerRouterTools() in src/server.ts. Ermöglichen Tool-Discovery durch den LLM.

Tool Description Access
list_tool_categories Browse all available tool categories Direct
get_category_tools View tools in a specific category Direct
search_tools Find tools by keyword Direct

Summary by Access Type

Access Type Count Description
Direct 21 Always visible
Routed 72 Always visible (registered directly)
Additional 44 Always visible, registered directly
Router/Discovery 3 Tool-Discovery (router.ts, registered)
Total registered 137 Verifiziert via VS Code MCP Discovery

Summary by Category

Category Tool Count
Project Management 5
Board Management 12
Component Management 16
Routing 13
Design Rules / DRC 8
Export 8
Schematic 43
Footprint Libraries 4
Symbol Libraries 4
Footprint Creator 4
Symbol Creator 4
Datasheet 2
JLCPCB Integration 5
Freerouting 4
UI Management 2
Router / Discovery 3
Total registered 137

Verified: VS Code MCP Discovery Log meldet 137 registrierte Tools.

Token Impact

Alle 137 registrierten Tools sind stets für den LLM sichtbar. Die Discovery-Tools in router.ts ermöglichen dem Modell, Tools nach Kategorie oder Stichwort zu durchsuchen.