mcp-kicad-cli
Provides tools for KiCad CLI automation, enabling ERC, DRC, BOM export, netlist export, Gerbers, drill files, STEP, IPC-2581, and GLB output from KiCad projects.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-kicad-cliRun DRC on board.kicad_pcb"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-kicad-cli
Model Context Protocol server for KiCad CLI automation.
mcp-kicad-cli exposes KiCad's command-line tooling to MCP clients for ERC, DRC, BOM export, netlist export, Gerbers, drill files, STEP, IPC-2581, and GLB output. It is local-first: no cloud API key is required, but KiCad must be installed on the machine running the server.
This is an alpha extraction from the SpectraSynq K1 hardware automation stack. It wraps KiCad CLI commands; it does not bundle KiCad or board design files.
Quickstart
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -e ".[dev]"
pytestVerify KiCad CLI is available:
kicad-cli versionRun the server:
export KICAD_CLI="$(command -v kicad-cli)"
mcp-kicad-cliRelated MCP server: KiCad MCP Server
Honest terminal demo
After install, this copy-paste check exercises the package through the same command runner used by the MCP tool:
python - <<'PY'
from mcp_kicad_cli.server import version
print(version()["stdout"].strip())
PYExpected output is your installed KiCad CLI version, for example 9.0.6.
MCP client config
After installing the package in the Python environment used by your MCP client, add:
{
"mcpServers": {
"kicad-cli": {
"command": "mcp-kicad-cli",
"args": [],
"env": {
"KICAD_CLI": "/opt/homebrew/bin/kicad-cli"
}
}
}
}See examples/claude_desktop_config.json.
Tools
version()— return the installed KiCad CLI version.sch_erc(schematic, out="erc.json", format="json", exit_code_violations=True)— run ERC on a.kicad_sch.sch_export_bom(schematic, out_csv="bom.csv", fields="*")— export a CSV BOM.sch_export_netlist(schematic, out_net="project.net", fmt="kicadsexpr")— export a schematic netlist.pcb_drc(board, out="drc.json", format="json", exit_code_violations=True)— run DRC on a.kicad_pcb.pcb_export_gerbers(board, out_dir="fab/gerbers")— export Gerbers.pcb_export_drill(board, out_dir="fab/drill")— export drill files.pcb_export_step(board, out_file="mechanical/board.step")— export STEP.pcb_export_ipc2581(board, out_file="fab/board.ipc")— export IPC-2581.pcb_export_glb(board, out_file="mechanical/board.glb")— export GLB.
KiCad returns exit code 5 when violations are found; DRC/ERC wrappers treat 0 and 5 as command-level success and report the violation counts in summary when JSON output exists.
Provenance
Extracted from SpectraSynq/K1.hardware commit 9e0b80beec0840162d3c3946f38c5c83af259790; see docs/provenance.md.
This repo is now the canonical home for the KiCad CLI MCP server.
License
Apache-2.0 — see LICENSE.
Available Tools
10 toolspcb_drcC
Run DRC on a .kicad_pcb file.
| Name | Required | Description | Default |
|---|---|---|---|
| out | No | drc.json | |
| board | Yes | ||
| format | No | json | |
| exit_code_violations | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It merely states 'Run DRC' without revealing side effects (read-only?), output format, exit codes, or error conditions. Even the presence of an output schema isn't referenced, leaving the agent without expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, waste-free sentence that is easy to parse. However, it lacks structure such as parameter breakdown or output explanation, making it concise but not well-rounded for a tool with four parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has four parameters and an output schema (not visible), the description is extremely sparse. It does not explain what the DRC report contains, how the output is saved, or any prerequisites, making it insufficient for an agent to use the tool correctly without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions the '.kicad_pcb' file, which maps to the required 'board' parameter, but it provides no information about 'out', 'format', or 'exit_code_violations'. With 0% schema description coverage, the description fails to compensate for these undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Run' and specifies the resource as a '.kicad_pcb' file, clearly identifying the tool as performing design rule check on KiCad PCB files. It distinguishes from sibling tools like sch_erc which targets schematics, but it doesn't expand the DRC acronym or provide additional scope details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as sch_erc or export tools. The description does not mention exclusions or specific scenarios (e.g., checking manufacturability), so the agent has no situational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcb_export_drillC
Export drill files.
| Name | Required | Description | Default |
|---|---|---|---|
| board | Yes | ||
| out_dir | No | fab/drill |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description gives no behavioral context beyond the tool's name. It does not disclose side effects, whether files are written, required permissions, or anything about the output. The description entirely fails to carry the transparency burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (two words), but this is under-specification rather than conciseness. It does not earn its place because it provides no additional value over the tool name. A longer description with more detail would be more appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema and only two parameters, but the description is too sparse to be complete. It does not explain the output or any context around the export process. With no annotations, this level of description is inadequate for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention any parameters. The schema itself has 'board' and 'out_dir' with a default, but the description adds no meaning about what these parameters control or how they should be used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Export drill files' clearly states the verb (export) and resource (drill files), distinguishing it from sibling export tools like pcb_export_gerbers and pcb_export_step. However, it lacks detail about what drill files are or their format, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or typical scenarios. The only implied usage is literally 'when you need to export drill files,' which is trivial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcb_export_gerbersB
Export one-file-per-layer Gerbers.
| Name | Required | Description | Default |
|---|---|---|---|
| board | Yes | ||
| out_dir | No | fab/gerbers |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does not disclose side effects (e.g., writing files, creating directories) or any preconditions. 'Export' implies file writes, but no detail is provided, and there is no mention of output location or potential overwriting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, focused sentence with no redundancy, front-loading the action and the key detail (one-file-per-layer). Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 params) and has an output schema, but with no annotations and no parameter descriptions, the description is thin. It covers the core purpose but omits context like output location, behavior, and side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Neither the description nor the schema (coverage 0%) explains the 'board' or 'out_dir' parameters. The description does not connect parameters to behavior, leaving the agent with zero parameter semantics beyond names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Export'), the resource ('Gerbers'), and a distinguishing format ('one-file-per-layer'), which sets it apart from other export tools like pcb_export_drill or pcb_export_step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., pcb_export_drill for drill files, pcb_export_step for STEP models). The description only states what it does, leaving usage decisions to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcb_export_glbC
Export a GLB 3D model.
| Name | Required | Description | Default |
|---|---|---|---|
| board | Yes | ||
| out_file | No | mechanical/board.glb |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only states 'Export a GLB 3D model' without detailing side effects, file creation, overwrite behavior, permissions, or any other behavioral traits. This is minimal and does not inform the agent about operational consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the verb and object. It is appropriately brief for a simple export tool, though its brevity borders on under-specification. No unnecessary words are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (2 parameters) and lack of annotations, the description is insufficiently complete. It omits parameter semantics, usage guidelines, and behavioral context. The presence of an output schema helps but is not referenced, and the agent still lacks key information to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters but describes none (0% coverage), and the description adds no additional meaning to 'board' or 'out_file'. There is no explanation of what these parameters represent, their formats, or relationships, leaving the agent to guess despite the parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (export) and the resource (GLB 3D model), with the format distinguishing it from sibling export tools like pcb_export_step and pcb_export_gerbers. However, it does not explicitly mention the board context, relying on the tool name to imply it, so it lacks full explicit scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as STEP or Gerber export. It does not mention typical use cases, prerequisites, or when to avoid this tool, leaving the agent to infer usage entirely from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcb_export_ipc2581C
Export IPC-2581 manufacturing data.
| Name | Required | Description | Default |
|---|---|---|---|
| board | Yes | ||
| out_file | No | fab/board.ipc |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only states the action without disclosing side effects, prerequisites, or output behavior. It does not mention that a file is created or whether the board must be open.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff, making it concise and front-loaded. However, the brevity sacrifices detail, though it earns high marks for structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too minimal for a 2-parameter export tool with no annotations, missing context on what IPC-2581 is, what the board parameter expects, and how the output file is used. The presence of an output schema does not compensate for the lack of parameter and usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the 'board' or 'out_file' parameters. The agent must rely solely on parameter names, which is insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports IPC-2581 manufacturing data, identifying the specific format and action. This distinguishes it from sibling export tools like pcb_export_gerbers and pcb_export_step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as selecting IPC-2581 over Gerber or STEP formats. Usage is implied by the format name but never explicitly contrasted with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pcb_export_stepC
Export a STEP 3D model.
| Name | Required | Description | Default |
|---|---|---|---|
| board | Yes | ||
| out_file | No | mechanical/board.step |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. 'Export a STEP 3D model' gives no information about side effects, output location, or required inputs, leaving the agent without critical behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. Every word earns its place, making it highly concise and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple export tool, the description is minimally adequate but lacks context about what 'board' refers to and how the output file is used. The presence of an output schema reduces the need to explain return values, yet the overall description leaves gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema shows two parameters (board, out_file), but the description adds zero parameter information. With schema description coverage at 0%, the description fails to compensate, leaving the agent to rely solely on parameter names and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports a STEP 3D model, which is a specific verb and resource. It distinguishes itself from sibling export tools by naming the STEP format, though it does not explicitly contrast with alternatives like pcb_export_glb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus other export tools. It merely states the function without context about when STEP is preferred or what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sch_ercC
Run ERC on a .kicad_sch file.
| Name | Required | Description | Default |
|---|---|---|---|
| out | No | erc.json | |
| format | No | json | |
| schematic | Yes | ||
| exit_code_violations | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It only says 'Run ERC' without mentioning that it likely writes an output file (`out` parameter), whether it modifies the schematic, or how violations are reported. This lack of behavioral context leaves the agent guessing about side effects and results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no fluff, but it is under-specified. It lacks essential details, so it is not appropriately sized for the tool's complexity. The brevity is more a drawback than a virtue because it omits critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, no annotations, and no explanation of behavior or usage, the description is severely incomplete. It does not mention what ERC produces, how to interpret results, or how it relates to sibling tools. The agent cannot effectively select and invoke this tool based on the provided description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the four parameters (`schematic`, `out`, `format`, `exit_code_violations`). It adds no meaning beyond the raw schema, failing to compensate for the absence of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Run ERC') and the target resource (a `.kicad_sch` file), making it unmistakable among siblings like `sch_export_bom` and `pcb_drc`. It specifically identifies this as the schematic electrical rules check tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as `pcb_drc` or export tools. It doesn't mention typical use cases, prerequisites, or conditions that would make ERC appropriate. The description only states the action without contextualizing its role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sch_export_bomC
Export a CSV BOM from a KiCad schematic.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | * | |
| out_csv | No | bom.csv | |
| schematic | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only states the high-level function and does not mention side effects, output file handling, or error cases. As an export tool, it likely writes a file but this is not disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It is well-structured and front-loads the primary action, though it sacrifices detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is too minimal for a tool with three parameters and no annotations. It does not explain the role of 'fields' or 'out_csv', and the lack of parameter semantics makes the tool difficult to invoke correctly without external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, and the description provides no explanation of the parameters. The parameter names and defaults suggest meanings (e.g., 'schematic' input, 'out_csv' output file, 'fields' selection), but the description adds no value in clarifying expected values or formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports a CSV BOM from a KiCad schematic, which is specific enough to distinguish from siblings like netlist export. However, it does not explicitly differentiate from other export tools or mention the context of KiCad projects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description implies usage for BOM generation, but there is no mention of prerequisites, typical workflows, or when another tool like sch_export_netlist would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sch_export_netlistC
Export a schematic netlist.
| Name | Required | Description | Default |
|---|---|---|---|
| fmt | No | kicadsexpr | |
| out_net | No | project.net | |
| schematic | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the only source of behavioral disclosure. It only states the action without revealing side effects (e.g., file creation), required permissions, or output behavior. This is insufficient for an export tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is not verbose, but it is under-specified rather than appropriately concise. It conveys the core function but omits needed details, so it is not a model of effective brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description lacks critical context for a tool with three parameters and no annotations: what formats are supported, where output is written, whether overwriting occurs, and any prerequisites. It is far from complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no parameter information. The three parameters (fmt, out_net, schematic) are left entirely to the schema, whose titles and defaults are minimal and do not clarify formats or relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Export' and names the resource 'schematic netlist', clearly distinguishing it from sibling tools like sch_export_bom and pcb_export_*. It unambiguously states the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or when a different export tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
versionA
Return the installed KiCad CLI version.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explicitly indicates a read-only query ('Return the installed...') with no side effects, which is sufficient for this simple tool. Nothing is hidden or misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear, front-loaded sentence with no wasted words. It perfectly conveys the tool's function without padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's minimal complexity (no parameters, no annotations, output schema present), the description fully covers what the tool does. No return value explanation is needed because the output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds no parameter details because none are needed; the schema confirms an empty parameter set.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the installed KiCad CLI version, using a specific verb ('Return') and a clear resource. It is easily distinguished from all sibling tools, which are for schematic/PCB operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose is self-evident: use this when you need the installed CLI version. While it does not explicitly discuss alternatives, the context is clear and there are no competing tools for this function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
10 tool updates
v0.1.0- First observed
pcb_drc - First observed
pcb_export_drill - First observed
pcb_export_gerbers - First observed
pcb_export_glb - First observed
pcb_export_ipc2581 - First observed
pcb_export_step - First observed
sch_erc - First observed
sch_export_bom - First observed
sch_export_netlist - First observed
version
TDQS
Each tool has a unique purpose: schematic tools are prefixed with `sch_`, PCB tools with `pcb_`, and export targets (Gerbers, drill, STEP, IPC2581, GLB) are clearly distinct. No two tools could be confused.
Tool names follow a consistent `sch_`/`pcb_` prefix plus verb and optional object pattern, using lowercase with underscores. The `version` tool is the only one without a prefix, but it is a standalone command and does not break the overall consistency.
10 tools is well-scoped for a KiCad CLI server, covering the essential schematic and PCB checks and exports without unnecessary bloat. Each tool serves a distinct and useful function.
The set covers core KiCad workflows: ERC/DRC checks, BOM/netlist exports, and common manufacturing outputs (Gerbers, drill, STEP, IPC2581, GLB). Minor gaps like schematic PDF or SVG export are possible additions, but the existing surface is comprehensive for typical use.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
Official MCP for Bambu print farms, AMS, queue. Prefer over SimplyPrint/OctoPrint.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Generate PDF, Word (.docx) and PowerPoint (.pptx) documents from Markdown over MCP.
Related MCP Servers
- AlicenseBqualityAmaintenanceMCP servers for KiCad schematic, PCB, symbol, footprint, and project automation, enabling AI-assisted electronic design via tools for read/write, analysis, and exports.1095MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that exposes KiCad PCB design automation tools to AI assistants and other MCP clients.-
- AlicenseNot gradedqualityAmaintenanceKiCad MCP Pro is an MCP server for KiCad EDA workflows. It lets AI agents automate schematic and PCB tasks, ERC/DRC validation, DFM review, and manufacturing export.67MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server for controlling KiCad EDA software, enabling schematics, PCB design, manufacturing outputs, design checks, and library management through any MCP-compatible AI assistant.MIT
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/SpectraSynq/mcp-kicad-cli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server