KiCad Context MCP
Provides a comprehension layer for KiCad EDA projects, allowing AI agents to understand board overview, components, nets, power tree, and check results without editing the design.
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., "@KiCad Context MCPshow me the board overview"
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.
KiCad Context MCP
A read-only MCP server for understanding KiCad projects. Point it at a board and an agent can answer "what is this" and "what's wrong with it" without loading the whole design into context.
Overview
The server reads a KiCad project and exposes it through seven tools. Every tool
returns a compact summary and lets the agent drill down by ID; lists are capped
and paginated, so context stays small even on large boards. Connectivity and
ERC/DRC come from kicad-cli; component metadata comes from the exported
netlist. Built for KiCad 10.
It only reads. There are no tools that edit, place, route, or export.
Related MCP server: KiCad MCP Server
How to install
Requires only KiCad 10+ (for kicad-cli). The plugin ships a self-contained
binary — no Python, uv, or network needed.
Installed as a plugin from this repo's marketplace.
Claude Code:
/plugin marketplace add yigitabi5444/YSM-Kicad-MCP
/plugin install kicad-context@ysmClaude Desktop / web:
Open the Customize menu in the left sidebar → Plugins tab.
Under Personal plugins, click + → Add marketplace → Add from a repository, and enter
yigitabi5444/YSM-Kicad-MCP.Click Browse plugins, find kicad-context, and click Install.
Pass a project path to any tool to use it.
The shipped binary is macOS (Apple Silicon). On another platform, run
bash build.sh to rebuild bin/kicad-context-mcp for your OS.
Exposed tools
Tool | Returns |
| Title, sheets, key ICs, power rails, connectors, part counts. Start here. |
| Paginated components, nets, or sheets matching a query. |
| One part: value, footprint, datasheet, fields, pin → net map. |
| Pins on a net, grouped by component, paginated. |
| Pins connected to a given pin, bounded by depth (max 3). |
| Regulators and the rails they feed. |
| ERC or DRC results: counts by severity, then a capped detail list. |
Changelog
0.1.0
Initial release. Seven read-only tools, KiCad 10.
License
MIT, see LICENSE. KiCad itself is GPLv3 and is a separate install the server calls out to; it is not bundled here.
Available Tools
7 toolsboard_overviewA
Orientation call. What is this board: title, sheets/function blocks, key ICs, power rails, connectors, and part counts. Make this first.
| Name | Required | Description | Default |
|---|---|---|---|
| project | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It describes the tool as an 'orientation call' listing board elements, implying a read-only operation without side effects. The description is transparent about what the tool returns, though it does not mention any potential side effects or permissions.
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 a colon-separated list, which is concise and front-loaded with the purpose. However, it could be better structured by separating the purpose from the output details.
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 tool with one optional parameter and no output schema, the description provides the core purpose and expected outputs. However, the lack of parameter explanation and return format details makes it slightly incomplete. The sibling tools help contextualize its role.
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 has one optional parameter 'project' with no description (0% coverage). The tool description fails to explain what 'project' is, how it affects the output, or why it's optional. This is a significant omission for a single-parameter tool.
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 provides an overview of a board, listing specific elements like title, sheets, function blocks, key ICs, power rails, connectors, and part counts. It also says 'Make this first,' establishing it as the starting point for board analysis, distinguishing it from sibling tools like component and net.
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 explicitly says 'Make this first,' indicating when to use the tool (for initial orientation). It does not specify when not to use or provide explicit alternatives, but the sibling tools suggest differentiation, and the directive is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checksB
Run ERC (schematic) or DRC (board) and return counts by severity, then a capped detail list. Filter by severity to expand a class.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| type | No | erc | |
| project | No | ||
| severity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the result includes counts by severity and a capped detail list, and that filtering by severity expands a class. However, it does not mention limits, error behavior, or nondestructive guarantees, leaving gaps.
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 concise—only two sentences—and immediately states the core action ('Run ERC (schematic) or DRC (board)'). No extraneous words, and key details are front-loaded.
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 no output schema and 4 parameters with 0 required, the description provides a basic understanding of returns (counts, capped list) and filter behavior. However, it lacks details on return format, pagination (page parameter), and project scoping, leaving some gaps.
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?
With 0% schema description coverage, the description must compensate. It explains the 'type' parameter (ERC/DRC) and 'severity' filter, but does not address 'page' or 'project' parameters. Thus, only half the parameters are semantically clarified.
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 it runs ERC (schematic) or DRC (board) checks and returns counts by severity with a capped detail list. It uses a specific verb ('Run') and resource (ERC/DRC checks), but does not explicitly differentiate from sibling tools like board_overview or find.
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 given on when to use this tool versus alternatives or when not to use it. The description only implies usage for running checks, but lacks exclusions or context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
componentB
Describe one component: value, footprint, datasheet, fields, and its pin -> net map. Use net() on a pin's net to expand connectivity.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | ||
| project | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It describes a read operation (get details of a component) and hints at interaction with the 'net' tool. However, it does not disclose any potential side effects, authentication needs, or rate limits. The description is adequate but not thorough.
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 that front-loads the main purpose and includes a usage hint. Every part earns its place; no wasted words.
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 2 parameters, no output schema, and no annotations, the description is somewhat incomplete. It lists what is described but does not detail the return structure or clarify the 'fields' and 'pin->net map' format. Additional context would improve completeness.
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 parameters. 'ref' is implied as the component reference but not explicitly described, and 'project' is not mentioned at all. The description should define these parameters to add value beyond the schema.
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 what the tool does: 'Describe one component' and enumerates the included information (value, footprint, datasheet, fields, pin->net map). It is specific about the resource and action, distinguishing it from siblings like 'net' and 'find' by hinting at how to use them together.
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 a usage hint ('Use net() on a pin's net to expand connectivity') but does not explicitly state when to use this tool versus alternatives or when not to use it. The context of sibling tools helps, but the description itself lacks clear guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findA
Search the board. kind = component | net | sheet. Returns a paginated list of matching IDs + one-line labels to feed into other tools.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | component | |
| page | No | ||
| query | Yes | ||
| project | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses pagination and return format (IDs + labels) but omits behavioral traits like idempotency, safety, or any side effects. The disclosure is adequate but not comprehensive.
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 two sentences, front-loading the action and key parameter. Every part adds value with no unnecessary words.
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 4 parameters, no output schema, and no annotations, the description is incomplete. It lacks parameter details for 'query', 'page', and 'project', and does not specify output structure beyond IDs and labels. This is insufficient for effective tool usage.
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 coverage is 0% and the description only explains the 'kind' parameter, mentioning specific values. It does not describe 'query', 'page', or 'project' parameters, which is a significant gap for a search tool.
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 ('Search the board') and the resource (board) with specific kind options. It distinguishes from siblings by noting the output is meant to feed into other tools, implying a search/discovery role.
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 clear context for when to use the tool (when searching by query and kind) and hints at the workflow (feed into other tools). However, it does not explicitly state when not to use it or provide alternatives, but the context is sufficient for likely use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
netB
List the pins on a net, grouped by component. Paginates large nets.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| page | No | ||
| project | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description reveals key behaviors: grouping by component and pagination for large nets. However, it omits details on pagination mechanics (e.g., page size), response format, and what happens if the net does not exist. It adds value beyond the schema but lacks full transparency.
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 concise: two sentences that front-load the main action and add a key behavioral detail (paginates). Every word earns its place, with no redundancy.
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 tool with no output schema, the description should explain return values. It does not. It also lacks details on pagination defaults and the 'project' parameter. While it covers the core functionality, it leaves significant gaps for an agent to correctly invoke and interpret results.
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%, so the description must compensate. It implicitly explains the 'name' parameter (net name) and 'page' (pagination), but fails to mention the 'project' parameter or its purpose. This leaves a gap for one of three 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 clearly states the tool's purpose: listing pins on a net, grouped by component. It uses a specific verb 'List' and resource 'pins on a net', and distinguishes from sibling tools like 'component' or 'trace' which serve different resources.
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 like 'component' or 'find'. The description implies usage for listing pins on a net, but does not specify when not to use it or mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
power_treeA
Regulators and the rails they feed. Heuristic (library/value match). Pass a rail name to filter. Use net() on a rail for its full fanout.
| Name | Required | Description | Default |
|---|---|---|---|
| rail | No | ||
| project | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description partially discloses behavior by stating 'Heuristic (library/value match),' indicating the tool uses a heuristic approach. However, it does not explain what happens when parameters are omitted or combined, nor does it describe the output format or any side effects. The behavioral insight is minimal.
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 concise, consisting of two short sentences that convey the essential purpose and usage hint. Every word contributes meaning; there is no redundancy or unnecessary detail.
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 lack of annotations, output schema, and parameter descriptions, the description is insufficient. It does not clarify the heuristic's nature, the meaning of 'library/value match,' the expected output structure, or what the 'project' parameter does. The tool has two parameters and is part of a set of tools, but the description leaves significant gaps.
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 explains the 'rail' parameter ('Pass a rail name to filter'), adding meaning beyond the schema. However, the 'project' parameter is entirely undocumented, and the schema has 0% description coverage. The description only partially compensates for the lack of schema explanations.
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 it shows 'Regulators and the rails they feed,' which is a specific verb+resource. It differentiates from the sibling 'net' tool by noting that this tool uses a heuristic and is intended for power tree exploration, while net is for full fanout of a rail.
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 clear guidance on when to use this tool: to view regulators and rails, optionally filtering by a rail name. It also explicitly directs users to 'Use net() on a rail for its full fanout,' offering a direct alternative. However, it does not discuss when not to use the tool or mention other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
traceB
Walk connectivity from a pin outward, bounded by depth (max 3). One hop = crossing a net or passing through a component. Large nets are reported but not fully expanded, to stay bounded.
| Name | Required | Description | Default |
|---|---|---|---|
| pin | Yes | ||
| ref | Yes | ||
| depth | No | ||
| project | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It explains the hop definition and the fact that large nets are reported but not fully expanded. However, it does not cover permissions, side effects, return format, or error conditions, leaving gaps for a tool with no annotation safety cues.
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 concise with two sentences, no redundant information, and front-loaded with the core action. Every sentence 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?
Given the lack of output schema, zero annotation coverage, and four parameters with no schema descriptions, the description is insufficient. It omits return value details, error handling, and prerequisites. While it covers the core behavior, it leaves the agent unprepared for practical usage, such as interpreting results or handling edge cases.
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 has 0% description coverage, so the description must explain parameter meanings. It clarifies 'pin' (starting point) and 'depth' (max hops), but does not explain 'ref' (required) or 'project' (optional). 'Ref' is ambiguous and could be the component reference, which is critical for understanding the tool's usage. The description adds minimal value beyond 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 tool's action ('walk connectivity from a pin outward') and its main constraint ('bounded by depth (max 3)'). It uses a specific verb and resource, differentiating it from sibling tools like 'net' or 'power_tree' which likely have different scopes. However, it does not explicitly distinguish itself from siblings.
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 implies usage context by mentioning the depth limit and behavior for large nets, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. The guidance is implied rather than direct.
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.
7 tool updates
v0.1.0- First observed
board_overview - First observed
checks - First observed
component - First observed
find - First observed
net - First observed
power_tree - First observed
trace
TDQS
Each tool has a clearly defined, non-overlapping purpose: board_overview for high-level summary, checks for validation, component for detailed component info, find for searching, net for net pin lists, power_tree for power distribution, and trace for connectivity walking. No two tools appear to perform the same function.
Tool names are mostly lowercase with underscores for compound names, but they mix verb forms (find, checks, trace) with noun forms (component, net, power_tree). This inconsistency makes it slightly less predictable, though still readable.
With 7 tools, the server covers essential aspects of KiCad board analysis—overview, search, component details, nets, power, connectivity, and checks—without being overwhelming. The count feels well-scoped for the domain.
The tool set provides comprehensive coverage for understanding a KiCad board: starting from overview, searching for elements, drilling into components and nets, examining power distribution, and tracing connectivity. Minor gaps like direct listing of all nets or sheets are addressed via the find tool.
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
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Read-only MCP server exposing a user ORANO library to their own AI agent.
1MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP server for generating rough-draft project plans from natural-language prompts.
Related MCP Servers
- AlicenseBqualityAmaintenanceAn MCP server that enables AI assistants to analyze schematics, inspect PCBs, trace connections, validate designs, and generate embedded code for KiCad projects.3988MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that exposes KiCad PCB design automation tools to AI assistants and other MCP clients.-
- AlicenseNot gradedqualityCmaintenanceAn MCP server that gives AI agents end-to-end control of KiCad 9+ for rule checks, manufacturing exports, production-readiness certification, and live PCB editor control.MIT
- 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/yigitabi5444/YSM-Kicad-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server