
KiCAD
The KiCAD MCP Server provides a standardized interface that enables AI assistants to interact with KiCAD for automated PCB design workflows, offering 122 tools across 16 categories including schematic design, footprint/symbol creation, autorouting via Freerouting integration, and JLCPCB component catalog access with 2.5M+ parts. It exposes real-time project state through dynamic resources and includes specialized capabilities such as FFC/ribbon cable passthrough workflows, datasheet enrichment, and cross-platform support (Linux, Windows, macOS) with experimental real-time KiCAD UI integration via IPC API. This server solves the problem of enabling natural language control and AI-assisted automation of complex PCB design operations while maintaining full MCP protocol compliance and comprehensive error handling.
- GitHub stars
- 1K
- tools
- 80
- last updated
- Mar 6, 2026
Tools
80 toolsPublic tool metadata for what this MCP can expose to an agent.
create_projectInitialize new KiCAD projects
Initialize new KiCAD projects
No parameter schema in public metadata yet.
open_projectLoad existing project files
Load existing project files
No parameter schema in public metadata yet.
open_boardOpen a specific .kicad_pcb file
Open a specific .kicad_pcb file
No parameter schema in public metadata yet.
reload_boardRe-read a specific .kicad_pcb file
Re-read a specific .kicad_pcb file
No parameter schema in public metadata yet.
save_projectSave current state
Save current state
No parameter schema in public metadata yet.
save_boardSave current state
Save current state
No parameter schema in public metadata yet.
save_asSave current state
Save current state
No parameter schema in public metadata yet.
close_projectSave (optionally) and drop in-memory state
Save (optionally) and drop in-memory state
No parameter schema in public metadata yet.
is_dirtyCheck for unsaved changes
Check for unsaved changes
No parameter schema in public metadata yet.
discard_or_reloadUndo unsaved changes
Undo unsaved changes
No parameter schema in public metadata yet.
get_project_infoRetrieve project metadata
Retrieve project metadata
No parameter schema in public metadata yet.
snapshot_projectSave named checkpoint snapshot
Save named checkpoint snapshot
No parameter schema in public metadata yet.
set_board_sizeConfigure PCB dimensions
Configure PCB dimensions
No parameter schema in public metadata yet.
add_board_outlineCreate board edge (rectangle, circle, polygon, rounded rectangle)
Create board edge (rectangle, circle, polygon, rounded rectangle)
No parameter schema in public metadata yet.
add_layerAdd custom layers to stack
Add custom layers to stack
No parameter schema in public metadata yet.
set_active_layerSwitch working layer
Switch working layer
No parameter schema in public metadata yet.
get_layer_listList all board layers
List all board layers
No parameter schema in public metadata yet.
get_board_infoRetrieve board properties
Retrieve board properties
No parameter schema in public metadata yet.
get_board_2d_viewGenerate board preview image
Generate board preview image
No parameter schema in public metadata yet.
get_board_extentsGet board bounding box
Get board bounding box
No parameter schema in public metadata yet.
add_mounting_holePlace mounting holes
Place mounting holes
No parameter schema in public metadata yet.
add_board_textAdd text annotations
Add text annotations
No parameter schema in public metadata yet.
add_zoneAdd copper zone/pour with clearance settings
Add copper zone/pour with clearance settings
No parameter schema in public metadata yet.
clear_board_outlineRemove the Edge.Cuts outline
Remove the Edge.Cuts outline
No parameter schema in public metadata yet.
replace_board_outlineSwap the Edge.Cuts outline
Swap the Edge.Cuts outline
No parameter schema in public metadata yet.
set_board_originSet the drill/place and grid origins
Set the drill/place and grid origins
No parameter schema in public metadata yet.
get_board_originRead the drill/place and grid origins
Read the drill/place and grid origins
No parameter schema in public metadata yet.
list_graphicsInspect drawing items
Inspect drawing items
No parameter schema in public metadata yet.
update_graphicEdit drawing items
Edit drawing items
No parameter schema in public metadata yet.
delete_graphicEdit drawing items
Edit drawing items
No parameter schema in public metadata yet.
import_svg_logoImport SVG file as PCB silkscreen polygons
Import SVG file as PCB silkscreen polygons
No parameter schema in public metadata yet.
place_componentPlace single component with footprint
Place single component with footprint
No parameter schema in public metadata yet.
move_componentReposition existing component
Reposition existing component
No parameter schema in public metadata yet.
rotate_componentRotate component by angle
Rotate component by angle
No parameter schema in public metadata yet.
delete_componentRemove component from board
Remove component from board
No parameter schema in public metadata yet.
edit_componentModify component properties
Modify component properties
No parameter schema in public metadata yet.
find_componentSearch by reference or value
Search by reference or value
No parameter schema in public metadata yet.
get_component_propertiesQuery component details
Query component details
No parameter schema in public metadata yet.
add_component_annotationAdd annotation/comment
Add annotation/comment
No parameter schema in public metadata yet.
group_componentsGroup multiple components
Group multiple components
No parameter schema in public metadata yet.
replace_componentReplace with different footprint
Replace with different footprint
No parameter schema in public metadata yet.
get_component_padsGet all pad information
Get all pad information
No parameter schema in public metadata yet.
get_component_listList all placed components
List all placed components
No parameter schema in public metadata yet.
get_pad_positionGet precise pad position
Get precise pad position
No parameter schema in public metadata yet.
place_component_arrayCreate component grids/patterns
Create component grids/patterns
No parameter schema in public metadata yet.
align_componentsAlign multiple components
Align multiple components
No parameter schema in public metadata yet.
duplicate_componentCopy existing component
Copy existing component
No parameter schema in public metadata yet.
batch_move_componentsMove many components in one transactional call
Move many components in one transactional call
No parameter schema in public metadata yet.
get_component_geometryBody sizes and overlap checks
Body sizes and overlap checks
No parameter schema in public metadata yet.
check_placement_clearanceBody sizes and overlap checks
Body sizes and overlap checks
No parameter schema in public metadata yet.
get_ratsnestUnrouted connection analysis
Unrouted connection analysis
No parameter schema in public metadata yet.
estimate_airwire_lengthsUnrouted connection analysis
Unrouted connection analysis
No parameter schema in public metadata yet.
add_netCreate electrical net
Create electrical net
No parameter schema in public metadata yet.
route_traceRoute copper traces between XY points
Route copper traces between XY points
No parameter schema in public metadata yet.
route_pad_to_padRoute between pads with auto-via insertion
Route between pads with auto-via insertion
No parameter schema in public metadata yet.
add_viaPlace vias for layer transitions
Place vias for layer transitions
No parameter schema in public metadata yet.
delete_traceRemove traces (by UUID, position, or net)
Remove traces (by UUID, position, or net)
No parameter schema in public metadata yet.
query_tracesQuery/filter traces
Query/filter traces
No parameter schema in public metadata yet.
get_nets_listList all nets with statistics
List all nets with statistics
No parameter schema in public metadata yet.
modify_traceChange trace width, layer, or net
Change trace width, layer, or net
No parameter schema in public metadata yet.
create_netclassDefine net class with rules
Define net class with rules
No parameter schema in public metadata yet.
add_copper_pourCreate copper zones/pours
Create copper zones/pours
No parameter schema in public metadata yet.
route_differential_pairRoute differential signals
Route differential signals
No parameter schema in public metadata yet.
refill_zonesRefill all copper zones
Refill all copper zones
No parameter schema in public metadata yet.
copy_routing_patternReplicate routing between component groups
Replicate routing between component groups
No parameter schema in public metadata yet.
set_net_colorSet or clear a net's display color override
Set or clear a net's display color override
No parameter schema in public metadata yet.
route_arc_traceRoute a curved trace
Route a curved trace
No parameter schema in public metadata yet.
add_gnd_stitching_viasStitch a ground plane with vias
Stitch a ground plane with vias
No parameter schema in public metadata yet.
query_zonesInspect copper zones
Inspect copper zones
No parameter schema in public metadata yet.
add_schematic_componentPlace symbols from any KiCad library
Place symbols from any KiCad library
No parameter schema in public metadata yet.
delete_schematic_componentRemove component
Remove component
No parameter schema in public metadata yet.
edit_schematic_componentEdit footprint, value, reference
Edit footprint, value, reference
No parameter schema in public metadata yet.
validate_schematicLocate structural damage with line/column, confirmed via kicad-cli on a copy
Locate structural damage with line/column, confirmed via kicad-cli on a copy
No parameter schema in public metadata yet.
validate_symbol_libraryLocate structural damage with line/column, confirmed via kicad-cli on a copy
Locate structural damage with line/column, confirmed via kicad-cli on a copy
No parameter schema in public metadata yet.
list_library_tableLibrary table CRUD
Library table CRUD
No parameter schema in public metadata yet.
remove_library_table_entryLibrary table CRUD
Library table CRUD
No parameter schema in public metadata yet.
set_library_table_uriLibrary table CRUD
Library table CRUD
No parameter schema in public metadata yet.
set_symbol_pin_typeBulk pin type fixes with dry-run
Bulk pin type fixes with dry-run
No parameter schema in public metadata yet.
find_duplicate_symbolsFind the same part stored twice
Find the same part stored twice
No parameter schema in public metadata yet.
backannotate_footprintsPCB footprint choices flow back to the schematic
PCB footprint choices flow back to the schematic
No parameter schema in public metadata yet.
Sponsors
Readme
KiCAD MCP Server
A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with KiCAD for PCB design automation. Built on the MCP 2025-06-18 specification, this server provides comprehensive tool schemas and real-time project state access for intelligent PCB design workflows.
Open source (MIT) and actively maintained. New releases keep coming, and bug reports, pull requests and discussion are welcome here.
Details
- Repository
- github.com/mixelpixx/kicad-mcp-server
- Category
- Design & Creative