kicad-copilot
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool targets a distinct operation: schematic editing, project queries, checkpoint management, and PCB layout/routing phases. The wait/cancel pairs for long-running operations are clearly separated from the operations themselves, and no two tools appear to perform the same task.
Naming Consistency5/5All tool names follow a consistent verb_noun snake_case pattern (e.g., get_schematic, save_checkpoint, auto_route_pcb). Even compound verbs like auto_route and pour_pcb_layers maintain the convention, and wait_/cancel_ prefixes are systematically used for async operations.
Tool Count4/5At 22 tools, the count is on the higher end, but the server spans three major subdomains (schematic, project/checkpoints, PCB layout/routing), and each tool addresses a concrete need. The count is slightly above the 'ideal' range but not excessive for this scope.
Completeness4/5The toolset covers schematic retrieval and modification, project inspection, checkpointing, and a full PCB workflow from layer setup to routing and copper pour. Minor gaps exist (e.g., no direct manual editing of individual tracks or component placements), but the automated workflow is well-covered and agents can work around these limitations.
Average 3.3/5 across 22 of 22 tools scored. Lowest: 2.6/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 65 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only mentions 'Return' and a pointer to instructions. It does not state whether the operation is read-only, side effects, or error conditions, leaving the agent uninformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with only two sentences and no wasted words. The mention of the instructions file adds context, though it could arguably be external.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should clarify return values and usage context, but it only gives a high-level summary. It omits parameter behavior and prerequisites, making it inadequate for a tool with three parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only 'path' is documented), and the description does not mention any parameters. It fails to explain how 'designators' or 'include_all' influence the result, providing no added meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and resource ('server placement footprint sizes and compact board estimate'), making the tool's function clear. It has a distinct purpose among PCB-related siblings, though it doesn't explicitly differentiate itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 make_pcb_layout or auto_route_pcb. The description only states the function without any context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only says 'Synchronize' with no mention of side effects, destructive actions (e.g., overwriting PCB edits), required access, or what changes occur. This is a significant transparency gap for a tool that likely modifies the PCB file.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with one functional sentence and a pointer to a relevant instructions file. It is front-loaded with the main purpose and does not waste words. The instruction file reference could be seen as extra, but it is useful and does not bloat the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a synchronization tool that likely needs to handle conflicts, file paths, and schematic-PCB relationships, the description provides almost no context. With no output schema and no annotations, the agent has no idea what success looks like, what errors can occur, or what the instruction file contains. It is far from complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for both parameters ('Target .kicad_pcb path' and 'Optional root .kicad_sch override'). The description does not add additional meaning about how these parameters interact or what values are expected, so it does not exceed the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Synchronize' with a clear resource ('one KiCad PCB from its associated schematic'), which conveys the tool's core function. It does not explicitly name sibling tools but the callback to 'associated schematic' differentiates it from other PCB layout tools. However, the term 'Synchronize' could be interpreted more clearly, and the instruction file reference is not part of the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like make_pcb_layout or auto_route_pcb. The reference to an instruction file implies there are detailed usage rules, but the description itself does not state prerequisites, typical scenarios, or alternatives. This leaves the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 atomicity and local execution, which are valuable, but it does not mention that routing may be async (implied by wait_auto_route sibling), that it modifies the PCB file, or how timeouts behave. The external instructions reference partially compensates but is not a substitute for explicit disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core action and provides a pointer to detailed instructions. It is appropriately brief and every word earns its place, though the brevity limits the amount of information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no annotations, and no output schema, the description is far from complete. The reference to instructions.md adds a useful resource, but the description itself does not cover the workflow, return values, or parameter semantics, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 13%, with 7 of 8 parameters lacking descriptions. The tool description does not compensate for this gap; it only implicitly mentions the PCB path and says nothing about wait_ms, route_layers, ignore_nets, or other parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool routes a KiCad PCB using a bundled local WASM router and applies it atomically. This specific verb+resource combination distinguishes it from sibling tools like make_pcb_layout or wait_auto_route.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit when-to-use or alternative comparison. The pointer to instructions.md is a vague hint but does not explain prerequisites, whether this should be used after make_pcb_layout, or when manual routing is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 fails to mention whether applying the placement overwrites the existing layout, requires a specific file state, or has any side effects. This is a mutation tool on a KiCad PCB, but no behavioral traits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one front-loaded sentence stating the core action, followed by a useful pointer to instructions. It is compact with no redundant information, achieving maximum efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that modifies a PCB file, with no annotations, no output schema, and one undocumented parameter, the description is too sparse. It omits behavioral context, parameter meaning for 'layout_id', and usage guidance. The reference to instructions.md is a crutch, but the description itself is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%; 'path' has a description but 'layout_id' does not. The description adds no meaning for 'layout_id' or any parameter details. It does not compensate for the undocumented parameter, leaving a gap in the tool's invocation semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Apply' and identifies the resource 'a stored placement to one KiCad PCB'. This clearly distinguishes the tool from siblings like 'make_pcb_layout', which would imply creating a placement. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 'make_pcb_layout'. It only states what it does without mentioning contexts, prerequisites, or exclusions. The reference to instructions.md is external and not a substitute for inline usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the burden of behavioral disclosure. It states that it lists checkpoints, which indicates a read-only operation, but does not disclose details such as pagination behavior, sorting, or what happens if the path is invalid. It adds the context that it's specific to KiCad Copilot, but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: one sentence clearly stating purpose. The reference to agent instructions adds a bit of overhead but is harmless. It is front-loaded with the key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description does not explain what the response looks like or how pagination works. The tool is relatively simple (list operation), but with three parameters and no return information, the description is incomplete for an agent to fully understand the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so all parameters (path, page, limit) have descriptions in the schema. The description does not add extra meaning beyond the schema, but since the schema is thorough, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'List file checkpoints saved by KiCad Copilot', which clearly identifies the action (list) and resource (file checkpoints), and names the source ('KiCad Copilot'). It does not explicitly distinguish itself from sibling tools like save_checkpoint or restore_checkpoint, but the verb 'list' and resource 'checkpoints' make the purpose clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives. The description only mentions the purpose and refers to an agent instructions file, which is not accessible to the model. No exclusions or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but only states 'Save an exact checkpoint'. It does not explain overwrite behavior, naming conventions, or failure modes, leaving significant behavioral ambiguity for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two short sentences and front-loaded with the core purpose. The second sentence referencing SKILL.md is a minor addition but does not bloat the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description is too sparse. It omits critical context about how checkpoints are stored, how this tool relates to restore_checkpoint/list_checkpoints, and any side effects, making it incomplete for a tool in a workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters (path and description), so the baseline is 3. The description adds no additional parameter semantics beyond implying 'one KiCad file' maps to the path parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Save' and a specific resource 'exact checkpoint of one KiCad file', clearly distinguishing it from sibling tools like list_checkpoints and restore_checkpoint. This is a clear, unambiguous statement of the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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, nor does it mention prerequisites or typical workflows. The 'Agent instructions' reference is not a substitute for in-description usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavioral traits. It only states the search intent, but does not mention read-only nature, pagination behavior, result format, or any side effects. The reference to external docs does not disclose specific tool behavior, leaving significant ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with the core purpose in the first sentence. The second sentence pointing to SKILL.md is informative but somewhat outside the tool's direct functionality. It holds attention well without unnecessary verbosity, though the external doc reference could be considered non-essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple and schema covers parameters well, the description omits usage context (e.g., when to use vs. component_search) and behavioral expectations (e.g., results format, pagination implications). With no output schema, a bit more detail on return value or typical use cases would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with clear descriptions for all three parameters, including a query example. The description's phrase 'by function' adds marginal context to the query parameter but does not meaningfully extend beyond the schema's example. The baseline score of 3 is appropriate since the schema already handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Search reusable circuit blocks by function.' This provides a specific verb (search), resource type (reusable circuit blocks), and search criterion (by function). It effectively distinguishes the tool from siblings like component_search by specifying 'reusable circuit blocks' rather than generic components.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It only points to external workflow documentation ('For circuit workflow docs, read: /app/docs/SKILL.md'), which is not a substitute for explicit usage context or exclusions. With sibling tools like component_search present, the lack of comparative guidance is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It mentions that added components must include part_uuid and that recoverable errors are returned (max 36), but it does not disclose whether the file is overwritten in place, whether changes are transactional, authentication requirements, or the nature of the response. For a mutation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the main purpose, and includes a key constraint and error behavior. No redundant wording; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 6 required parameters including nested objects, no output schema, and no annotations. The description omits return value format, detailed operation semantics (add, remove, connect), and failure handling beyond max 36 errors. It is too sparse for an agent to fully understand the tool's behavior from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds emphasis on part_uuid being mandatory and error limits, but it does not add significant meaning beyond the schema for individual parameters. It references SKILL.md for further details, but the schema already documents each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool applies circuit changes to a KiCad .kicad_sch file, which is a specific verb+resource. It distinguishes from read-only and search tools, though it doesn't explicitly contrast with beautify_schematic which also modifies the schematic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for circuit modification and points to SKILL.md for documentation, but it doesn't explicitly say when to use this tool versus siblings like beautify_schematic or when not to use it. No explicit alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It says 'build' but does not clarify whether this is a read-only operation or has side effects. No information about permissions, return format, or safety is given. The pointer to SKILL.md is external and not part of the description here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose in the first sentence. The second sentence references an external SKILL.md file, which is a slight distraction but does not significantly reduce clarity. Overall, it is efficient and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple (one parameter, no output schema). The description states the input and output at a high level, but does not explain what the tree structure contains or whether the operation is safe. Given the moderate complexity and lack of annotations, it is adequate but incomplete, leaving room for additional behavioral detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the parameter 'path' described as 'Path to a KiCad file or directory.' The description repeats this without adding details like path formats, required permissions, or examples. Therefore, it does not add significant meaning beyond the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Build') and resource ('KiCad project and hierarchical schematic trees') with an input path. This distinguishes it from siblings like get_schematic, which focus on a single schematic, and extract_circuit, which extracts circuit data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it or reference sibling tools. The description implies usage by stating its purpose, but does not provide context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It does not disclose that this modifies the .kicad_pcb file, whether it requires existing nets, or what 'managed' means regarding zone behavior. The mention of 'full-board' implies it covers the entire board, but potential side effects are not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence plus a reference to instructions. It is front-loaded with the core action and contains no redundant information. The reference to the instructions file is a useful pointer for additional details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 parameters, no output schema, and no annotations, the description is insufficient. It lacks information about return values, synchronous behavior, prerequisites (e.g., net must exist), and the effects of the parameters. The external instructions file is referenced but not included, so the AI agent has no direct access to that context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 11% schema description coverage, the description should compensate by explaining parameters, but it only mentions copper zones and stitching vias in general terms. It does not clarify the meaning of edge_margin_mm, stitch_grid_mm, max_vias, or the relationship between via_drill_mm and via_diameter_mm.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates managed full-board copper zones and optional stitching vias, using a specific verb ('create') and resource ('copper zones'). This distinguishes it from sibling PCB tools like auto_route_pcb and set_pcb_stack_layers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, but the action of creating copper zones and stitching vias implies its use for power/ground pours. It references an instructions file, which could provide more guidance, but the description itself lacks explicit when/when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It only states 'wait' but does not describe blocking behavior, timeout handling, what happens if the operation is not found, or whether it polls. Key behavioral traits are undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that communicates the essential purpose without wasted words. It is front-loaded and appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite being a simple wait tool, the absence of annotations and output schema means the description must provide context about return values, timeout behavior, and error cases. It does not. The description is too minimal to fully inform an agent on how to invoke and interpret the tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does 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 operation_id or wait_ms. While the schema provides type/constraint information, the description adds no meaning about what these parameters represent or how they relate to the routing operation. The parameter names are somewhat self-explanatory but the description fails to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Wait for') and the specific target ('a running local PCB auto-route operation'). This distinguishes it from sibling tools like auto_route_pcb (which initiates routing) and cancel_auto_route (which cancels). The inclusion of 'local' also adds scope clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after starting an auto-route operation, but it does not explicitly state when to use this tool versus alternatives like wait_pcb_layout or cancel_auto_route. No explicit exclusions or alternative guidance is provided, so usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions waiting and returning preview paths, but fails to disclose critical traits such as the wait_ms timeout, blocking behavior, or error handling for invalid/expired operation IDs. It also doesn't clarify whether the operation is read-only or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundant content. It is front-loaded with the action (wait) and concisely states the output (PNG/SVG preview paths).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must provide more context to be complete. It omits crucial details like timeout behavior, error conditions, and how parameters influence execution. For a tool that blocks for a significant time (up to 180 seconds), this minimal description is insufficient for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage for its two parameters (operation_id and wait_ms). The description does not explain that operation_id identifies the make_pcb_layout operation to wait for, nor does it mention that wait_ms controls the maximum wait time. The only indirect reference is to the operation itself, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool waits for an active 'make_pcb_layout' operation and returns PNG/SVG preview paths. It uses a specific verb (wait) and resource (make_pcb_layout operation), distinguishing it from sibling tools like wait_auto_route and cancel_pcb_layout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it is used after initiating a make_pcb_layout operation (by referencing an 'active' operation), but provides no explicit when-to-use guidance, exclusions, or alternatives. An agent must infer that this is the waiting companion to make_pcb_layout, which is not clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states that F.Cu and B.Cu are preserved, but omits side effects on inner layers/routing, reversibility, or prerequisites. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with a reference, no wasted words, and is front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is under-specified. It lacks information about effects on existing routing, whether inner layers are added/removed destructively, and any preconditions. The external instruction link is a weak substitute.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents path but not copper_layer_count, giving 50% coverage. The description adds the preservation context but doesn't explain parameter semantics further; the parameter name is self-explanatory. Baseline is near 3 for moderate coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Set') and resource ('PCB copper layer count'), with an additional constraint ('preserving F.Cu and B.Cu') that clearly differentiates this stack-up tool from the routing/layout siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its use for changing layer count but provides no explicit context about when to choose this tool over siblings or any exclusions. The reference to instructions is helpful but not in-line guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It discloses useful traits: preservation of electrical connections and recoverable error returning (max 36). However, it does not mention whether the file is modified in place, reversibility, or permission requirements, leaving notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the core purpose and then add important behavioral details (error limit, docs). No redundancy or filler, making it easy for an agent to quickly parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has nested object parameters and no output schema, so more context would be beneficial. The description mentions recoverable errors and provides a docs pointer, but does not describe the expected return value on success, side effects on the schematic file, or how it fits into the workflow relative to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the parameters (path, blocks) are clearly described in the schema. The description adds no additional parameter-level details, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'Reassemble selected KiCad components into named functional blocks while preserving their electrical connections.' This clearly distinguishes it from sibling tools like extract_circuit or component_search by describing its unique output and preservation guarantee.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The pointer to '/app/docs/SKILL.md' suggests a workflow but does not articulate conditions or exclusions. There is no mention of alternatives or when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only mentions 'request' and 'active operation' but doesn't clarify whether the cancellation is asynchronous, what happens if no operation is active, or the success/failure response. This is insufficient for a state-changing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundant words. It front-loads the action and target, making it highly concise and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's apparent simplicity, the description is too terse. It omits critical operational details: where operation_id comes from, whether the tool blocks or returns immediately, and what the outcome looks like. With no annotations or output schema, the description alone is insufficient for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter (operation_id) with 0% description coverage. The description doesn't mention this parameter or explain how to obtain it, leaving the agent to infer its meaning from context. This is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('request cancellation') and its target ('an active make_pcb_layout operation'), distinguishing it from sibling cancellation tools like cancel_auto_route. The verb is specific and the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context by specifying it applies to an active make_pcb_layout operation, which guides when to invoke it. However, it doesn't explicitly mention alternatives or when not to use, though the narrow scope makes this less critical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses what is deleted and what remains, which is good. However, it does not mention the behavior of the optional 'only_nets' and 'ignore_nets' parameters, which could affect the deletion scope. The blanket statement 'Delete PCB tracks...' might mislead an agent into thinking all routing is always cleared, ignoring net filtering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences. The first states the core function clearly, and the second provides a pointer to detailed instructions. No wasted words, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with three parameters, no output schema, and no annotations. The description explains the destructive scope but omits crucial details about the optional net-filtering parameters, potential side effects, or return values. The pointer to instructions helps but does not make the description self-sufficient. Overall, the description is incomplete for an agent to safely invoke the tool with only_nets/ignore_nets.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'path' is described). The description does not compensate for the undocumented parameters 'only_nets' and 'ignore_nets', offering no explanation of their meaning, format, or interaction with the deletion behavior. The description adds no value beyond the minimal path description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Delete') and defines the exact scope: PCB tracks, track arcs, and vias. It also explicitly notes what is preserved (placement, zones, outline), which differentiates it from routing tools like auto_route_pcb and layout tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (clearing routing before re-routing) but does not explicitly state when to use this tool versus alternatives. There is no mention of exclusions or prerequisites, though referencing the instructions document provides some context. However, no direct guidance is given about when to prefer this over auto_route_pcb or other PCB tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the full burden of behavioral disclosure. It only says 'Search a component,' which implies a read operation but does not disclose return format, error behavior, or whether the search is read-only. This is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. Every word contributes meaning, making it highly effective for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but with no annotations and no output schema, the description falls short of fully explaining what happens on success or failure. It is adequate for a basic search but lacks return value details and edge-case behavior, making it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for missing parameter details. It does name both parameters (part_uuid, MPN) and indicates they are exact match keys, which adds meaning. However, it does not explain whether both can be provided together, if one is required, or any constraints, so compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches a component by exact part_uuid or MPN. This is a specific verb+resource pairing that distinguishes it from sibling tools like search_reused_block, which targets a different resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'exact' implies this is for precise identifier lookups, providing implied usage context. However, it does not explicitly state when to prefer this over alternatives or mention any exclusions, leaving the guidance somewhat implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It discloses that the tool does not change the PCB and that it returns PNG/SVG preview paths, which is useful. However, it does not mention potential asynchronous behavior (indicated by wait_ms parameter) or any side effects beyond what is stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the primary action and output. The pointer to instructions.md is a useful addition without unnecessary verbosity. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives the core purpose and points to a detailed instructions file, which adds context. However, it omits the asynchronous workflow implied by sibling tools (wait_pcb_layout, cancel_pcb_layout) and the wait_ms parameter. No output schema exists, so the description could do more to explain the overall process.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, with clear descriptions for the two required parameters (file and path). The description itself adds no parameter-specific meaning, but the schema already documents the key inputs. The wait_ms parameter lacks a description but is self-explanatory with its name and constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a PCB placement without modifying the actual board and returns PNG/SVG preview paths. This distinguishes it from siblings like assemble_pcb_layout or auto_route_pcb by emphasizing the non-destructive preview nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 compared to alternatives. It does not mention any prerequisites, exclusions, or scenarios where another sibling 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.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. It only states the operation is canceled, but fails to mention consequences such as partial routing left behind, whether cancellation is immediate, or any required permissions. This leaves important behavioral context undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise, front-loaded sentence with no filler. Every word contributes to the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter cancel operation, the description provides the essential action and target. However, with no annotations or output schema, it lacks details about the effect on the existing routing state and any response or error conditions, making it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for parameters. The description does not explain the operation_id parameter at all, relying on the param name and schema format. Since the description must compensate for low coverage but doesn't, it adds minimal semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Cancel') and resource ('running local PCB auto-route operation'), using a precise verb and object. It distinguishes from sibling tools like auto_route_pcb (start) and wait_auto_route (wait) by targeting a running operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when a local PCB auto-route is running and needs to be stopped. It doesn't explicitly mention alternatives or when not to use it, but the context is clear enough for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself. It only states the action (restore) and scope (one exact file by id) but does not mention consequences such as overwriting the target file, whether it's reversible, required permissions, or what the tool returns. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one clear sentence followed by a pointer to /app/docs/SKILL.md. The main sentence is efficient and front-loaded, and the skill pointer is brief. Not every word earns its place, but it's well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two well-documented parameters and a clear purpose; the description is minimally sufficient for an agent to identify inputs and what action is taken. However, without annotations or an output schema, it fails to clarify behavioral effects or return values, leaving uncertainty for a mutating operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3 even without extra param info. The description adds little beyond the schema: 'by id' mirrors the schema's 'Checkpoint id from list_checkpoints,' and 'one exact file checkpoint' adds slight emphasis but no new semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Restore one exact file checkpoint by id.' This clearly states what the tool does and differentiates it from sibling tools like list_checkpoints and save_checkpoint. The qualifier 'exact' adds precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to restore a single, specific checkpoint identified by an id, which sets clear context for when to use it. It doesn't explicitly name alternatives or exclusions, but the uniqueness of restore among siblings and the 'by id' qualifier give sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It discloses the 'exactly one' constraint and the compact output format, but does not mention error behavior, permissions, or side effects. For a read-only getter, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, front-loaded with the core purpose. The second sentence about docs is somewhat tangential but still relevant and brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with no output schema, the description adequately summarizes the output and scope. It could mention error handling or path format, but the complexity is low and the description is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear path description. The description adds the 'exactly one' scope but does not provide additional syntax or format details beyond the schema, making it baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets exactly one .kicad_sch file and produces a compact component and net list, specifying the verb, resource, and output. This distinguishes it from sibling tools like extract_circuit or component_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a single schematic file but does not explicitly compare with alternatives or state exclusions. The pointer to /app/docs/SKILL.md provides general workflow context but not direct selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It discloses an important non-destructive behavior ('without overwriting files'), but does not mention success/error responses, permission requirements, or whether parent directories are created. This is useful but incomplete for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no redundancy. The second sentence is a useful pointer to external instructions and does not detract from the clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description adequately explains the tool's primary purpose and a key behavioral guarantee. However, it lacks details about return values, error conditions, or post-creation behavior. The input schema is detailed, but the overall package is only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The top-level parameter 'doc' has no schema description (0% coverage), so the description should compensate. It lists the supported doc types, but does not explain the structure of the 'doc' object or the special parent_path requirement for hierarchical pages. The nested schema does document these, but the description adds only partial value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Create') with a precise resource list ('KiCad project, schematic, hierarchical page, or empty PCB') and a key constraint ('without overwriting files'). This distinguishes it from sibling tools focused on PCB layout or extraction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool (creating various KiCad document types) and a safety constraint (no overwriting). It does not explicitly mention alternatives or when not to use it, but the context is sufficient for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/biosshot/kicad-copilot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server