kicad-mcp
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
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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