KiCad MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_device_treeB | Generate device tree source (.dts) file from schematic. This function analyzes a KiCad schematic and generates a device tree source file compatible with the specified SOC family. |
| extract_gpio_configB | Extract GPIO pin configurations from schematic. |
| extract_i2c_devicesC | Extract I2C bus and device configurations. |
| extract_spi_devicesB | Extract SPI bus and device configurations. |
| extract_power_domainsC | Extract power domain and regulator configurations. |
| validate_pin_configurationC | Validate pin configuration conflicts for device tree generation. This function validates that the pin configuration is suitable for device tree generation and reports any conflicts or issues. |
| trace_hierarchical_connectionA | Trace component connections across hierarchical schematics. This tool traces connections through the entire schematic hierarchy, including sub-sheets, to show complete signal paths. |
| analyze_hierarchical_netsA | Analyze all nets in hierarchical schematic design. This tool analyzes network connections across the entire hierarchy, showing how signals flow between main schematic and sub-sheets. |
| generate_netlistB | Generate KiCad netlist from schematic file. |
| trace_netlist_connectionB | Trace component connections using netlist file (most accurate). |
| get_netlist_netsC | Get all nets from netlist file. |
| get_netlist_componentsA | Get all components from netlist with their network connections. |
| list_pcb_footprintsB | List all footprints in a KiCad PCB file. |
| get_pcb_statisticsC | Get statistics about a KiCad PCB design. |
| analyze_pcb_netsA | Analyze nets in a KiCad PCB file. Provides track width distribution, via distribution, per-net track length ranking, layer coverage, and design rule comparison. |
| find_tracks_by_netB | Find track segments belonging to a specific net. |
| analyze_pcb_signal_integrityA | Analyze signal integrity: diff pair matching, RF traces, critical nets. Auto-detects differential pairs (e.g., USB_N/USB_P, DP/DN) and checks length matching. Reports RF trace dimensions and longest signal nets. |
| analyze_pcb_power_integrityC | Analyze power integrity: copper zones, power net routing, GND coverage. |
| setup_pcb_layoutA | Initialize PCB layout with specified dimensions. Creates a .kicad_pcb file with the specified size based on the schematic. The PCB will be initialized with:
|
| export_gerberA | Export PCB to Gerber format for manufacturing. Gerber files are required for PCB fabrication. This tool generates all necessary Gerber files including:
|
| analyze_pin_functionsB | Analyze pin functions and detect conflicts. This function analyzes schematic to determine pin functions by:
|
| detect_pin_conflictsA | Detect pins with conflicting electrical connections. This function checks for:
|
| extract_pinmux_configA | Extract pin multiplexing configuration for MCUs. This function extracts pin multiplexing (pinmux) configuration for MCU components, showing which peripherals are assigned to which pins. |
| create_kicad_projectB | Create a complete KiCad 9.0+ project by copying KiCad's template. This method copies a KiCad template project and modifies it, ensuring 100% compatibility with KiCad 9.0+. |
| list_schematic_componentsC | List all components in a KiCad schematic file. |
| get_symbol_detailsC | Get detailed information about a specific symbol/component. |
| search_symbolsC | Search for symbols/components matching a pattern. |
| list_schematic_netsB | List all nets in a KiCad schematic. |
| get_schematic_infoC | Get general information about a schematic file. |
| add_component_from_libraryC | Add a component from KiCad's built-in library to the schematic. |
| add_wireC | Add a wire (connection line) to the schematic. |
| add_labelC | Add a local label (text label) to the schematic. |
| search_components_by_typeC | Search for components by type (OLED, sensor, display, etc.). This tool intelligently searches for components by their type, value, footprint, or network connections to identify specific component categories. |
| run_ercA | Run Electrical Rules Check (ERC) on schematic. Checks for:
|
| run_drcA | Run Design Rules Check (DRC) on PCB. Checks for:
|
| get_erc_violationsB | Get filtered ERC violations from schematic. |
| get_drc_violationsB | Get filtered DRC violations from PCB. |
| export_erc_reportB | Export ERC report to file. |
| export_drc_reportC | Export DRC report to file. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_config | Get current server configuration. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Seeed-Studio/kicad-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server