kicad-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| kicad_statusA | Report the KiCad environment: install, versions, live connection, and which capabilities are available. Call this first when anything behaves unexpectedly. |
| get_board_summaryA | Summarise the board open in KiCad: name, layer count, item counts, title block, and origin. A cheap orientation call before more specific queries. |
| list_footprintsA | List footprints on the open board. Filter with glob patterns on reference (e.g. 'R*') or value (e.g. '10k'). Positions are millimetres. |
| get_footprintA | Full detail for one footprint on the open board, including every pad with its net, position, and layer. |
| list_netsB | List nets on the open board, optionally filtered by a glob pattern on the net name. |
| get_layersA | List the board's enabled, visible, and active layers with their names. |
| get_stackupA | The board's physical stackup: layer order, materials, and thicknesses. |
| get_selectionA | What the user currently has selected in the KiCad GUI. Use this to act on 'the thing I'm looking at'. |
| list_tracks_viasA | List tracks and vias on the open board, optionally filtered by net name. |
| list_zonesB | List copper zones on the open board with their nets and layers. |
| open_schematicA | Open a .kicad_sch file and summarise it: title block, counts, and child sheets. Works with KiCad closed - schematic access is file-based because KiCad 10 has no schematic IPC API. |
| list_schematic_symbolsA | List symbols placed in a .kicad_sch file, with reference, value, lib_id, position and footprint. Filter with glob patterns. |
| find_project_filesB | List KiCad project files in a directory: schematics, boards, and project files. |
| schematic_netlistA | Export and parse a schematic's netlist via kicad-cli: every component and every net with its connected pins. The most complete view of schematic connectivity available in KiCad 10. |
| run_ercA | Run Electrical Rules Check on a schematic via kicad-cli and return the report. A non-zero violation count is a result, not a failure. |
| run_drcA | Run Design Rules Check on a .kicad_pcb file via kicad-cli and return the report. |
| export_bomB | Export a Bill of Materials from a schematic to CSV via kicad-cli. |
| export_schematicB | Plot a schematic to pdf, svg, dxf, ps, or hpgl via kicad-cli. |
| list_symbol_librariesA | List the symbol libraries available, resolving KiCad's global and project sym-lib-tables. |
| search_symbolsA | Search symbol libraries by name substring, e.g. 'ESP32-S3' or 'LM358'. Returns lib_ids usable with get_symbol_pins and create_pinout_schematic. |
| get_symbol_pinsB | Every pin of a library symbol: number, name, electrical type, and position. Use this to learn a part's pinout before wiring it. |
| create_pinout_schematicA | Create a .kicad_sch from a firmware pinout by importing a symbol from a KiCad library.
|
| run_kicad_scriptA | Execute Python with the KiCad API pre-imported. Use this for anything the curated tools do not cover. Available names: This runs arbitrary local code with your privileges. Do not import kipy.schematic - it is broken in kipy 0.7.1 and KiCad 10 has no schematic API anyway. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/lucatib/kicad-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server