Skip to main content
Glama
lamaalrajih

KiCad MCP Server

by lamaalrajih

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

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

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
list_projectsB

Find and list all KiCad projects on this system.

get_project_structureB

Get the structure and files of a KiCad project.

open_projectC

Open a KiCad project in KiCad.

validate_projectC

Basic validation of a KiCad project.

generate_pcb_thumbnailC

Generate a thumbnail image of a KiCad PCB layout using kicad-cli.

Args: project_path: Path to the KiCad project file (.kicad_pro) ctx: Context for MCP communication

Returns: Thumbnail image of the PCB or None if generation failed

generate_project_thumbnailC

Generate a thumbnail of a KiCad project's PCB layout (Alias for generate_pcb_thumbnail).

get_drc_history_toolB

Get the DRC check history for a KiCad project.

Args: project_path: Path to the KiCad project file (.kicad_pro)

Returns: Dictionary with DRC history entries

run_drc_checkB

Run a Design Rule Check on a KiCad PCB file.

Args: project_path: Path to the KiCad project file (.kicad_pro) ctx: MCP context for progress reporting

Returns: Dictionary with DRC results and statistics

analyze_bomB

Analyze a KiCad project's Bill of Materials.

This tool will look for BOM files related to a KiCad project and provide analysis including component counts, categories, and cost estimates if available.

Args: project_path: Path to the KiCad project file (.kicad_pro) ctx: MCP context for progress reporting

Returns: Dictionary with BOM analysis results

export_bom_csvB

Export a Bill of Materials for a KiCad project.

This tool attempts to generate a CSV BOM file for a KiCad project. It requires KiCad to be installed with the appropriate command-line tools.

Args: project_path: Path to the KiCad project file (.kicad_pro) ctx: MCP context for progress reporting

Returns: Dictionary with export results

extract_schematic_netlistB

Extract netlist information from a KiCad schematic.

This tool parses a KiCad schematic file and extracts comprehensive netlist information including components, connections, and labels.

Args: schematic_path: Path to the KiCad schematic file (.kicad_sch) ctx: MCP context for progress reporting

Returns: Dictionary with netlist information

extract_project_netlistC

Extract netlist from a KiCad project's schematic.

This tool finds the schematic associated with a KiCad project and extracts its netlist information.

Args: project_path: Path to the KiCad project file (.kicad_pro) ctx: MCP context for progress reporting

Returns: Dictionary with netlist information

analyze_schematic_connectionsB

Analyze connections in a KiCad schematic.

This tool provides detailed analysis of component connections, including power nets, signal paths, and potential issues.

Args: schematic_path: Path to the KiCad schematic file (.kicad_sch) ctx: MCP context for progress reporting

Returns: Dictionary with connection analysis

find_component_connectionsA

Find all connections for a specific component in a KiCad project.

This tool extracts information about how a specific component is connected to other components in the schematic.

Args: project_path: Path to the KiCad project file (.kicad_pro) component_ref: Component reference (e.g., "R1", "U3") ctx: MCP context for progress reporting

Returns: Dictionary with component connection information

identify_circuit_patternsA

Identify common circuit patterns in a KiCad schematic.

This tool analyzes a schematic to recognize common circuit blocks such as:

  • Power supply circuits (linear regulators, switching converters)

  • Amplifier circuits (op-amps, transistor amplifiers)

  • Filter circuits (RC, LC, active filters)

  • Digital interfaces (I2C, SPI, UART)

  • Microcontroller circuits

  • And more

Args: schematic_path: Path to the KiCad schematic file (.kicad_sch) ctx: MCP context for progress reporting

Returns: Dictionary with identified circuit patterns

analyze_project_circuit_patternsC

Identify circuit patterns in a KiCad project's schematic.

Args: project_path: Path to the KiCad project file (.kicad_pro) ctx: MCP context for progress reporting

Returns: Dictionary with identified circuit patterns

Prompts

Interactive templates invoked by user choice

NameDescription
create_new_componentPrompt for creating a new KiCad component.
debug_pcb_issuesPrompt for debugging common PCB issues.
pcb_manufacturing_checklistPrompt for PCB manufacturing preparation checklist.
fix_drc_violationsPrompt for assistance with fixing DRC violations.
custom_design_rulesPrompt for assistance with creating custom design rules.
analyze_componentsPrompt for analyzing a KiCad project's components.
cost_estimationPrompt for estimating project costs based on BOM.
bom_export_helpPrompt for assistance with exporting BOMs from KiCad.
component_sourcingPrompt for help with component sourcing.
bom_comparisonPrompt for comparing BOMs between two design revisions.
analyze_circuit_patternsPrompt for circuit pattern analysis.
analyze_power_suppliesPrompt for power supply circuit analysis.
analyze_sensor_interfacesPrompt for sensor interface analysis.
analyze_microcontroller_connectionsPrompt for microcontroller connection analysis.
find_and_improve_circuitsPrompt for finding and improving specific circuits.
compare_circuit_patternsPrompt for comparing circuit patterns across designs.
explain_circuit_functionPrompt for explaining the function of identified circuits.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 16 tools

Disambiguation3/5

There is significant overlap between several tools, particularly in the analysis and extraction categories. For example, analyze_schematic_connections and find_component_connections both deal with connections, while extract_project_netlist and extract_schematic_netlist have unclear boundaries. However, the descriptions help clarify some distinctions, preventing complete confusion.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., analyze_bom, export_bom_csv, list_projects), which is clear and predictable. There are minor deviations like get_drc_history_tool (redundant 'tool' suffix) and generate_pcb_thumbnail (slightly different structure), but overall the naming is coherent and readable.

Tool Count4/5

With 16 tools, the count is slightly high but reasonable for a KiCad server covering project management, analysis, and export functions. It feels comprehensive rather than bloated, though some consolidation might improve focus. The scope justifies most tools, but it borders on being heavy.

Completeness4/5

The toolset covers key areas like project listing, validation, analysis, and export, with good lifecycle coverage for KiCad workflows. Minor gaps exist, such as no direct PCB editing or schematic modification tools, but agents can likely work around these with the provided analysis and validation tools for a complete design process.

Maintenance

ActivityInactive
ResponsivenessUnresponsive