Skip to main content
Glama
Seeed-Studio

KiCad MCP Server

by Seeed-Studio

KiCad MCP Server

A Model Context Protocol (MCP) server for KiCad 9.0+ that lets AI assistants analyze schematics, inspect PCBs, trace connections, validate designs, and generate embedded code.

Features

  • Schematic Analysis - Components, nets, symbols, hierarchical sheets

  • PCB Analysis - Footprints, tracks, routing quality, signal/power integrity via pcbnew API

  • Netlist Tracing - 100% accurate pin-level connection tracking

  • Design Validation - ERC/DRC via kicad-cli (headless, CI friendly)

  • Pin Analysis - Pin function detection, conflict analysis, pinmux config

  • Code Generation - Device tree (.dts) and hardware test code generation

  • Project Management - Create KiCad projects from templates

  • Parts Registry - Search 21,000+ verified parts on an open, no-login registry (PartReel by default, PARTS_REGISTRY_URL to change) and download footprints/symbols/3D into the project; downloads are host-allowlisted, extension-checked and size-capped

Related MCP server: kicad-mcp

Requirements

  • KiCad 8.0+ (9.0 or 10.0 recommended)

  • kicad-cli in PATH (included with KiCad)

Installation

KiCad ships with its own Python that includes the pcbnew module. Installing into this Python gives you full PCB analysis capabilities (precise track lengths, via statistics, signal integrity, power integrity).

Step 1: Find your KiCad Python path:

Platform

Path

Windows

C:\Program Files\KiCad\<version>\bin\python.exe

macOS

/Applications/KiCad/KiCad.app/Contents/Frameworks/python3

Linux

/usr/bin/python3 (if kicad python bindings installed)

Step 2: Install the package into KiCad Python:

# Windows example (KiCad 10.0)
"C:\Program Files\KiCad\10.0\bin\python.exe" -m pip install fastmcp
"C:\Program Files\KiCad\10.0\bin\python.exe" -m pip install -e .

# macOS example
/Applications/KiCad/KiCad.app/Contents/Frameworks/python3 -m pip install fastmcp
/Applications/KiCad/KiCad.app/Contents/Frameworks/python3 -m pip install -e .

Step 3: Configure MCP to use KiCad Python (see Configuration section below).

Fallback: Install into System Python (Limited PCB Analysis)

If you skip KiCad Python setup, the server still works but falls back to text-based PCB parsing. You get basic data (track counts, net names, widths) but lose precise lengths, design rules, and signal integrity analysis.

pip install -e .

Configuration

Claude Desktop

Edit your config file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

With KiCad Python (recommended):

{
  "mcpServers": {
    "kicad": {
      "type": "stdio",
      "command": "C:\\Program Files\\KiCad\\10.0\\bin\\python.exe",
      "args": ["-m", "kicad_mcp_server"],
      "cwd": "C:\\Users\\YourName\\Desktop\\kicad-mcp-server"
    }
  }
}

With system Python (fallback):

{
  "mcpServers": {
    "kicad": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "kicad_mcp_server"],
      "cwd": "C:\\Users\\YourName\\Desktop\\kicad-mcp-server"
    }
  }
}

Claude Code CLI

# With KiCad Python (recommended)
claude mcp add kicad -s user -- "C:\Program Files\KiCad\10.0\bin\python.exe" -m kicad_mcp_server

# With system Python (fallback)
claude mcp add kicad -s user -- python -m kicad_mcp_server

Cursor / Windsurf / Other MCP Clients

Use the same config structure with your client's MCP settings. Point command to KiCad Python for full analysis, or python for fallback mode.

Verify Installation

After restarting your AI client, ask it:

"What tools are available for KiCad?"

You should see a list of KiCad MCP tools. To verify pcbnew is working:

"Get PCB statistics for MyBoard.kicad_pcb"

If the response shows Design Rules section with clearance/width values, pcbnew is active. If it shows board dimensions as approximation, you're in text-only mode.

Common issues:

  1. KiCad is installed and kicad-cli is accessible

  2. The cwd path in your config points to the correct directory

  3. Python can import the package (python -c "import kicad_mcp_server")

Usage

Once configured, you can interact with your KiCad projects through natural language in your AI assistant. Below are common workflows.

1. Analyze a Schematic

Point the AI to your .kicad_sch file and ask questions:

"List all components in C:\Projects\MyBoard\MyBoard.kicad_sch"

"Show me all the power nets in MyBoard.kicad_sch"

"Find all resistors with value 10k"

The AI will call tools like list_schematic_components, list_schematic_nets, search_symbols behind the scenes.

2. Trace Connections (Netlist-based)

First export a netlist, then trace connections with pin-level accuracy:

"Generate a netlist from MyBoard.kicad_sch"

"Trace all connections from U1"

"What pins are connected to the I2C_SDA net?"

This uses generate_netlist and trace_netlist_connection for 100% accurate results.

3. Validate Your Design

Run electrical and design rule checks:

"Run ERC on MyBoard.kicad_sch and show me any errors"

"Run DRC on MyBoard.kicad_pcb"

"Are there any unconnected pins?"

Uses run_erc, run_drc, and detect_pin_conflicts.

4. Analyze PCB

"Get statistics for MyBoard.kicad_pcb"

"List all footprints on the top layer"

"Find all tracks on the VDD_nRF net"

"Analyze PCB routing quality"

"Check signal integrity - are USB differential pairs length-matched?"

"Analyze power integrity - how's the GND coverage?"

5. Create a New Project

"Create a new KiCad project called LED_Blinker in C:\Projects"

"Add a 1k resistor called R1 to the schematic"

"Add an LED called D1"

"Add a wire from R1 pin 2 to D1 pin 1"

6. Pin Analysis and Code Generation

"Analyze pin functions for U1 in MyBoard.kicad_sch"

"Detect any pin conflicts in the design"

"Generate a device tree file for the STM32 on this board"

"Generate pytest hardware tests for all I2C devices"

Available Tools Reference

Schematic Analysis

Tool

Description

list_schematic_components

List components with filtering by type, value, or DNP status

list_schematic_nets

List all nets, optionally filter power nets

get_schematic_info

Project metadata and statistics

search_symbols

Search components by pattern (regex)

get_symbol_details

Detailed info for a specific component

PCB Analysis

Tool

Description

list_pcb_footprints

List footprints with optional layer filter

get_pcb_statistics

Board dimensions, layer count, design rules

find_tracks_by_net

Track segments, lengths, widths, vias for a specific net

analyze_pcb_nets

Routing analysis: width/via distribution, net length ranking

analyze_pcb_signal_integrity

Diff pair matching, RF traces, longest signal nets

analyze_pcb_power_integrity

Power zones, GND coverage, power routing analysis

Netlist Analysis

Tool

Description

generate_netlist

Export netlist from schematic via kicad-cli

trace_netlist_connection

Trace all connections from a component/pin

get_netlist_nets

List all nets with pin connections

get_netlist_components

List components with their net connections

Validation

Tool

Description

run_erc

Electrical Rules Check on schematic

run_drc

Design Rules Check on PCB

detect_pin_conflicts

Find conflicting pin connections

Editing

Tool

Description

create_kicad_project

Create project from KiCad template

add_component_from_library

Add component with symbol from library

add_wire

Add wire connection

add_label

Add local label

setup_pcb_layout

Initialize PCB with dimensions

export_gerber

Export Gerber files

Editing Limitations

Schematic editing is experimental. KiCad has no Python API for schematic editing, so tools use manual S-expression manipulation. When adding components via add_component_from_library, the tool automatically reads the symbol definition from KiCad's library files and inserts it into the schematic — this ensures proper rendering.

Known limitations:

  • Wire connections may not form perfect electrical connections

  • Visual alignment is basic

  • KiCad must be closed and reopened to see file changes (no hot-reload)

Recommendation: Use KiCad GUI for design work. Use this MCP server for analysis, validation, and code generation.

Troubleshooting

"KiCad template not found"

Make sure KiCad is installed at the standard path:

  • Windows: C:\Program Files\KiCad\<version>\

  • macOS: /Applications/KiCad/

  • Linux: /usr/share/kicad/

"kicad-cli not found"

Add KiCad's bin directory to your PATH:

# Windows example
set PATH=%PATH%;C:\Program Files\KiCad\10.0\bin

# Linux/macOS example
export PATH="/usr/bin:$PATH"

"pcbnew module not found" / PCB analysis is limited

pcbnew is only available in KiCad's bundled Python. Two options:

Option A (recommended): Configure MCP to use KiCad Python — see Installation.

Option B: Accept text-only mode. You'll still get basic PCB data (footprints, track counts, net names) but without precise lengths or design rules.

Python 3.14 install fails

Make sure you have pip >= 26.0:

pip install --upgrade pip
pip install -e .

Resources

Acknowledgments

Thanks to all contributors and community feedback:

  • @raffaeler for KiCad 10 compatibility testing and feedback (#9)

  • @shivam5594 for Python 3.14 install issue report (#11)

  • @derekc00 for lint fixes (#10)

  • @befedo for SchematicComponent dataclass access bug report and patch (#13)

License

MIT

Available Tools

39 tools
add_component_from_libraryC

Add a component from KiCad's built-in library to the schematic.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
library_nameYes
symbol_nameYes
referenceYes
valueYes
footprintNo
xNo
yNo
unitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states the action without mentioning side effects (e.g., file modification), permissions required, or constraints like library availability. The agent cannot assess safety or prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at one sentence but underspecified. It could include brief parameter context without being verbose. It earns a middle score for being short but not optimally informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 9 parameters (5 required) and no annotations, the description is insufficient. It fails to cover parameter roles, output schema, or usage context. The output schema exists but is undocumented, so the agent lacks critical information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the 9 parameters. It adds no meaning beyond the parameter names. For a tool with 5 required parameters, this is a critical gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Add' and the specific resource 'component from KiCad's built-in library to the schematic'. It distinguishes well from sibling tools like add_label or add_wire, which add different elements.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, or when not to use it. The agent is left to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_labelC

Add a local label (text label) to the schematic.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
textYes
xYes
yYes
orientationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full burden of behavioral disclosure. It only states the basic action without revealing traits like whether the label replaces existing labels, if there are coordinate limits, or if special permissions are needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no waste. However, it is so brief that it lacks structure, but this does not detract from its conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, no schema descriptions, no annotations, and an output schema exists), the description fails to provide sufficient context. It does not cover parameter roles, coordinate system, or how the label interacts with existing elements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 5 parameters with 0% description coverage. The description does not explain the meaning or constraints of 'file_path', 'text', 'x', 'y', or 'orientation', adding no value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Add' and the resource 'local label (text label) to the schematic'. It differentiates from sibling tools like 'add_component_from_library' and 'add_wire' which add different elements.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, nor are there any prerequisites or context about where the label is added (e.g., current sheet, selected component).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_wireC

Add a wire (connection line) to the schematic.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
pointsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
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 only states the action without disclosing details about file modification behavior, undo capabilities, permissions, or side effects. The addition is implied but not elaborated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence front-loading the purpose. However, it fails to include essential parameter context, so it does not fully earn its place. There is room to integrate parameter explanations without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema (potentially covering return values), the description lacks explanations for 2 required parameters, usage context, and behavioral details. For a CAD tool wire operation, this is insufficient for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning beyond the parameter names. 'file_path' and 'points' are left unexplained—no details on file format, coordinate system, units, or required structure. This is a critical gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Add' and resource 'wire (connection line)' within the schematic context, distinguishing it from sibling tools like add_component_from_library or add_label. However, it lacks specificity about the wire's role or additional nuances.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as when to add a wire compared to adding a label or component. The description does not provide context for appropriate usage or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_hierarchical_netsA

Analyze all nets in hierarchical schematic design.

This tool analyzes network connections across the entire hierarchy, showing how signals flow between main schematic and sub-sheets.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to main .kicad_sch file
filter_patternNoOptional regex pattern to filter net names
show_hierarchyNoWhether to show hierarchical structure (default: True)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. Describes that it 'analyzes network connections across the entire hierarchy' and 'shows how signals flow', but does not disclose whether it is read-only, performance implications, or error conditions. Adequate but not detailed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that are front-loaded with the key action and resource. No redundant words. Highly efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description adequately covers the tool's functionality for selection. It explains the hierarchical scope but could mention that it does not modify the design. Still, sufficient for a tool with simple inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. Description adds no extra context for parameters beyond what is in the schema. No additional syntax, format, or usage hints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'analyze' and resource 'nets in hierarchical schematic design'. Specifically mentions 'across the entire hierarchy' and 'shows how signals flow between main schematic and sub-sheets', which distinguishes it from flat net analysis or PCB net analysis siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use versus siblings like 'list_schematic_nets' or 'analyze_pcb_nets'. Usage is implied from the description but not spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_pcb_netsA

Analyze nets in a KiCad PCB file.

Provides track width distribution, via distribution, per-net track length ranking, layer coverage, and design rule comparison.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .kicad_pcb file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It does not state whether the tool is read-only, requires permissions, or has side effects. Although implicit as an analysis tool, no explicit behavioral disclosure is made.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two sentences. The first sentence states the core purpose, and the second lists outputs. No redundant or unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description does not need to detail return values. It lists major outputs (track width, via distribution, etc.), which is sufficient for an analysis tool. Could include more detail but is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (only parameter file_path with description). The description adds no additional semantic meaning beyond the schema; it merely restates the purpose. Baseline score of 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool analyzes nets in a KiCad PCB file and lists specific outputs (track width distribution, via distribution, per-net track length ranking, layer coverage, design rule comparison). This distinguishes it from sibling tools like analyze_hierarchical_nets or analyze_pcb_power_integrity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context that the tool is for net analysis on a KiCad PCB file, but does not offer explicit guidance on when to use it versus alternatives (e.g., analyze_hierarchical_nets or analyze_pcb_signal_integrity). No exclusion criteria are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_pcb_power_integrityC

Analyze power integrity: copper zones, power net routing, GND coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .kicad_pcb file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose whether the tool modifies the PCB, its read-only nature, or potential side effects. It lacks safety and behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise but lacks structure (e.g., bullet points or separate sections). It could be improved with clearer organization.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity (1 parameter, high schema coverage, output schema exists), the description is somewhat complete in stating the tool's purpose, but it lacks usage guidelines and behavioral details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not add further meaning to the file_path parameter beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool analyzes power integrity and specifies the aspects covered: copper zones, power net routing, and GND coverage. It distinguishes from sibling tools like analyze_pcb_signal_integrity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as analyze_pcb_nets or analyze_pcb_signal_integrity. The description does not provide context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_pcb_signal_integrityA

Analyze signal integrity: diff pair matching, RF traces, critical nets.

Auto-detects differential pairs (e.g., USB_N/USB_P, DP/DN) and checks length matching. Reports RF trace dimensions and longest signal nets.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .kicad_pcb file
net_nameNoOptional specific net to analyze in detail

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
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. It discloses the main functions but does not state whether the tool is read-only, whether it modifies the file, or any potential side effects or limitations. The output is not described, though an output schema exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sentences, no redundant information, and front-loaded with the core purpose. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main functionality and mentions key aspects like differential pair detection and RF trace reporting. It does not explain return values, but an output schema exists. Some details about limitations or supported file versions are missing but acceptable given the schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description's mention of parameters mirrors the schema exactly without adding new meaning or usage details beyond what is already in the input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool analyzes signal integrity with specifics: diff pair matching, RF traces, critical nets. It distinguishes from sibling tools like analyze_pcb_nets and analyze_pcb_power_integrity by focusing on signal integrity aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for signal integrity analysis but does not explicitly state when to use this tool versus alternatives or when not to use it. No exclusions or alternative tool names are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_pin_functionsB

Analyze pin functions and detect conflicts.

This function analyzes schematic to determine pin functions by:

  • Examining net names to infer functionality

  • Identifying MCU components and their pin mappings

  • Detecting potential pin conflicts

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file
referenceNoOptional component reference (e.g., 'U1') to analyze specific component

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description partially discloses behavior (analyzes schematic, infers functions, detects conflicts), but does not state whether it modifies data, permissions needed, or other traits. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear bullet list. Each sentence provides relevant detail without redundancy, though the third bullet is slightly repetitive of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, return values are handled. However, the description lacks context for when to choose this over similar analysis tools among many siblings, and does not explain the output's nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds minimal extra meaning beyond the parameter names and descriptions. The bullet list confirms the context but doesn't enrich parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool analyzes pin functions and detects conflicts, listing specific methods like examining net names and identifying MCU components. It distinguishes from siblings like 'detect_pin_conflicts' by implying a broader analysis, though not explicitly differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs. alternatives like 'detect_pin_conflicts' or 'extract_pinmux_config'. The description only states what it does, not the context or prerequisites for its use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_kicad_projectB

Create a complete KiCad 9.0+ project by copying KiCad's template.

This method copies a KiCad template project and modifies it, ensuring 100% compatibility with KiCad 9.0+.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYesDirectory path for the project
project_nameYesName of the project (without extension)
titleNoOptional project title
companyNoOptional company name

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description should disclose behavioral traits like side effects (file creation, overwriting), permissions, or error conditions. It only mentions copying a template and ensuring compatibility, lacking details on what exactly happens during creation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is succinct with two sentences and front-loaded with the main action. However, it could be more concise while retaining necessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that the tool creates a project (likely involving file system operations), the description is too brief. It does not mention preconditions (e.g., directory existence), side effects, or what the output schema contains. An output schema exists, so return values are not needed, but important operational details are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does 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 does not add any additional meaning to the parameters beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'create' and the resource 'complete KiCad 9.0+ project', and explains the method (copying a template). There are no sibling tools with similar purpose, so it is well-distinguished.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. It simply states what it does without usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

detect_pin_conflictsA

Detect pins with conflicting electrical connections.

This function checks for:

  • Multiple outputs on same net

  • Power-to-power connections

  • Unconnected input pins

  • Pin type mismatches

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/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 clearly lists the four types of checks performed (multiple outputs, power-to-power, unconnected inputs, pin type mismatches), which gives insight into the tool's behavior. However, it does not explicitly state whether the tool is read-only or if it modifies the schematic, though 'detect' implies no 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: a one-line summary followed by a focused bullet list. It is front-loaded with the main purpose, and every sentence adds value. No redundant or unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema (context signals indicate true), the description does not need to explain return values. It adequately covers what the tool checks. Could potentially mention prerequisites or scope, but it is sufficient for understanding the tool's purpose in the context of sibling analysis tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter with 100% description coverage ('Path to .kicad_sch file'). The tool description does not add any additional meaning beyond the schema, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Detect pins with conflicting electrical connections' and lists specific conflict types (multiple outputs, power-to-power, unconnected inputs, pin type mismatches). This distinguishes it from sibling tools like analyze_pin_functions or validate_pin_configuration by focusing on electrical conflicts rather than general analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does 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. While the list of checks implies usage scenarios (e.g., debugging wiring issues), there is no guidance on when not to use it or mention of related tools. Siblings like analyze_pin_functions or trace_netlist_connection could overlap, but no differentiation is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_drc_reportC

Export DRC report to file.

ParametersJSON Schema
NameRequiredDescriptionDefault
pcb_pathYesPath to .kicad_pcb file
output_pathNoOptional output file path (default: pcb_name_drc.txt)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits like overwriting behavior, file creation effects, and error handling. The minimal description omits these, leaving the agent uninformed about 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: one sentence front-loaded with the action. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description lacks details on success/failure indicators, file creation behavior, and the tool's role in the DRC workflow. It is insufficient for a tool with no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds no extra meaning beyond the schema's parameter descriptions. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Export' and the resource 'DRC report' to a file, distinguishing it from siblings like export_erc_report and export_gerber. However, 'file' is vague; specifying the format (e.g., text file) would improve clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as run_drc or get_drc_violations. The description does not indicate prerequisites or typical workflow context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_erc_reportB

Export ERC report to file.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file
output_pathNoOptional output file path (default: schematic_name_erc.txt)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
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 'Export ERC report to file' but omits whether the file is overwritten, required permissions, or any side effects. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, but it is too brief to be fully informative. It earns a middle score for being succinct yet lacking essential details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the presence of an output schema (not shown), the description fails to explain the output file format, structure, or behavior (e.g., error handling). For an export tool, more detail is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does 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 no extra meaning beyond the schema's parameter descriptions (e.g., 'schematic_path' and 'output_path' are clearly defined in the schema).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Export') and the resource ('ERC report to file'), distinguishing it from siblings like 'run_erc' (run the check) and 'get_erc_violations' (retrieve results). It is specific and 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'export_drc_report' or 'run_erc'. There are no prerequisites, exclusions, or context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_gerberA

Export PCB to Gerber format for manufacturing.

Gerber files are required for PCB fabrication. This tool generates all necessary Gerber files including:

  • Copper layers (F.Cu, B.Cu)

  • Solder mask layers

  • Silkscreen layers

  • Edge cuts (board outline)

  • Drill files

ParametersJSON Schema
NameRequiredDescriptionDefault
pcb_pathYesPath to .kicad_pcb file
output_dirNoDirectory for Gerber output (default: same as PCB)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It lists generated files but lacks details on side effects (e.g., file overwriting), prerequisites (e.g., DRC clearance), or permissions. Basic 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Six lines, front-loaded with main purpose, uses a bullet list for clarity. Every sentence is informative and concise with no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has an output schema, so return values need not be explained. The description covers what files are generated and why, which is sufficient for a file export tool. Missing minor details like error handling but overall complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for both parameters. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it exports PCB to Gerber format for manufacturing, listing specific file types. This distinguishes it from sibling tools like export_drc_report or generate_netlist.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context (Gerber files required for fabrication) but does not explicitly state when not to use or mention alternatives. It is effective for intended use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_gpio_configB

Extract GPIO pin configurations from schematic.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file
soc_familyNoOptional SOC family filter

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
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 says 'extract,' which implies a read operation, but does not mention permission requirements, side effects, or the nature of the output. The presence of an output schema is not referenced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that gets to the point. It is appropriately front-loaded, containing only essential information without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only 2 parameters and an output schema (context signals), the description is minimally adequate. However, it could benefit from explaining what 'GPIO pin configurations' entails and how the output schema structures the data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does 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 no additional meaning beyond the schema's parameter names and brief descriptions. No format, constraints, or examples are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('extract'), the resource ('GPIO pin configurations'), and the source ('from schematic'). It distinguishes itself from sibling tools like extract_i2c_devices by being specific to GPIO.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as extract_pinmux_config or extract_power_domains. No context about prerequisites or typical use cases is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_i2c_devicesC

Extract I2C bus and device configurations.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must cover behavioral aspects. It fails to mention whether the operation is read-only, if it requires specific permissions, or any side effects. The description only states the function with no behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: a single sentence with no unnecessary words. It is front-loaded and efficient, though it sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description does not need to explain return values. However, with many sibling tools performing similar extractions, the description is too brief to provide sufficient context for an agent to decide when to use this tool. More detail on what configurations are extracted would be valuable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the single parameter 'schematic_path' as 'Path to .kicad_sch file'. The description adds no additional meaning beyond the schema, meeting the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool extracts I2C bus and device configurations, which is specific and distinguishes it from sibling extraction tools like extract_spi_devices or extract_gpio_config. However, it is very brief and could elaborate on what exactly is extracted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as extract_spi_devices or extract_pinmux_config. The description does not mention any prerequisites or context for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_pinmux_configA

Extract pin multiplexing configuration for MCUs.

This function extracts pin multiplexing (pinmux) configuration for MCU components, showing which peripherals are assigned to which pins.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file
component_typeNoOptional MCU type filter (e.g., 'stm32', 'esp32', 'nrf52')

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the burden. It describes the function but does not explicitly state behavioral traits like whether the tool is read-only or modifies anything, leaving room for ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and contains no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given full schema coverage and an existing output schema, the description sufficiently explains the tool's purpose and scope without needing return value details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds context about 'showing which peripherals are assigned to which pins', which enhances understanding beyond raw parameter names and types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the verb 'extract' and resource 'pinmux configuration for MCUs', specifying what the tool does and differentiating from sibling tools like 'extract_gpio_config'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as other extraction tools (extract_gpio_config, extract_i2c_devices, etc.), nor are there any prerequisites or exclusions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_power_domainsC

Extract power domain and regulator configurations.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral context. It only states the action without mentioning side effects (e.g., read-only nature), output format, or limitations. The input schema partially covers path format, but behavioral aspects are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one sentence) and front-loaded, but it sacrifices informativeness. While efficient, it could include more detail without becoming verbose, e.g., mentioning output or related tools.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and an output schema, the description is minimally viable. However, it lacks contextual completeness regarding usage in the broader tool ecosystem, especially given many sibling tools with similar names and purposes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (schematic_path has a clear description). Baseline is 3, and the description does not add extra meaning or examples for the parameter, maintaining the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states verb 'extract' and specific resource 'power domain and regulator configurations', making the tool's purpose clear. However, it does not distinguish this from sibling extraction tools like extract_gpio_config or extract_i2c_devices, preventing a higher score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as analyze_pcb_power_integrity or other extract_* tools. The description lacks any context on prerequisites or decision criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_spi_devicesB

Extract SPI bus and device configurations.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as whether the tool is read-only, what happens if no SPI devices are found, or any side effects. The burden falls entirely on the description, which is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that directly states the tool's purpose with no wasted words. It is 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.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter and an output schema (not detailed but present), the description is minimally adequate. However, it lacks contextual completeness such as explaining what 'extract' means or the format of the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully describes the single parameter. The description adds no extra meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Extract SPI bus and device configurations' uses a specific verb 'Extract' and resource 'SPI bus and device configurations', clearly distinguishing it from siblings like 'extract_i2c_devices' and 'extract_gpio_config'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no mention of prerequisites or context. The description is a single sentence with no usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_tracks_by_netB

Find track segments belonging to a specific net.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .kicad_pcb file
net_nameYesName of the net to search for

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/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. However, it only states the basic operation without mentioning permissions, side effects, or what happens if the net is not found. For a tool that likely reads a file, it fails to specify if it modifies anything or requires read access.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise and front-loaded. However, it could be slightly more informative without becoming verbose, given the lack of annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has two simple parameters and an output schema, so the description does not need to explain return values. However, the description is minimal and does not provide enough context about behavior, especially given the lack of annotations. It is adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for both parameters, so the schema coverage is 100%. The description adds no additional meaning beyond what is in the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('find track segments') and the target ('a specific net'), making the purpose unambiguous. It distinguishes itself from sibling tools like 'analyze_pcb_nets' or 'trace_netlist_connection', which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for locating track segments by net, but it does not explicitly state when to use this tool versus alternatives like 'search_components_by_type' or 'trace_netlist_connection'. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_device_treeB

Generate device tree source (.dts) file from schematic.

This function analyzes a KiCad schematic and generates a device tree source file compatible with the specified SOC family.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file
target_socNoTarget SOC family (stm32f4, esp32, nrf52)stm32f4
output_pathNoOptional output file path

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavioral traits. It states it 'analyzes' and 'generates' but does not disclose side effects (e.g., file creation, overwriting), permissions needed, or output format when no output_path is provided. The absence of output schema details further limits transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences with no fluff. The first sentence captures the core purpose, and the second adds context. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (3 params, all documented) and the presence of an output schema (though not shown), the description is moderately complete. However, it could be improved by stating that a valid schematic is required and clarifying the default behavior when output_path is empty. The description is adequate but has gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters are described in the input schema with 100% coverage. The description adds no additional meaning beyond the schema definitions. Baseline score of 3 applies as schema already documents parameters adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a .dts file from a KiCad schematic for a specified SOC family. It uses a specific verb ('generate') and resource ('device tree source file'). However, it does not explicitly differentiate from sibling tools like extract_gpio_config or extract_pinmux_config, which extract specific parts of the device tree.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lacks any guidance on when to use this tool vs. alternatives. It does not mention prerequisites (e.g., must have a valid KiCad schematic), nor does it provide context for choosing this over sibling tools that extract specific configurations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_netlistB

Generate KiCad netlist from schematic file.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose any behavioral traits beyond the basic action. It doesn't mention side effects, required permissions, or whether the netlist is written to disk.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no extraneous words. Direct and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description is minimally complete for a simple tool, but it lacks context about prerequisites (e.g., open project) and integration with sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description adds no additional meaning beyond the parameter's name and description. It's adequate but doesn't enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('generate') and resource ('KiCad netlist from schematic file'), which is specific and distinguishes it from siblings like 'get_netlist_components' or 'get_netlist_nets'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as prerequisites or when not to use. Sibling tools like 'analyze_nets' might require a netlist, but this isn't mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_drc_violationsB

Get filtered DRC violations from PCB.

ParametersJSON Schema
NameRequiredDescriptionDefault
pcb_pathYesPath to .kicad_pcb file
violation_typeNoFilter by type (e.g., 'clearance', 'spacing', '') for all

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. 'Get' implies a read operation, but it does not explicitly state that it is safe, non-destructive, or has any side effects. It also does not disclose performance characteristics or dependencies beyond the required pcb_path.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that efficiently communicates the core purpose. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal but covers basic purpose. Since an output schema exists, the return values do not need to be described. However, it could mention that results are from the PCB file or clarify filtering semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters. The description adds 'filtered' but does not provide additional meaning beyond the schema's description of violation_type's filtering role.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get filtered DRC violations from PCB' clearly states the action (Get) and the resource (DRC violations from PCB). It distinguishes from siblings like run_drc (which runs the check) and export_drc_report (which exports) by focusing on retrieval with filtering.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 run_drc or export_drc_report. Missing context about prerequisites or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_erc_violationsB

Get filtered ERC violations from schematic.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file
severityNoFilter by severity ('error', 'warning', '') for all

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits beyond the obvious read operation. It lacks information about prerequisites (e.g., ERC must have been run) or any 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with only 5 words, making it concise. However, it could be slightly more descriptive while remaining succinct.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return value details are not needed. However, the description lacks context about the tool's place in the ERC workflow, such as the need to run ERC first, making it somewhat incomplete given the complexity and sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no new meaning beyond the schema's parameter descriptions; the word 'filtered' is already implied by the severity parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get filtered ERC violations from schematic' clearly states the action (get) and the resource (ERC violations from schematic), and it distinguishes itself from sibling tools like 'run_erc' and 'export_erc_report'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does 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 vs alternatives. It implies usage for retrieving violations after ERC run, but no explicit when/when-not guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_netlist_componentsA

Get all components from netlist with their network connections.

ParametersJSON Schema
NameRequiredDescriptionDefault
netlist_pathYesPath to .xml netlist file
filter_refNoOptional reference filter (e.g., 'R', 'U', 'C')

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It states a get operation but does not specify read-only behavior, side effects, or any prerequisites. The minimal description leaves ambiguity for the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single 9-word sentence that is front-loaded with the key action and resource. Every word is essential, with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description does not need to detail return values. However, it lacks context about the tool's role among many sibling tools and does not mention the required netlist_path or the optional filter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are described in the schema. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'components from netlist', and adds 'with their network connections' to distinguish from similar tools like list_schematic_components or get_netlist_nets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving components with network connections, but provides no explicit guidance on when to use this tool versus alternatives like list_schematic_components or analyze_* tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_netlist_netsC

Get all nets from netlist file.

ParametersJSON Schema
NameRequiredDescriptionDefault
netlist_pathYesPath to .xml netlist file
filter_patternNoOptional regex pattern to filter net names

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It only states the basic action and does not mention read-only nature, error handling, performance implications, or behavior of the optional filter pattern.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, but it is too terse. It sacrifices necessary detail for brevity, balancing conciseness poorly against completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description lacks context about the tool's role in the design flow (e.g., it reads a netlist file but doesn't clarify file format expectations or relationship to other analysis tools). This incompleteness may hinder proper tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already describes both parameters. The description adds no additional meaning or usage hints for 'netlist_path' or 'filter_pattern', failing to justify its existence beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and resource 'nets from netlist file,' making the purpose obvious. However, it does not explicitly differentiate from sibling tools like 'list_schematic_nets' or 'analyze_hierarchical_nets', which could cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description provides no context about prerequisites, typical use cases, or exclusions, leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pcb_statisticsC

Get statistics about a KiCad PCB design.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .kicad_pcb file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden for behavioral disclosure. It does not mention whether the tool is read-only, has side effects, or requires specific permissions. The description only states it 'gets statistics,' which is vague on behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise and to the point. No wasted words. However, it lacks structure (e.g., bullet points) but remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema (so return format is covered), the description is still lacking context. It does not explain what kind of statistics, or how this tool differs from the many analysis tools. An agent might be unsure when to invoke this vs. specific analyzers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter 'file_path'. The description does not add meaning beyond the schema, as it just restates the path purpose. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Get statistics about a KiCad PCB design,' which is a specific verb and resource. It distinguishes from sibling tools that target specific analyses (e.g., analyze_pcb_nets, analyze_pcb_power_integrity) by being a general statistics retrieval tool. However, it could be more specific about what statistics are included.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs. alternatives. With many analysis tools as siblings, an agent would benefit from knowing that this provides a general overview, while other tools are for detailed analysis. No when-not or alternative references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_schematic_infoC

Get general information about a schematic file.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .kicad_sch file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must imply behavioral traits. It states 'Get' which suggests a read operation, but does not explicitly confirm read-only, lack of side effects, or any prerequisites like file access permissions. The vague 'general information' leaves ambiguity about what the tool actually does.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single sentence without unnecessary words, but it is overly terse and lacks important context. It is not wasteful but could be expanded with key details without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and a large set of sibling tools, the description is insufficient. It does not hint at what kind of information is returned (e.g., file metadata, component count, sheet hierarchy), which the output schema presumably contains but is not summarized.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage with a clear description for the single parameter 'file_path'. The tool description adds no additional semantic value beyond the schema, meeting the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'Get general information about a schematic file', which uses a verb and resource, but 'general information' is vague and does not distinguish from sibling tools like get_symbol_details or get_pcb_statistics that also retrieve specific aspects of a schematic.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. With 38 sibling tools covering many specific queries (e.g., list_schematic_components, analyze_hierarchical_nets), the description should indicate the use case, such as retrieving metadata or file-level info.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_symbol_detailsC

Get detailed information about a specific symbol/component.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .kicad_sch file
referenceYesComponent reference designator (e.g., 'R1', 'U1')

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It merely says 'get detailed information' without disclosing any behavioral traits (e.g., read-only nature, side effects, permissions needed). Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise, but it could be structured with more information. Not overly long, but not optimized for scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so description needn't detail return values, but 'detailed information' is vague. With many sibling tools, more context about what details are provided would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions, which are already adequate for file_path and reference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets detailed information about a specific symbol/component. It uses specific verb and resource, and while it doesn't explicitly distinguish from sibling tools like 'search_symbols', the purpose is 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'search_symbols' or 'get_schematic_info'. The description lacks context for selection among many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pcb_footprintsB

List all footprints in a KiCad PCB file.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .kicad_pcb file
filter_layerNoOptional filter by layer (e.g., 'F.Cu', 'B.Cu')

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must disclose behavioral traits. It only states the action without explaining whether the operation is read-only, what happens if the file is invalid, or any side effects. The description does not add value beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is appropriately concise and conveys the essential purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and full parameter descriptions, the description is adequate but minimal. It does not provide context about the nature of footprints listed or potential errors. However, for a straightforward listing tool, it is mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds no extra meaning beyond what is in the schema. A score of 3 is appropriate as the description does not expand on parameter usage or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('list all footprints'), the resource ('a KiCad PCB file'), and the file type (.kicad_pcb). This distinguishes it from sibling tools that perform other actions like analyzing nets or adding 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/5

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. For example, it does not mention that it is useful for inspecting all footprints before modifications, nor does it indicate when one might prefer a different tool like 'get_pcb_statistics'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_schematic_componentsC

List all components in a KiCad schematic file.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .kicad_sch file
filter_typeNoOptional filter by component type prefix (e.g., 'R', 'C', 'U', 'IC')
filter_valueNoOptional filter by component value (partial match)
filter_dnpNoOptional filter by DNP flag (True=only DNP, False=only non-DNP)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It does not state that the tool is read-only, how it handles the file, or what the output looks like. The minimal description provides no behavioral context beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it is overly terse given the tool's complexity and the presence of sibling tools. It could be expanded to provide more value without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks critical context such as the availability of filters, the meaning of 'all components,' and the output format. Although an output schema exists, the description alone is incomplete for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all 4 parameters with descriptions (100% coverage). The description adds no additional meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'List all components in a KiCad schematic file,' which clearly indicates the verb and resource. However, it does not differentiate this tool from siblings like get_netlist_components or search_components_by_type, which also list components. The agent may not know when to use this specific tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidelines are provided. The description does not mention when to use this tool vs. alternatives, nor does it specify any prerequisites or context. The agent has no guidance on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_schematic_netsB

List all nets in a KiCad schematic.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .kicad_sch file
filter_powerNoIf True, only show power nets (VCC, GND, etc.)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description should disclose behavior. It does not state read-only, error conditions, or scope (e.g., no mention of file handling or performance). Minimal behavioral info.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no fluff. Every word is necessary and front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 params, output schema exists), the description is nearly complete. Could mention that the operation is read-only or that it lists from the file specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes both parameters. The description adds no extra meaning beyond the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list', resource 'nets', and context 'KiCad schematic', making the purpose unambiguous. It distinguishes itself from siblings like 'add_wire' or 'analyze_hierarchical_nets'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'get_netlist_nets' or 'analyze_power_domains'. The description lacks context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_drcA

Run Design Rules Check (DRC) on PCB.

Checks for:

  • Clearance violations

  • Track spacing violations

  • Missing connections

  • Pad/footprint overlaps

  • Board edge constraints

ParametersJSON Schema
NameRequiredDescriptionDefault
pcb_pathYesPath to .kicad_pcb file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavior. It lists checks but does not mention whether the tool modifies the file, how long it takes, what the return value is (output schema exists but not described), or whether it supports partial runs. Inadequate for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is minimal and front-loaded: a heading line followed by a bullet list of checks. Every sentence is relevant, no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter and no annotations, the description is adequate but incomplete. It does not describe the output (though output schema exists), potential errors, or integration with siblings like get_drc_violations. Could be improved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter pcb_path has 100% schema coverage with a clear description. The tool description adds no extra meaning beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs DRC on PCB, and lists specific checks like clearance violations, track spacing, etc. This distinguishes it from siblings like run_erc (schematic ERC) and export_drc_report (report export).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does 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 vs alternatives. It implies it is for PCB DRC, but siblings like run_erc and get_drc_violations exist. No when-not-to or context beyond the checks list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_ercA

Run Electrical Rules Check (ERC) on schematic.

Checks for:

  • Unconnected pins

  • Power conflicts

  • Multiple outputs on same net

  • Pin type mismatches

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries burden. It lists checks but fails to disclose if modifications occur, permissions needed, or output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise with a bulleted list of checks. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Checks are listed, but since an output schema exists, return values need not be described. Minor gap: no statement about pass/fail or violations format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description adds no extra meaning to the single parameter schematic_path beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Run Electrical Rules Check (ERC) on schematic' and lists specific checks. It distinguishes from sibling tools like run_drc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for schematic rule checking but provides no explicit guidance on when to use versus alternatives like export_erc_report 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.

search_components_by_typeC

Search for components by type (OLED, sensor, display, etc.).

This tool intelligently searches for components by their type, value, footprint, or network connections to identify specific component categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .kicad_sch file
component_typeYesType of component to search for (e.g., 'OLED', 'sensor', 'display', 'SPI', 'I2C')
search_in_subsheetsNoWhether to search in hierarchical subsheets (default: True)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description uses vague terms like 'intelligently searches' without explaining what that entails; does not disclose side effects (likely read-only) or expected output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the primary action; second sentence adds extra but somewhat redundant information, earning its place largely.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values are partially covered, but the description does not clarify the search scope (per file) or what a successful search entails; 'intelligent' is undefined.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are documented, but the description misleadingly adds search capabilities (value, footprint, network) not supported by the input schema, reducing clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches for components by type (e.g., OLED, sensor), but also claims it searches by value, footprint, and network connections, which are not reflected in the component_type parameter, causing slight confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus sibling tools like search_symbols or list_schematic_components; missing distinctions and prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_symbolsC

Search for symbols/components matching a pattern.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .kicad_sch file
patternYesSearch pattern (supports regex)
search_fieldsNoFields to search: 'all', 'reference', 'value', 'library'all

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and description fails to disclose behavioral traits such as read-only nature, side effects, or performance implications. The description carries full burden but only states basic function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence that is front-loaded with key action and target. Could include more detail without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description lacks context about file type (.kicad_sch) and does not clarify how it differs from similar siblings. Incomplete for a search tool in a complex domain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions. Description adds that pattern supports regex and search_fields options, but these are already in schema. Minimal added value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'Search' and resource 'symbols/components matching a pattern'. It is specific but does not differentiate from sibling tool 'search_components_by_type' which likely has a similar 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'search_components_by_type' or 'get_symbol_details'. No prerequisites or exclusions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_pcb_layoutA

Initialize PCB layout with specified dimensions.

Creates a .kicad_pcb file with the specified size based on the schematic. The PCB will be initialized with:

  • Specified dimensions

  • Default grid settings

  • Default layers

  • Standard design rules

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file
widthNoPCB width in specified unit
heightNoPCB height in specified unit
unitNoUnit for dimensions (mm or mil)mm

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses file creation and default settings, but does not mention potential side effects, required permissions, or reversibility. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and includes a bullet list for clarity. It is front-loaded with the main purpose. However, some sentences could be streamlined without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema, return values are covered. The description explains the initialization details, but lacks broader context about prerequisites (e.g., project must exist) or relationship to other tools. Adequate but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description repeats parameter info (width, height, unit) but adds no additional semantics like unit conversion or constraints beyond schema defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Initialize PCB layout with specified dimensions' and lists what is created (file, dimensions, grid, layers, design rules). It distinguishes from siblings like create_kicad_project and add_component_from_library by focusing on layout initialization.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the first step after schematic creation for PCB layout, but does not explicitly say when to use it versus alternatives, nor provide exclusion criteria. Siblings like analyze_pcb_nets suggest later usage, but no direct guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trace_hierarchical_connectionA

Trace component connections across hierarchical schematics.

This tool traces connections through the entire schematic hierarchy, including sub-sheets, to show complete signal paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to main .kicad_sch file
referenceYesComponent reference designator (e.g., 'U1', 'R5')
pin_numberNoOptional pin number to trace (if empty, trace all pins)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It mentions tracing through hierarchy and including sub-sheets but does not indicate whether the tool is read-only, performance implications for large designs, or the form of output (e.g., list of paths). This lack of detail limits agent confidence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at two sentences, with the main action and key differentiator front-loaded. Every word serves a purpose, and there is no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (3 parameters, output schema exists), the description adequately conveys the core functionality. However, it lacks usage guidance and behavioral details, leaving some gaps for an agent to fully understand when and how to invoke it optimally.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly defining each parameter's type, purpose, and defaults. The description does not add new semantics beyond the schema, meeting the baseline expectation for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Trace component connections across hierarchical schematics' and emphasizes traversing the entire hierarchy including sub-sheets. This specific verb-resource combination distinguishes it from sibling tools like trace_netlist_connection, which likely operates on flat netlists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for hierarchical connection tracing but does not explicitly state when to use this tool vs alternatives. There is no guidance on when not to use it or comparisons to siblings like analyze_hierarchical_nets, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trace_netlist_connectionB

Trace component connections using netlist file (most accurate).

ParametersJSON Schema
NameRequiredDescriptionDefault
netlist_pathYesPath to .xml netlist file
referenceYesComponent reference (e.g., 'R16')
pin_numberNoOptional pin number (e.g., '1'). If empty, trace all pins.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/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 omits whether the tool is read-only, requires permissions, or has side effects. The description lacks any behavioral context beyond the trace function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that efficiently conveys purpose. No wasted words, though it could be slightly expanded for completeness without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description does not mention return values or how to interpret results. For a tracing tool with 3 parameters, more context about typical usage or output format is expected, especially without annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents parameters. The description adds no extra meaning beyond what the schema provides, justifying the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('trace component connections'), the resource ('netlist file'), and distinguishes itself by claiming 'most accurate', differentiating from sibling tools like trace_hierarchical_connection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The phrase 'most accurate' implies preference but does not specify contexts or exclusions, and no sibling comparisons are made.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_pin_configurationC

Validate pin configuration conflicts for device tree generation.

This function validates that the pin configuration is suitable for device tree generation and reports any conflicts or issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYesPath to .kicad_sch file

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for disclosing behavior. It only says 'validates and reports conflicts' but does not clarify if the tool is read-only or if it mutates state, nor does it describe the output format or any rate limits. A critically important behavioral trait is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences directly addressing purpose and behavior. No filler or redundant information. The most important information (validation for device tree generation) is front-loaded in the first sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema (not shown), the description does not mention what the output contains (e.g., list of conflicts, severity). For a validation tool, the nature of the output is crucial for the agent to understand the result. The description omits this context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides a complete description for the single parameter 'schematic_path'. The tool description adds no additional semantic value beyond what the schema offers. Given 100% schema coverage, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'validate' and the resource 'pin configuration conflicts for device tree generation', making the tool's purpose specific. It differentiates from generic conflict detection by tying it to device tree generation. However, it does not explicitly distinguish from the sibling 'detect_pin_conflicts' tool, leaving mild ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool over alternatives like 'detect_pin_conflicts' or 'extract_pinmux_config'. There is no mention of prerequisites, context, or exclusion criteria, which would help an agent decide correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3/5.0
Disambiguation2/5

Many tools have overlapping purposes, such as multiple net analysis tools (analyze_hierarchical_nets, analyze_pcb_nets, analyze_pcb_power_integrity, analyze_pcb_signal_integrity) and multiple pin analysis tools. This can cause confusion for agents.

Naming Consistency4/5

Most tools follow a verb_noun pattern (e.g., add_component_from_library, create_kicad_project, list_schematic_components). Some deviations like analyze_hierarchical_nets and analyze_pcb_nets use adjectives but are still clear.

Tool Count3/5

39 tools is high for a single server. While many are needed for comprehensive PCB design, several tools perform similar analyses (e.g., multiple net and DRC tools), suggesting possible consolidation.

Completeness4/5

The tool set covers a wide range of KiCad operations including schematic creation, analysis, extraction, and PCB layout setup. Minor gaps exist like missing component editing tools, but core workflows are well-supported.

Maintenance

ActivityMaintained
ResponsivenessWithin a week

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    This MCP server enables AI agents to understand and analyze electrical schematics from Cadence and Altium for comprehensive design reviews through natural conversations.
    1,340
    33
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An 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
  • A
    license
    Not graded
    quality
    B
    maintenance
    An 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
  • F
    license
    Not graded
    quality
    A
    maintenance
    An MCP server that enables language models to design real KiCad electronic schematics from plain-language descriptions, placing parts, wiring nets, and running KiCad's electrical rules check to produce editable .kicad_sch files.
    2

Latest Blog Posts

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/Seeed-Studio/kicad-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server