Skip to content
Agentmart
Submit a tool

KiCad Schematics

Design KiCad schematics by talking to Claude.

Connector by unmateria · GitHub account verified by the MCP Registry

IndexedLicense unknownLocal (stdio)★ 3
Write a review

Install

Works with Claude Desktop. Read the repository before you give any tool access to your data.

Download the bundle

MCP bundle (.mcpb): open it with Claude Desktop.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Design KiCad schematics by talking to Claude. Places parts, wires nets, runs ERC. Needs KiCad 10.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
13 read · 14 write · 1 delete · 5 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Downloaded binary

Tools by what they do 33

Read from the source code; the running server may list different tools.

Read 13 · Look things up without changing anything.

  • check_component_existence
  • cluster_components
  • design_guide
  • find_part
  • get_connectivity_summary
  • get_design_context
  • get_output_dir
  • get_project_info
  • kicad_workflow_help
  • layout_metrics
  • list_symbol_libraries
  • list_templates
Show 1 more tools
  • read_schematic

Write 14 · Create, change, send or run things.

  • add_label
  • add_power_rail
  • add_symbol
  • add_wire
  • apply_template
  • batch_schematic
  • connect_pins
  • create_schematic
  • import_part
  • modify_pcb_layout
  • no_connect
  • register_library
Show 2 more tools
  • set_output_dir
  • symbol_pins

Delete 1 · Delete, drop, revoke or wipe things.

  • disconnect_pin

Not yet classified 5 · We could not tell from the name and description.

  • compile_schematic
  • connect_netlist
  • export_schematic_image
  • junction
  • validate_design

Network hosts it talks to 1

  • github.com · found in install command

Tools (33)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_label

    Net label. Two labels with the same name are electrically connected — use instead of long wires for distant pins.

  • add_power_rail

    Place a power symbol (power:GND, power:VCC, power:+5V…) directly on a target pin in one call. Auto-generates the #PWR reference; no wire needed.

  • add_symbol

    Place a component on the schematic. Returns pin positions for the placed instance — use those coords with connect_pins, never compute pin coords manually. For multi-unit ICs (NE5532, LM358…) call once per unit with the same reference.

  • add_wire

    Manual wire from (x,y) to (x2,y2). Prefer connect_pins when both endpoints are pin positions.

  • apply_template

    Stamp a canonical sub-circuit template (see list_templates) into the schematic at (anchor_x, anchor_y). Pin_map ties role-qualified template pins to external net names so the surrounding circuit picks them up by label. Auto-allocates references unless ref_map is supplied.

  • batch_schematic

    Run multiple actions atomically in one file write. Stops on the first error. Use for adding many symbols at once or scripted setups.

  • check_component_existence

    Search for a component in the installed and imported KiCad libraries. Query format: 'LibName:PartName' (e.g. 'Device:R') or keyword. Tells you WHETHER a symbol exists; call symbol_pins to see what its pins are called, and find_part when it does not exist here.

  • cluster_components

    Read-only — list functional clusters detected in the current schematic (decoupling caps near IC, I²C pull-ups, LC filters, crystal+load caps, voltage dividers, op-amp feedback, header neighbours). Useful to understand which symbols the compiler wires from closed-form geometry.

  • compile_schematic

    THE way to build a schematic. Pass the whole design as one declarative source — either inline in `design` (no files needed) or as `design_path` — and get back a complete .kicad_sch with placement, wiring, power symbols, no_connects, ERC and a rendered preview. Prefer this over add_symbol/connect_pins/connect_netlist for anything you are creating: those are single-step editors that DO NOT run text placement, wire welding or netlist verification, so schematics built with them come out with overlapping text and can carry undetected shorts. Read design_guide FIRST. To change anything, edit the sou…

  • connect_netlist

    Route a complete netlist in one call — replaces many individual connect_pins calls. Each connection item has two fields: {"net": "VCC", "pins": ["U1.VCC", "R1.1", "C1.+"]} net — net name (used as label text) pins — pin refs in REF.PIN format (at least 2) The server routes wires between pins using an A* grid router that avoids symbol bodies. Returns full pin positions after routing — no need to call read_schematic separately. Strategy options: auto (default) — A* routing; falls back to net labels when routing fails or route > 150 mm wire — A* only; warns about failures but does …

  • connect_pins

    Draw an L-shaped wire between two pins (REF.pin → REF.pin). Smart routing avoids crossing other symbol bodies. Use add_label or connect_netlist instead for distant pins.

  • create_schematic

    Create an empty .kicad_sch file at schematic_path. Always the first call.

  • design_guide

    Read-only, and the FIRST thing to call before writing a design: a complete worked example you can copy, the full .design.json syntax (what the fields are called and how nets and placement are expressed), and the human-schematic conventions — signal flow, power rails, decoupling spacing in grid cells, wire-vs-label criteria, and the iteration protocol.

  • disconnect_pin

    Remove all wires and no_connect markers touching a pin endpoint. Use to undo a bad connection before re-routing.

  • export_schematic_image

    Export a .kicad_sch schematic for visual review and download. Format options: svg (default) — vector SVG + inline PNG preview. pdf — PDF via kicad-cli. MCP resource URI only (no inline preview). After calling this tool, read each kicad:// resource URI and call present_files to offer the user download buttons.

Show 18 more tools
  • find_part

    Find a component across every source at once: the KiCad libraries installed here, the parts already imported, and the external libraries (CERN, JLCPCB, Digi-Key, Espressif, SparkFun, LCSC/EasyEDA). Returns ranked candidates with what each one provides (symbol, footprint, 3D model), its licence, and a ref to hand to import_part. Use this when check_component_existence comes back empty. A candidate marked ALREADY INSTALLED needs no import — use its lib_id straight away.

  • get_connectivity_summary

    Connectivity audit: total pins, connected, unconnected, no_connect, near-misses, multi-unit gaps, full net list. Faster than ERC.

  • get_design_context

    Returns full spatial + connectivity + direction context for a schematic in one call. Includes all component positions, all pin directions (→N/S/E/W), full netlist, and geometric problems (wrong-direction wires, crossings, near-misses). Use this before routing to understand the complete picture without multiple round trips.

  • get_output_dir

    Return the current output directory where the MCP server writes generated files (schematics, images, exports). Also lists the 5 most recent files in that directory.

  • get_project_info

    Return server configuration: working directory, output_dir, log file path, kicad-cli path, symbol/footprint library paths. Use this to find the correct absolute path for schematic files.

  • import_part

    Install a candidate from find_part into the MCP_Imported library and register it with KiCad, so compile_schematic and the KiCad GUI can both use it. The part is verified before anything is written: it must parse, KiCad must read it back, and it must place in a schematic with its pins resolved. A part that fails is NOT installed. Returns the lib_id to use, the verification report, and pictures of the symbol and footprint — look at them.

  • junction

    Solder dot at a T-intersection of three or more wires. Required for KiCad to treat the T as connected.

  • kicad_workflow_help

    Read once at the start of a session. Returns the recommended workflow: write a .design.json source → compile_schematic → inspect PNG/ERC → iterate on the source.

  • layout_metrics

    Read-only — compute layout-quality metrics (bend count, crossings, wires-through-symbol, total wire length, density). Use to track regression vs baseline after editing a design source.

  • list_symbol_libraries

    Browse KiCad global symbol libraries. Without lib_name: lists all library names (optionally filtered). With lib_name: lists symbols inside that library (e.g. lib_name='Device', filter='LED' → returns 'Device:LED', 'Device:LED_ALT', etc.).

  • list_templates

    List the canonical sub-circuit templates available (op-amp non-inverting, voltage divider, MCU minimal, LM7805 regulator, I²C pull-ups). Each entry includes the external pins that the surrounding circuit must wire.

  • modify_pcb_layout

    Modify a KiCad PCB file (.kicad_pcb). Action 'move_footprint': requires reference, x, y, angle. Action 'define_edge_cuts': requires x, y (top-left corner), width, height.

  • no_connect

    Mark a pin as intentionally unconnected so ERC stops complaining. Provide either from=REF.pin or explicit x,y.

  • read_schematic

    List placed symbols, their pin positions, and connectivity status. Use before connect_pins so you know exact pin coordinates.

  • register_library

    Add a library entry to a sym-lib-table or fp-lib-table. import_part already registers what it installs; this is for libraries you got some other way.

  • set_output_dir

    Change the output directory where generated files are written. Creates the directory if it does not exist and persists the setting to config.ini so it survives server restarts. Takes effect immediately without restarting.

  • symbol_pins

    List the real pins of a library symbol: number, name, electrical type and which side it points to. Call this BEFORE writing nets in a .design.json source — KiCad's pin names are often not the datasheet's (NE555P has THRES and ~{RST}, not THR and RESET), and guessing costs a compile cycle each time.

  • validate_design

    Run ERC on a schematic and/or DRC on a PCB. Violations are classified as [MCP BUG] (internal error) or [FIXABLE] (LLM can resolve).

Signals

Stars
3
Forks
0
Open issues
0
Last commit
Aug 10, 2026 (2 months ago)
Last release
Aug 10, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.unmateria/mcp-kicad
Version
0.2.7
Auth
No auth
License
License unknown
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from unmateria

Cite this page

KiCad Schematics MCP server. Agent Mart. https://agentmart.dev/connectors/unmateria-mcp-kicad (last updated 2026-10-24)