{"name":"io.github.ProductOfAmerica/mcp-server-kicad","slug":"productofamerica-mcp-server-kicad","title":"KiCad Tools","description":"Byte-preserving KiCad automation: 100+ tools for schematics, PCB layout, ERC, DRC, exports","url":"https://mcp.market/server/productofamerica-mcp-server-kicad","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":43,"stars":16,"forks":8,"downloads_week":437,"last_push_at":"2026-10-29T18:35:42.000Z","license":"GPL-3.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/ProductOfAmerica/mcp-server-kicad","website":"https://github.com/ProductOfAmerica/mcp-server-kicad","version":"0.21.1","remotes":[],"packages":[{"registryType":"pypi","identifier":"mcp-server-kicad","version":"0.21.1","runtimeHint":"uvx","transport":{"type":"stdio"}}],"tools":[{"name":"add_copper_zone","description":"Create an unfilled copper zone: a ground plane, power plane, or any filled copper pour. Call fill_zones afterward to compute the fills.","write_action":true,"price_micros":0,"input_schema":null},{"name":"add_global_label","description":"Add a global net label (visible across all sheets).","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_hierarchical_label","description":"Add a hierarchical label to a sub-sheet schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_hierarchical_sheet","description":"Add a hierarchical sheet to a parent schematic with matching labels in the child.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_junctions","description":"Add multiple junctions, as KiCad's junction tool places them. Each point dict has keys: x, y.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_keepout_zone","description":"Create a keep-out zone that restricts placement of specified items.","write_action":true,"price_micros":0,"input_schema":null},{"name":"add_label","description":"Add a net label at a position.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_lib_symbol","description":"Load a symbol definition from a .kicad_sym library into the schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_pcb_line","description":"Add a graphic line to the PCB (edge cuts, silkscreen, etc.).","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_pcb_text","description":"Add text to the PCB (silkscreen, fab layer, etc.).","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_power_symbol","description":"Place a power symbol (VCC, GND, +3V3, etc.).","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_sheet_pin","description":"Add a pin to an existing hierarchical sheet block.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_text","description":"Add a text annotation to the schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_thermal_vias","description":"Add a grid of thermal vias under a footprint pad.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_trace","description":"Add a trace segment between two points.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_via","description":"Add a via at a position.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_wires","description":"Add multiple wires at once, as KiCad's wire tool adds them. Each wire dict has keys: x1, y1, x2, y2.","write_action":false,"price_micros":0,"input_schema":null},{"name":"annotate_schematic","description":"Auto-assign reference designators to unannotated components.","write_action":false,"price_micros":0,"input_schema":null},{"name":"auto_place_decoupling_cap","description":"Place a decoupling capacitor and wire it to power/ground nets.","write_action":false,"price_micros":0,"input_schema":null},{"name":"autoroute_pcb","description":"Autoroute PCB traces using the Freerouting autorouter.","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_placement","description":"Check if placing/moving a footprint to (x, y) would violate constraints.","write_action":false,"price_micros":0,"input_schema":null},{"name":"connect_pins","description":"Connect two component pins with Manhattan (L-shaped) wire routing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_project","description":"Create a KiCad 9 project (.kicad_pro + root .kicad_sch).","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_schematic","description":"Create a valid empty KiCad 9 schematic file.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_sym_lib_table","description":"Create a sym-lib-table file in the given directory.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_symbol_library","description":"Create a valid empty KiCad 9 symbol library.","write_action":true,"price_micros":0,"input_schema":null},{"name":"duplicate_sheet","description":"Duplicate a hierarchical sheet, copying the child file with new UUIDs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_3d","description":"Export PCB 3D model or render 3D view to image.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_footprint_svg","description":"Export footprint to SVG.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_gerbers","description":"Export Gerber files for manufacturing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_hierarchical_netlist","description":"Export a netlist from the root schematic, including hierarchy info.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_ipc2581","description":"Export PCB in IPC-2581 format for manufacturing data exchange.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_pcb","description":"Export PCB to PDF, SVG, or DXF format.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_positions","description":"Export component position file (pick and place) as CSV, in millimetres (mm).","write_action":false,"price_micros":0,"input_schema":null},{"name":"fill_zones","description":"Fill all copper zones on the board using pcbnew's zone filler.","write_action":false,"price_micros":0,"input_schema":null},{"name":"flatten_hierarchy","description":"Flatten a hierarchical schematic into a single sheet whose netlist is the hierarchy's.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_board_info","description":"Get board summary: footprint count, trace count, net count, thickness. The net count includes the unconnected net, as KiCad's own count does.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_footprint_bounds","description":"Get the board-coordinate bounding box of a placed footprint.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_footprint_info","description":"Get pad and outline details for a footprint .kicad_mod file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_footprint_pads","description":"Get pad info for a placed footprint on the PCB.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_net_connections","description":"Find all component pins connected to a net label.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_pin_positions","description":"Get absolute pin positions for a placed component (accounts for rotation/mirror).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_schematic_summary","description":"Get schematic page info and item counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_sheet_info","description":"Get detailed info about a hierarchical sheet including pin/label matching.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_symbol_instances","description":"List all symbol instances from a root schematic's symbolInstances table.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_symbol_pins","description":"Get pin info for a symbol in the schematic's lib_symbols.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_version","description":"Get KiCad version information including build details and library versions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"is_root_schematic","description":"Check if a schematic is the root or a sub-sheet.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_cross_sheet_nets","description":"List all nets that cross sheet boundaries (hierarchical pins and global labels).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_hierarchy","description":"List the full sheet hierarchy starting from a root schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_lib_footprints","description":"List all footprints in a .pretty library directory.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_pcb_footprints","description":"List all footprints on the PCB.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_pcb_graphic_items","description":"List all graphic items (lines, text, etc.) on the PCB.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_pcb_layers","description":"List all layers defined in the PCB stackup: copper, silkscreen, soldermask, solder paste, courtyard, fabrication, and the board outline.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_pcb_nets","description":"List all named nets on the PCB.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_pcb_traces","description":"List all trace segments and vias on the PCB.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_pcb_zones","description":"List all zones (copper and keepout) on the PCB.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_schematic_bus_entries","description":"List all bus entries in the schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_schematic_components","description":"List all placed components in the schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_schematic_global_labels","description":"List all global labels in the schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_schematic_hierarchical_labels","description":"List all hierarchical labels in the schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_schematic_junctions","description":"List all junctions in the schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_schematic_labels","description":"List all net labels in the schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_schematic_no_connects","description":"List all no-connect flags in the schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_schematic_sheets","description":"List all hierarchical sheets in the schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_schematic_wires","description":"List all wire segments in the schematic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_unconnected_pins","description":"List unconnected pins by running ERC and filtering results.","write_action":false,"price_micros":0,"input_schema":null},{"name":"modify_hierarchical_label","description":"Modify an existing hierarchical label.","write_action":false,"price_micros":0,"input_schema":null},{"name":"modify_hierarchical_sheet","description":"Modify properties of an existing hierarchical sheet block.","write_action":false,"price_micros":0,"input_schema":null},{"name":"move_component","description":"Move a placed component, turn it, or both.","write_action":false,"price_micros":0,"input_schema":null},{"name":"move_footprint","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"move_hierarchical_sheet","description":"Move a hierarchical sheet block to a new position, including all pins.","write_action":false,"price_micros":0,"input_schema":null},{"name":"no_connect_pin","description":"Place a no-connect flag on a component pin.","write_action":false,"price_micros":0,"input_schema":null},{"name":"place_component","description":"Place a schematic symbol: resistor, capacitor, inductor, diode, LED, transistor, crystal, switch, connector, or an IC such as a microcontroller or regulator chip. Any lib_id in a library works.","write_action":false,"price_micros":0,"input_schema":null},{"name":"place_footprint","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"remove_component","description":"Remove a component by reference designator.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_dangling_tracks","description":"Detect and remove trace segments with unconnected endpoints.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_footprint","description":"Remove a footprint by reference designator.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_hierarchical_label","description":"Remove a hierarchical label by name or UUID.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_hierarchical_sheet","description":"Remove a hierarchical sheet block from a parent schematic.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_junction","description":"Remove a junction at the given coordinates, as KiCad's delete removes one.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_label","description":"Remove net label(s) or global label(s) by text, optionally filtered by position.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_no_connect","description":"Remove no-connect flag(s) from a component pin.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_sheet_pin","description":"Remove a pin from a hierarchical sheet block.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_text","description":"Remove text annotation(s) by content, optionally filtered by position.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_traces","description":"Remove trace segments matching the given filters. Does not remove vias. At least one filter (net_name, layer, or bounding box) is required.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_wire","description":"Remove a wire segment by its endpoint coordinates.","write_action":true,"price_micros":0,"input_schema":null},{"name":"reorder_sheet_pages","description":"Put hierarchical sheets in the page order given: sheets listed come first, in that order, then the others in the order they have now.","write_action":true,"price_micros":0,"input_schema":null},{"name":"run_drc","description":"Run Design Rules Check (DRC) on a PCB.","write_action":true,"price_micros":0,"input_schema":null},{"name":"run_jobset","description":"Run a KiCad jobset file: every output it defines.","write_action":true,"price_micros":0,"input_schema":null},{"name":"set_component_property","description":"Set any property on a placed component, or rename it. Creates the property if it is missing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_net_class","description":"Create or update a net class with design rules and assign nets.","write_action":true,"price_micros":0,"input_schema":null},{"name":"set_page_size","description":"Set the schematic page/sheet size.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_trace_width","description":"Change the width of existing traces matching the given filters. At least one filter (net_name, layer, or bounding box) is required.","write_action":false,"price_micros":0,"input_schema":null},{"name":"trace_hierarchical_net","description":"Trace a net across the hierarchy, following hierarchical pins and labels.","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_pcb_from_schematic","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"upgrade_footprint_lib","description":"Upgrade a footprint library to current KiCad format.","write_action":false,"price_micros":0,"input_schema":null},{"name":"validate_board","description":"Validate all footprint placements against keep-out zones and board edge.","write_action":false,"price_micros":0,"input_schema":null},{"name":"validate_hierarchy","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"wire_pins_to_net","description":"Put each listed pin on the net named label_text, or refuse and write nothing.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-11-03T19:42:27.039Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-03T19:42:27.009Z","components":{"code":{"score":25,"max":25,"notes":["26 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 5 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"mcp-server-kicad","version":"0.21.1","found":true,"weeklyDownloads":437,"license":"GPL-3.0-or-later","dependencyCount":8,"publishedAt":"2026-10-20T00:31:42.966566Z","repositoryUrl":"https://github.com/ProductOfAmerica/mcp-server-kicad"}],"repo":{"found":true,"owner":"ProductOfAmerica","repo":"mcp-server-kicad","archived":false,"pushedAt":"2026-10-29T18:35:42Z","stars":16,"forks":8,"openIssues":36,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/14712114?v=4","ownerCreatedAt":"2015-09-22T04:56:39Z","license":"GPL-3.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/14712114?v=4&s=128","source":"registry"},"presence":{"stars":16,"forks":8,"downloadsWeek":437,"license":"GPL-3.0","lastPushAt":"2026-10-29T18:35:42.000Z","score":43}}}},"grade_history":[],"reviews":[]}