KiCad MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Name | Description |
|---|---|
| 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:
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
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
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.
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.
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.
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.