Kicad

107 tools. 69 can modify or destroy data without limits.

11 destructive tools with no built-in limits. Policy required.

Last updated:

69 can modify or destroy data
38 read-only
107 tools total

Community server · catalogue entry verified 29/06/2026

How to control Kicad ↓

What Kicad exposes to your agents

Read (38) Write / Execute (58) Destructive / Financial (11)
Critical Risk

The most dangerous Kicad tools

69 of Kicad's 107 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Kicad

PolicyLayer is an MCP gateway — it sits between your AI agents and Kicad, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "remove_component": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "add_copper_zone": {
    "limits": [
      {
        "counter": "add_copper_zone_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "check_placement": {
    "limits": [
      {
        "counter": "check_placement_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Kicad — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON KICAD →

Instant setup, no code required.

All 107 Kicad tools

WRITE 53 tools
Write add_copper_zone add_copper_zone Write add_global_label add_global_label Write add_hierarchical_label add_hierarchical_label Write add_hierarchical_sheet add_hierarchical_sheet Write add_junctions Add multiple junctions. Each point dict has keys: x, y. Write add_keepout_zone add_keepout_zone Write add_label Add a net label at a position. Write add_lib_symbol Load a symbol definition from a .kicad_sym library into the schematic. Write add_pcb_line Add a graphic line to the PCB (edge cuts, silkscreen, etc.). Write add_pcb_text Add text to the PCB (silkscreen, fab layer, etc.). Write add_power_symbol add_power_symbol Write add_sheet_pin add_sheet_pin Write add_symbol add_symbol Write add_text Add a text annotation to the schematic. Write add_thermal_vias add_thermal_vias Write add_trace Add a trace segment between two points. Write add_via Add a via at a position. Write add_wires Add multiple wires at once. Each wire dict has keys: x1, y1, x2, y2. Write annotate_schematic annotate_schematic Write auto_place_decoupling_cap auto_place_decoupling_cap Write connect_pins connect_pins Write create_project create_project Write create_schematic create_schematic Write create_sym_lib_table create_sym_lib_table Write create_symbol_library create_symbol_library Write duplicate_sheet duplicate_sheet Write export_3d export_3d Write export_footprint_svg Export footprint to SVG. Write export_gerbers export_gerbers Write export_hierarchical_netlist export_hierarchical_netlist Write export_ipc2581 export_ipc2581 Write export_netlist Export schematic netlist in KiCad XML or KiCad net format. Write export_pcb export_pcb Write export_positions Export component position file (pick and place). Write export_schematic Export schematic to PDF, SVG, or DXF format. Write export_symbol_svg Export symbol library to SVG images. Write flatten_hierarchy flatten_hierarchy Write modify_hierarchical_label modify_hierarchical_label Write modify_hierarchical_sheet modify_hierarchical_sheet Write move_component Move a placed component to a new position. Write move_footprint Move a footprint to a new position. Write move_hierarchical_sheet Move a hierarchical sheet block to a new position, including all pins. Write no_connect_pin Place a no-connect flag on a component pin. Write place_component place_component Write place_footprint place_footprint Write reorder_sheet_pages Reorder hierarchical sheets by specifying the desired UUID order. Write set_component_property Set any property on a placed component. Creates it if missing. Write set_net_class set_net_class Write set_page_size set_page_size Write set_trace_width set_trace_width Write upgrade_footprint_lib Upgrade a footprint library to current KiCad format. Write upgrade_symbol_lib Upgrade a symbol library to current KiCad format. Write wire_pins_to_net wire_pins_to_net
READ 38 tools
Read check_placement Check if placing/moving a footprint to (x, y) would violate constraints. Read export_bom Export Bill of Materials (BOM) as CSV. Read get_board_info Get board summary: footprint count, trace count, net count, thickness. Read get_footprint_bounds Get the board-coordinate bounding box of a placed footprint. Read get_footprint_info Get pad and outline details for a footprint .kicad_mod file. Read get_footprint_pads Get pad info for a placed footprint on the PCB. Read get_net_connections get_net_connections Read get_pin_positions Get absolute pin positions for a placed component (accounts for rotation/mirror). Read get_schematic_summary Get schematic page info and item counts. Read get_sheet_info get_sheet_info Read get_symbol_info Get detailed pin and property info for a symbol in a library. Read get_symbol_instances get_symbol_instances Read get_symbol_pins Get pin info for a symbol in the schematic's lib_symbols. Read get_version Get KiCad version information including build details and library versions. Read is_root_schematic is_root_schematic Read list_cross_sheet_nets list_cross_sheet_nets Read list_hierarchy list_hierarchy Read list_lib_footprints List all footprints in a .pretty library directory. Read list_lib_symbols List all symbols in a .kicad_sym library file. Read list_pcb_footprints List all footprints on the PCB. Read list_pcb_graphic_items List all graphic items (lines, text, etc.) on the PCB. Read list_pcb_layers List all layers defined in the PCB stackup. Read list_pcb_nets List all named nets on the PCB. Read list_pcb_traces List all trace segments and vias on the PCB. Read list_pcb_zones List all zones (copper and keepout) on the PCB. Read list_schematic_bus_entries List all bus entries in the schematic. Read list_schematic_components List all placed components in the schematic. Read list_schematic_global_labels List all global labels in the schematic. Read list_schematic_hierarchical_labels List all hierarchical labels in the schematic. Read list_schematic_junctions List all junctions in the schematic. Read list_schematic_labels List all net labels in the schematic. Read list_schematic_no_connects List all no-connect flags in the schematic. Read list_schematic_sheets List all hierarchical sheets in the schematic. Read list_schematic_wires List all wire segments in the schematic. Read list_unconnected_pins list_unconnected_pins Read trace_hierarchical_net trace_hierarchical_net Read validate_board Validate all footprint placements against keep-out zones and board edge. Read validate_hierarchy validate_hierarchy

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Kicad

Can an AI agent delete data through the Kicad MCP server? +

Yes. The Kicad server exposes 11 destructive tools including remove_component, remove_dangling_tracks, remove_footprint. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Kicad? +

The Kicad server has 53 write tools including add_copper_zone, add_global_label, add_hierarchical_label. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Kicad.

How many tools does the Kicad MCP server expose? +

107 tools across 4 categories: Destructive, Execute, Read, Write. 38 are read-only. 69 can modify, create, or delete data.

How do I enforce a policy on Kicad? +

Register the Kicad MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Kicad tool call.

Deterministic rules across all 107 Kicad tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

107 Kicad tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.