Skip to main content
Glama

KiCad MCP Server

by lamaalrajih

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_DIRNoDirectory for log fileslogs
LOG_LEVELNoSet logging verbosity (DEBUG, INFO, WARNING, ERROR)INFO
KICAD_APP_PATHNoOverride the default KiCad application path
KICAD_USER_DIRNoOverride the default KiCad user directory
KICAD_SEARCH_PATHSNoComma-separated list of directories to search for KiCad projects~/pcb,~/Electronics,~/Projects/KiCad

Schema

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

Tools

Functions exposed to the LLM to take actions

NameDescription
list_projects

Find and list all KiCad projects on this system.

get_project_structure

Get the structure and files of a KiCad project.

open_project

Open a KiCad project in KiCad.

validate_project

Basic validation of a KiCad project.

generate_pcb_thumbnail

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_thumbnail

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

get_drc_history_tool

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_check

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_bom

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_csv

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_netlist

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_netlist

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_connections

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_connections

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_patterns

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_patterns

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

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/lamaalrajih/kicad-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server