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