🚀 Meet Konnect — the next generation Konnect is this project rebuilt from scratch in Rust as a native KiCAD 10 plugin: a single binary with no runtime dependencies, built on KiCAD's official IPC…
kicad-mcp-server is an MCP project maintained in the mixelpixx/kicad-mcp-server repository. The maintainer describes its purpose as “🚀 Meet Konnect — the next generation Konnect is this project rebuilt from scratch in Rust as a native KiCAD 10 plugin: a single binary…”. Read the project documentation for the complete scope.
The project provides a local client configuration using node. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.
The example declares PYTHONPATH, LOG_LEVEL. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| list_tool_categories | Browse all available categories |
| get_category_tools | View tools in a specific category |
| search_tools | Find tools by keyword |
| create_project | Initialize new KiCAD projects |
| open_project | Load existing project files |
| close_project | Save (optionally) and drop in-memory state |
| get_project_info | Retrieve project metadata |
| snapshot_project | Save named checkpoint snapshot |
| set_board_size | Configure PCB dimensions |
| add_board_outline | Create board edge (rectangle, circle, polygon, rounded rectangle) |
| add_layer | Add custom layers to stack |
| set_active_layer | Switch working layer |
| get_layer_list | List all board layers |
| get_board_info | Retrieve board properties |
| get_board_2d_view | Generate board preview image |
| get_board_extents | Get board bounding box |
| add_mounting_hole | Place mounting holes |
| add_board_text | Add text annotations |
| add_zone | Add copper zone/pour with clearance settings |
| import_svg_logo | Import SVG file as PCB silkscreen polygons |
| place_component | Place single component with footprint |
| move_component | Reposition existing component |
| rotate_component | Rotate component by angle |
| delete_component | Remove component from board |
| edit_component | Modify component properties |
| find_component | Search by reference or value |
| get_component_properties | Query component details |
| add_component_annotation | Add annotation/comment |
| group_components | Group multiple components |
| replace_component | Replace with different footprint |
| get_component_pads | Get all pad information |
| get_component_list | List all placed components |
| get_pad_position | Get precise pad position |
| place_component_array | Create component grids/patterns |
| align_components | Align multiple components |
| duplicate_component | Copy existing component |
| batch_move_components | Move many components in one transactional call |
| add_net | Create electrical net |
| route_trace | Route copper traces between XY points |
| route_pad_to_pad | Route between pads with auto-via insertion |
| add_via | Place vias for layer transitions |
| delete_trace | Remove traces (by UUID, position, or net) |
| query_traces | Query/filter traces |
| get_nets_list | List all nets with statistics |
| modify_trace | Change trace width, layer, or net |
| create_netclass | Define net class with rules |
| add_copper_pour | Create copper zones/pours |
| route_differential_pair | Route differential signals |
| refill_zones | Refill all copper zones |
| copy_routing_pattern | Replicate routing between component groups |
| set_net_color | Set or clear a net's display color override |
| route_arc_trace | Route a curved trace |
| add_gnd_stitching_vias | Stitch a ground plane with vias |
| query_zones | Inspect copper zones |
| add_schematic_component | Place symbols from any KiCad library |
| delete_schematic_component | Remove component |
| edit_schematic_component | Edit footprint, value, reference, label positions, and arbitrary custom properties (MPN, Manufacturer, DigiKey_PN, LCSC, Voltage, Tolerance, Dielectric, …)… |
| set_schematic_component_property | Add or update a single custom property (BOM/sourcing field) on a component |
| remove_schematic_component_property | Delete a single custom property from a component |
| get_schematic_component | Inspect every field on a component (built-in + custom) including label positions |
| list_schematic_components | List all components |
| move_schematic_component | Reposition component |
| rotate_schematic_component | Rotate component |
| annotate_schematic | Auto-assign reference designators |
| add_schematic_wire | Create wire between points |
| delete_schematic_wire | Remove wire segment |
| add_no_connect | Mark a pin as deliberately unconnected |
| add_schematic_net_label | Add net labels (VCC, GND, signals) |
| delete_schematic_net_label | Remove net label |
| connect_to_net | Connect pin to named net |
| connect_passthrough | Wire all matching pins between connectors (FFC/ribbon) |
| get_schematic_pin_locations | Get pin locations for component |
| get_net_connections | Trace net connectivity |
| create_schematic | Create new schematic file |
| get_schematic_view | Rasterized schematic preview |
| run_erc | Electrical rule check |
| generate_netlist | Generate netlist from schematic |
| sync_schematic_to_board | Import nets/pads to PCB (F8 equivalent) |
| backannotate_footprints | Copy footprint choices from the board back to the schematic |
| create_board_from_schematic | Create a board populated from the schematic |
| validate_schematic | Check a .kicad_sch file |
| validate_symbol_library | Check a .kicad_sym file |
| run_drc | Execute design rule check |
| get_drc_violations | Get violation list by severity |
| export_drill | Drill files |
| export_3d | 3D models (STEP, STL, VRML, OBJ) |
| export_netlist | Netlist (KiCad, Spice, Cadstar, OrcadPCB2) |
| export_vrml | VRML 3D model |
| set_symbol_pin_type | Bulk-set pin electrical types, with a dry run first |
| find_duplicate_symbols | Find the same part stored twice under different names |
| repair_flat_symbols | Fix vendor symbols that KiCad tolerates but tools cannot parse |
| list_library_table | Read every registered library and check its URI resolves |
| remove_library_table_entry | Unregister a library |
| set_library_table_uri | Repoint a library that moved |
| edit_footprint_pad | Modify pad properties |
| add_symbol_property | Add or update a field on a library symbol |
| delete_symbol | Remove symbol from library |
| enrich_datasheets | Auto-populate datasheet URLs using LCSC part numbers |
| get_datasheet_url | Get LCSC datasheet URL for a component |
| download_jlcpcb_database | Download 2.5M+ parts catalog (one-time setup) |
| search_jlcpcb_parts | Search with parametric filters |
| get_jlcpcb_part | Detailed part info with pricing |
| get_jlcpcb_database_stats | Database statistics |
| suggest_jlcpcb_alternatives | Find cheaper or in-stock alternatives |
| autoroute | Run Freerouting autorouter (DSN export, route, SES import) |
| check_freerouting | Verify Java and Freerouting availability |
| check_kicad_ui | Check if KiCAD is running |
| launch_kicad_ui | Launch KiCAD application |
| get_backend_state | Report which backend (IPC or SWIG) is in use |
| search_parts_registry | Search the registry by name, keyword or manufacturer |
| get_registry_part | Inspect one part in detail |
| download_registry_part | Download its footprint, symbol or 3D model |
| import_eagle_project | Convert an Eagle project |
| import_pcb | Load an existing .kicad_pcb into the session |
{
"mcpServers": {
"kicad": {
"command": "node",
"args": [
"/path/to/KiCAD-MCP-Server/dist/index.js"
],
"env": {
"PYTHONPATH": "/path/to/kicad/python",
"LOG_LEVEL": "info"
}
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
| Variable | Description | Required |
|---|---|---|
| PYTHONPATH | Declared in the maintainer’s client configuration. | Check documentation |
| LOG_LEVEL | Declared in the maintainer’s client configuration. | Check documentation |
Inspect PostgreSQL schemas and run read-only queries with the archived MCP reference server. Review its maintenance status before choosing it.
Connect the Notion MCP server to search workspace content and work with pages and databases through Notion’s hosted OAuth service.
Use the Supabase MCP server to inspect database schemas, query project data and retrieve docs through a project-scoped connection.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Official MongoDB server covering data, schemas and Atlas management — from find queries to spinning up clusters.