kicad-mcp

lamaalrajih/kicad-mcp

4.2

kicad-mcp is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.

If you are the rightful owner of kicad-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This guide provides instructions for setting up a Model Context Protocol (MCP) server for KiCad, compatible with any MCP-compliant client.

Try kicad-mcp with chat:

Tools

Functions exposed to the LLM to take actions

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

Prompts

Interactive templates invoked by user choice

create_new_component

Prompt for creating a new KiCad component.

debug_pcb_issues

Prompt for debugging common PCB issues.

pcb_manufacturing_checklist

Prompt for PCB manufacturing preparation checklist.

fix_drc_violations

Prompt for assistance with fixing DRC violations.

custom_design_rules

Prompt for assistance with creating custom design rules.

analyze_components

Prompt for analyzing a KiCad project's components.

cost_estimation

Prompt for estimating project costs based on BOM.

bom_export_help

Prompt for assistance with exporting BOMs from KiCad.

component_sourcing

Prompt for help with component sourcing.

bom_comparison

Prompt for comparing BOMs between two design revisions.

analyze_circuit_patterns

Prompt for circuit pattern analysis.

analyze_power_supplies

Prompt for power supply circuit analysis.

analyze_sensor_interfaces

Prompt for sensor interface analysis.

analyze_microcontroller_connections

Prompt for microcontroller connection analysis.

find_and_improve_circuits

Prompt for finding and improving specific circuits.

compare_circuit_patterns

Prompt for comparing circuit patterns across designs.

explain_circuit_function

Prompt for explaining the function of identified circuits.

Resources

Contextual data attached and managed by the client

No resources