Skip to main content
Glama
Seeed-Studio

KiCad MCP Server

by Seeed-Studio

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
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

NameDescription
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:

  • Specified dimensions

  • Default grid settings

  • Default layers

  • Standard design rules

export_gerberA

Export PCB to Gerber format for manufacturing.

Gerber files are required for PCB fabrication. This tool generates all necessary Gerber files including:

  • Copper layers (F.Cu, B.Cu)

  • Solder mask layers

  • Silkscreen layers

  • Edge cuts (board outline)

  • Drill files

analyze_pin_functionsB

Analyze pin functions and detect conflicts.

This function analyzes schematic to determine pin functions by:

  • Examining net names to infer functionality

  • Identifying MCU components and their pin mappings

  • Detecting potential pin conflicts

detect_pin_conflictsA

Detect pins with conflicting electrical connections.

This function checks for:

  • Multiple outputs on same net

  • Power-to-power connections

  • Unconnected input pins

  • Pin type mismatches

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:

  • Unconnected pins

  • Power conflicts

  • Multiple outputs on same net

  • Pin type mismatches

run_drcA

Run Design Rules Check (DRC) on PCB.

Checks for:

  • Clearance violations

  • Track spacing violations

  • Missing connections

  • Pad/footprint overlaps

  • Board edge constraints

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
get_configGet current server configuration.

Latest Blog Posts

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