Skip to main content
Glama
kh6570
by kh6570

In the name of God, the Most Gracious, the Most Merciful

LTspice MCP

A Model Context Protocol server for LTspice. An assistant can edit .asc schematics, run the simulator, and read logs and waveforms through stable JSON tools.

The .asc file is the source of truth. .net, .log, and .raw are produced by LTspice. Waveform reads stay inside a 2000-point budget.

The shared server framework is the Python package mcp-app-core. pip install of this server clones it from GitHub. This repository contains the LTspice editor, command line, and tools.

Requirements

  • Windows

  • Python 3.11 or newer

  • LTspice XVII (XVIIx64.exe) or a later install (LTspice.exe)

Related MCP server: EDA Tools MCP Server

Install

py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[dev]"

pip install clones mcp-app-core. You do not clone that repository yourself.

.\.venv\Scripts\ltspice-mcp.exe --describe

To register the server in Cursor and VS Code without removing an existing qspice entry:

pwsh -ExecutionPolicy Bypass -File .\scripts\setup_mcp.ps1 -WorkspaceRoot "D:\path\to\your\circuit\folder"

Then fully restart the IDE. Setup details are in AGENTS.md. Day-to-day use is in the user guide.

Documentation

Doc

Purpose

User guide

Install, run, and the limits of the GUI

Tool reference

Every tool, with its required arguments

Architecture

How a schematic becomes a simulation

Error codes

Stable codes on tool failures

Security

What the sandbox does

Changelog

What shipped

License

MIT

Available Tools

145 tools
add_componentAdd ComponentC

Place a primitive component.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
kindYes
valueNo
rotationNo
referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that: no word on the coordinate system, whether placement auto-routes or renumbers references, or what happens on a duplicate reference.

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?

A single front-loaded sentence with no filler, but the brevity here is under-specification rather than disciplined concision for an 8-parameter mutation tool.

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?

For a write operation with 8 parameters, 3 required, no output schema, and near-zero schema coverage, the definition is far too thin. An agent cannot confidently construct a call from this description plus the bare schema.

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 description coverage is only 13% (just workspace_root), so the description must compensate and does not. It says nothing about x/y units or coordinate origin, allowed 'kind' values, rotation format, value semantics, or the schematic_path requirement, leaving 7 of 8 parameters undocumented.

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?

States a specific verb and resource ('place' + 'primitive component'), and 'primitive' hints it is for built-in parts rather than library parts. However, it never distinguishes itself from close siblings such as add_library_component, add_component_from_asy, or add_component_symbol_drawing, so the agent must guess which adder applies.

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?

There is no when-to-use, when-not-to-use, or alternative-routing guidance at all. Given that ~10 sibling tools also add schematic elements, this absence is a real selection hazard.

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

add_component_from_asyAdd Component From AsyC

Place a symbol using the file name of an .asy in the workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
valueNo
asy_pathYes
rotationNo
referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations declare this is a non-readonly, non-destructive, non-idempotent mutation, but the description doesn't add behavioral context such as what gets created, whether existing components are affected, or what happens on duplicate reference. For an 8-param mutation, this is thin.

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?

A single efficient sentence with no filler. It is appropriately sized, though its brevity contributes to the missing semantics.

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 tool has 8 parameters, 3 required, no output schema, and near-zero schema descriptions. The description is far too sparse to tell an agent how to call this correctly, especially versus sibling component-adding tools.

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 description coverage is only 13%, so the schema documents one optional param (workspace_root) and leaves seven undocumented. The description mentions only the .asy filename, failing to explain reference, schematic_path, x/y, rotation, or value. It does not compensate for the low coverage.

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 says it places a symbol using an .asy filename, which is a specific verb and resource, but it doesn't distinguish this from close siblings like add_component, add_component_symbol_drawing, or add_library_component. The purpose is vague relative to the crowded add_component family.

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?

There is no guidance on when to use this tool versus add_component or add_library_component, no prerequisites or exclusions. The agent must infer selection 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_component_symbol_drawingAdd Component Symbol DrawingB

Append a LINE, RECTANGLE, CIRCLE, or ARC to a symbol.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
coordsYes
asy_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnly=false, destructive=false, idempotent=false), so the description only needs to add context. It does add one useful behavioral fact – that this appends rather than replaces, and enumerates the supported shape kinds – but says nothing about which file gets mutated, whether the target must already exist, or what happens on an invalid shape.

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?

A single tight sentence with zero filler and the key noun (the shape kinds) front-loaded. It is efficient, though the extreme brevity leaves no room for the prerequisite/format details an agent actually needs.

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?

For a non-idempotent mutation tool with no output schema and 25% schema description coverage, the definition is too thin: the coords format is opaque, the asy_path contract is unstated, and there is no error or verification guidance. The agent can identify the tool but not confidently invoke it.

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 only 25% (workspace_root alone), so the description must carry the load. It effectively supplies the value vocabulary for 'kind' (LINE/RECTANGLE/CIRCLE/ARC) that the schema leaves as a bare string, but it gives no hint about the 'coords' string encoding or the asy_path target, which is the highest-risk ambiguity here.

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?

States a specific verb ('append') and the exact resource being added (LINE, RECTANGLE, CIRCLE, ARC) to a symbol, so an agent knows precisely what the call produces. It stops short of naming or contrasting with the obvious sibling remove_component_symbol_drawing, but the append-vs-remove distinction is inferable from the verb.

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 when-to-use guidance, no prerequisites (e.g. that asy_path must point at an existing .asy symbol file), and no mention of alternatives such as set_component_symbol_pin/text or create_asy_symbol. The agent must infer all routing 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_hierarchical_blockAdd Hierarchical BlockC

Create a child sheet with In/Out pins and place it on the parent.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
referenceYes
block_nameYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare this is a non-readonly, non-destructive, non-idempotent write, so the safety profile is covered. The description usefully adds that a child sheet, In/Out pins, and a parent placement are produced, but it omits failure behavior, whether the parent is mutated in place, or what happens on repeat calls.

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?

A single front-loaded sentence with no filler and the action stated first. It is efficient, though its brevity borders on under-specification for a 6-parameter editing tool.

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?

For a hierarchical-schematic mutation with 6 parameters, no output schema, and near-zero schema coverage, one sentence is inadequate. An agent is left guessing what reference, x, and y do and what preconditions must hold before the call.

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 only 17% (only workspace_root is documented), so the description must compensate and does not. Terms like 'child sheet', 'In/Out pins', and 'parent' loosely gesture at block_name/schematic_path, but x, y, and reference are never explained in either the schema or the description.

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?

States a specific verb and resource ('Create a child sheet'), plus the side effects of adding In/Out pins and placing it on the parent. It is clear what the tool does, but it never distinguishes itself from nearby siblings like add_component or create_schematic, so an agent can't route on the description alone.

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?

There is no when-to-use guidance, no prerequisites (e.g. whether a parent schematic must already exist or be loaded), and no mention of alternatives like add_component. The agent must infer usage entirely from the name and title.

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

add_instructionAdd InstructionC

Add a SPICE directive or a comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
textYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare this is a non-read-only, non-destructive, non-idempotent local mutation, so the safety profile is covered. The description adds nothing beyond that: it does not say the schematic file is modified, that repeated calls append duplicates (relevant given idempotentHint=false), or where the addition lands.

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?

A single short, front-loaded sentence with no filler. It is concise, but the brevity is under-specification rather than efficiency, so it only meets the minimum bar.

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?

For a 5-parameter mutation tool with 20% schema coverage and no output schema, the description is far too thin. An agent lacks the information needed to know what gets modified, how x/y are used, or what happens on repeat calls.

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 description coverage is only 20% (only workspace_root is documented), so the description is expected to compensate and largely fails. It weakly implies 'text' holds the directive/comment content, but says nothing about schematic_path, x, or y (placement), leaving four parameters undocumented in both places.

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?

States a verb ('Add') and two resource types ('SPICE directive or a comment'), so the basic action is legible. However, it never defines what an 'instruction' is or how directive-vs-comment differs, and it does not distinguish itself from close siblings like add_net_label, add_wire, or remove_instruction.

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?

There is no when-to-use guidance, no mention of prerequisites (e.g. an open/valid schematic), and no routing to alternatives such as remove_instruction or the other add_* tools. The agent must infer all of this 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_junctionAdd JunctionC

Split a wire so a coordinate becomes a junction.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false. The description doesn't disclose what happens if a junction already exists at that point, whether it requires an existing wire, or what the response contains. For a mutation tool, this leaves significant behavioral gaps.

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?

A single efficient sentence with no waste. Front-loaded verb and purpose, though very terse.

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?

A 4-parameter mutation tool with no output schema and low schema coverage. The description doesn't explain coordinate semantics, preconditions (existing wire), or result. This is inadequate for correct invocation without trial and error.

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 description coverage is only 25% – only workspace_root is described. The description doesn't explain x/y (coordinate units? grid? relative to what?), schematic_path, or how x/y relate to wire geometry. Since the schema is mostly bare, the description should compensate but doesn't.

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?

States a specific verb ('split') and resource ('a wire', 'junction') with the coordinate-based mechanism. It's distinguishable from add_wire and remove_junction by the junction concept, though it doesn't name those siblings directly.

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 when-to-use, when-not-to-use, or alternatives mentioned. An agent must infer that this is for creating electrical junction points where wires cross, vs using add_wire or remove_junction.

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

add_library_componentAdd Library ComponentC

Place a library symbol by name.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
valueNo
rotationNo
referenceYes
symbol_nameYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare the safety profile (not read-only, not idempotent, not destructive, closed-world), so the description owes extra context and supplies none. It does not say whether placement overwrites existing components at the same coordinates, whether the schematic must exist first, or what happens on duplicate references.

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?

A single front-loaded sentence with no filler, so nothing is wasted, but at this length it is under-specified rather than concise given an 8-parameter mutation tool. The structure is fine; the content volume is the problem.

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?

For an 8-parameter, non-idempotent mutation with no output schema and near-zero schema documentation, the description is far too thin. It leaves required-parameter meaning, sibling selection, and mutation side effects entirely to inference.

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 description coverage is only 13% (just workspace_root), so the description must carry the burden for x, y, value, rotation, reference, symbol_name, and schematic_path — and it adds essentially nothing. The phrase 'by name' loosely hints that symbol_name is the lookup key, but coordinates, rotation format, and reference semantics are entirely unexplained.

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?

States a verb and resource ('Place a library symbol'), which is better than a tautology, but 'library symbol' is not distinguished from the very similar siblings add_component, add_component_from_asy, and add_component_symbol_drawing. An agent cannot tell from the description which of these four to call for a given input.

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?

There is no when-to-use guidance and no mention of alternatives, despite the crowded add_component* family in the sibling list. The agent is left to infer that 'library symbol' means a symbol resolved from a library rather than a raw .asy file.

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

add_library_includeAdd Library IncludeC

Add a .lib directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
library_pathYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already convey the safety profile (readOnly=false, destructive=false, idempotent=false, openWorld=false), so the bar is lower, but the description adds no behavioral context at all. It does not say whether the directive is appended, where in the netlist/schematic it lands, or what validation happens on the paths.

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?

It is a single front-loaded sentence with zero filler, which is good, but it is under-specified rather than appropriately sized. Conciseness is achieved by omission of necessary content rather than by tight editing.

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?

This is a mutation tool with 33% schema coverage and no output schema, yet the description supplies no return or side-effect information, no path-format expectations, and no note on required workspace context. Given the complexity and the number of sibling edit tools, the description is too thin to call it correctly.

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 only 33%: workspace_root is documented, but the two required parameters (schematic_path, library_path) have no description in the schema and none in the description. The description therefore fails to compensate for the coverage gap on the parameters that actually matter.

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?

States a specific verb (add) and object (.lib directive), so the basic operation is identifiable, but the term '.lib directive' is jargon and the description gives no scope (which schematic, what it affects). It also does nothing to distinguish this from siblings like add_library_component or list_includes.

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?

There is no when-to-use guidance, no prerequisites (e.g. must the schematic exist first), and no mention of alternatives such as list_includes or resolve_model_libraries. The agent is left to infer everything from the name.

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

add_modelAdd ModelC

Add a .model directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
model_textYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnly=false, idempotent=false, destructive=false, so the mutation profile is partly covered. The description adds nothing beyond this — no mention of validation, what happens on duplicate directives, permissions, or side effects on the schematic.

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?

A single front-loaded sentence with no waste, but its brevity reflects under-specification rather than efficiency — nothing beyond the minimum is conveyed.

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

Completeness1/5

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

For a non-idempotent mutation tool with no output schema and low parameter coverage, the description omits what a .model directive is, where it is inserted, and what success or failure looks like. This is inadequate for correct invocation.

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 low (33%), with model_text and schematic_path carrying no descriptions, yet the description supplies no meaning for any parameter. Names are somewhat self-explanatory, but the description does not compensate for the coverage gap.

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?

States a specific verb (add) and resource (.model directive), which is meaningful in a SPICE context. However, it does not distinguish itself from the closely related sibling set_element_model, leaving the agent to infer the boundary.

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?

There is no guidance on when to choose this over alternatives such as set_element_model, resolve_model_libraries, or add_library_include, nor any prerequisites or conditions for use.

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

add_net_labelAdd Net LabelD

Add a net label.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
nameYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.6/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the agent knows this is a non-destructive but non-idempotent mutation. The description adds nothing on top of that — no mention of what gets modified in the schematic, whether the label requires an existing wire/net, or how duplicates are handled.

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

Conciseness2/5

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

The single sentence is short but this is under-specification rather than conciseness. No information beyond the title is conveyed, so the sentence does not earn its place as documentation.

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

Completeness1/5

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

For a 5-parameter mutation tool with no output schema and only 20% schema description coverage, the description is completely inadequate. An agent has no basis for supplying correct coordinates, a valid schematic path, or a meaningful net name.

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 only 20%: just one of five parameters (workspace_root) is documented in the schema, and the description supplies no meaning for x, y, name, or schematic_path. Coordinate units and coordinate space for x/y are entirely unexplained.

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

Purpose2/5

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

The description 'Add a net label.' merely restates the tool name and title with no added specificity. It does not distinguish this from siblings like add_wire, add_junction, or remove_net_label, nor does it state what a net label is or where it is placed.

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

Usage Guidelines1/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as remove_net_label or add_wire. An agent must infer entirely from the name when this tool is appropriate.

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

add_wireAdd WireD

Add a wire. Exposed as add_wire by the tool module.

ParametersJSON Schema
NameRequiredDescriptionDefault
x1Yes
x2Yes
y1Yes
y2Yes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=false, so the agent knows this is a non-idempotent, non-destructive local mutation. The description adds nothing on top of that — it does not say what gets mutated, whether the wiring layer must exist, or what happens on duplicate coordinates. With annotations carrying the safety profile, the description is still expected to add context it does not provide.

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

Conciseness2/5

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

It is short, but one of its two sentences is meaningless filler ('Exposed as ``add_wire`` by the tool module'), and the remaining text is too sparse to be useful. This is under-specification rather than genuine conciseness.

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

Completeness1/5

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

For a six-parameter, non-idempotent mutation primitive with no output schema and almost no schema documentation, the description leaves essentially everything to inference. Nothing an agent needs in order to call it correctly — coordinate semantics, preconditions, side effects — is present.

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 only 17% (only workspace_root is documented) across 6 parameters, five of them required. The description supplies no meaning for x1/y1/x2/y2 — no coordinate units, coordinate space, or orientation — and does not clarify schematic_path versus workspace_root. It makes no attempt to compensate for the low schema coverage.

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

Purpose2/5

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

The description is effectively a restatement of the name and title: 'Add a wire.' It gives no indication of what a wire is in this domain, what it connects, or how it differs from siblings like add_junction, add_net_label, or remove_wire. An agent cannot distinguish the scope of this tool from the other add_* schematic primitives without inspecting the schema.

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

Usage Guidelines1/5

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

There is no when-to-use guidance, no preconditions (e.g. a schematic must exist or be loaded), and no mention of alternatives such as remove_wire or add_junction. The second sentence, 'Exposed as ``add_wire`` by the tool module,' is an implementation note that carries no invocation guidance.

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

apply_schematic_layout_specApply Schematic Layout SpecC

Replace a schematic with a built-in layout.

ParametersJSON Schema
NameRequiredDescriptionDefault
spec_nameNo
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the safety profile is largely covered. The description adds nothing beyond the mutation implied by "replace" — it does not say what happens to the existing layout/content or whether the operation is reversible, and the word "replace" sits in mild tension with destructiveHint=false without clarifying which reading is correct.

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?

It is a single, front-loaded sentence with no wasted words, which is structurally clean. But for a three-parameter mutation tool the brevity reflects under-specification rather than disciplined 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?

For a non-idempotent mutation with no output schema and only one of three parameters documented, the description is too thin: it omits the required parameter, valid spec_name values, and any effect/rollback behavior. Annotations carry the safety profile, but the agent still lacks what it needs to invoke this correctly.

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 only 33% (only workspace_root is documented). The description names no parameters; "built-in layout" only loosely hints at spec_name, and schematic_path — the sole required parameter — is never explained. With low coverage the description needed to compensate and does not.

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 names a verb (replace) and a resource (schematic) plus the source of the replacement (a built-in layout), so the general intent is inferable. However, "replace a schematic" is imprecise about scope — it reads as overwriting the whole schematic rather than applying a layout spec to it — and it gives no differentiation from the sibling describe_schematic_layout_spec, which an agent must disambiguate against.

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?

There is no when-to-use guidance, no prerequisites, and no named alternative. With siblings like describe_schematic_layout_spec and suggest_component_placement, the description leaves the agent to guess when this tool is the right choice.

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

cancel_batchCancel BatchB
Destructive

Mark a batch cancelled. A finished batch stays completed.

ParametersJSON Schema
NameRequiredDescriptionDefault
batch_idYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds one genuinely non-obvious state-machine rule (a completed batch is a no-op), but omits the more important behavior for a cancel tool: what happens to an in-progress batch, whether partial results are discarded, and whether it requires authorization.

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 short sentences, front-loaded with the action and followed by the one caveat that matters. No filler, no restatement of the tool name.

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 one-parameter mutation with no output schema this is only adequate. The no-op edge case is covered, but the effect on a running batch, the return value, and batch_id provenance are all absent, leaving meaningful gaps for a destructive operation.

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 description coverage is 0%, so the schema documents nothing about batch_id, and the description provides no compensating detail about its format, where to obtain it, or whether it accepts an id from submit_batch. With one undocumented parameter, the description leaves the agent to guess.

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?

States a specific verb and resource ('Mark a batch cancelled'), which is enough to know what the tool does. It does not, however, differentiate itself from the adjacent cancel_run sibling, which an agent could easily confuse it with.

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?

'A finished batch stays completed' implies the useful precondition that cancelling is only meaningful for a non-finished batch. But there is no explicit when-to-use guidance, no mention of the cancel_run alternative, and no statement of prerequisites for obtaining a batch_id.

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

cancel_runCancel RunB
Destructive

Stop a simulation started for this source path.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds the scoping fact that it targets a simulation "started for this source path," but says nothing about what is destroyed, whether stopping is synchronous, or whether partial results survive.

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?

A single, front-loaded sentence with no filler. It is efficient, though arguably terse given the mutation semantics involved.

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 destructive, non-idempotent operation in a large simulation toolset, the description is thin: no output/return behavior, no interruption semantics, and no linkage to run_simulation or cancel_batch. Annotations cover the safety angle, so this is barely adequate rather than deficient.

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 50% – workspace_root is documented, source_path is not. The description's reference to "this source path" clarifies that source_path identifies the run to cancel, adding useful meaning beyond the bare schema for the required parameter.

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?

States a specific verb ("Stop") and resource ("a simulation started for this source path"), so an agent can identify the target run clearly. It does not, however, distinguish itself from siblings like cancel_batch, leaving the run-vs-batch distinction to inference.

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?

There is no when-to-use guidance, no prerequisites, and no alternative named. The agent is left to guess whether this applies to only running simulations, what happens if none is active, or how it relates to cancel_batch.

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

check_schematicCheck SchematicC
Read-onlyIdempotent

Report structural problems without running LTspice.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds a meaningful behavioral constraint—no LTspice execution—but omits return format, what problems are reported, and any side effects or auth needs. With annotations carrying the safety profile, this is an adequate but not rich addition.

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?

A single front-loaded sentence with no filler. It is appropriately sized for the amount of information it chooses to convey, though the information itself is incomplete.

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?

There is no output schema, so the description should explain what the tool returns (e.g., a list of problems, severity, pass/fail). It also omits what structural checks are performed and the expected schematic_path format. Annotations cover safety, but the description is not complete enough for reliable invocation.

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 description coverage is 50%, and the description adds no parameter information. The required schematic_path has no schema description and no format guidance in the description, leaving the agent to infer the expected path; the optional workspace_root is documented only in the schema. The description fails to compensate for the coverage gap.

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 an action ('Report structural problems') and a scope ('without running LTspice'), so the agent can recognize a static schematic checker. However, it never names the resource (schematic) or the kinds of problems checked, and it does not distinguish this tool from siblings such as inspect_schematic or validate_topology_contribution. The purpose is recognizable but vague.

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 when-to-use guidance, alternatives, or prerequisites are given. The phrase 'without running LTspice' implies a static-check scenario, but it does not tell the agent when to select this tool over inspect_schematic or other validation tools.

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

close_live_gui_sessionClose Live Gui SessionC

Stop a GUI process this server launched.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=false, so the safety profile is covered and the description does not contradict it. The description adds only the scope constraint that the target process was launched by this server; it says nothing about unsaved state, whether the session must be running, or idempotency of a repeated close.

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?

A single front-loaded sentence with zero waste. It is efficient, though arguably terse to the point of under-specification rather than over-writing.

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?

For a mutation tool with no output schema and an undocumented required parameter, the description leaves key gaps: how the session is identified (schematic_path?), what the caller receives on success, and how it relates to the other live_gui_session lifecycle tools. Annotations cover safety only, so the description should carry more.

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 only 50%: workspace_root is documented in the schema, but the required schematic_path has no description. The description supplies no parameter meaning at all, so it fails to compensate for the undocumented required parameter that presumably identifies which session to close.

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?

States a specific verb (stop) and resource (GUI process) with the scoping constraint 'this server launched', so an agent understands it terminates a server-managed GUI. It does not differentiate itself from siblings like close_remote_session or the other live_gui_session tools, which would be needed for a 5.

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?

There is no explicit when-to-use or when-not-to-use guidance and no named alternative (e.g. close_remote_session). The phrase 'this server launched' hints at a scope restriction, but the agent is left to infer when closing is appropriate versus leaving the session open.

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

close_remote_sessionClose Remote SessionB

Drop a session from memory. Files on disk are left in place.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false. The description adds useful context beyond those hints by clarifying that the session is dropped from memory while files on disk remain, which is consistent with destructiveHint=false. It still omits whether closing is allowed during an active run, whether it cancels work, and what authentication or state conditions apply.

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 short sentences, front-loaded with the action and then the disk-preservation effect. Every sentence earns its place and there is no filler.

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 one-parameter tool with no output schema and four annotations, this is close to adequate. However, it does not explain session_id, nor does it distinguish this from close_live_gui_session or cancel_run, so an agent lacks routing information in a large sibling set.

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 description coverage is 0%, so the description carries the burden of explaining the required session_id parameter. It does not mention session_id at all, leaving its format or expected source undocumented, though the parameter name itself is fairly self-explanatory.

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 gives a clear verb ('Drop') and resource ('a session from memory'), and it adds the side effect that files on disk are left in place. It does not, however, distinguish this tool from siblings like close_live_gui_session or cancel_run, so an agent cannot tell from the description alone which close/cancel tool is appropriate.

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?

There is no guidance on when to use this tool, no prerequisites, and no named alternatives. The description states a behavioral fact about files but does not help an agent decide between this and other session-ending tools.

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

collect_batch_resultsCollect Batch ResultsC

Return the stored batch result.

ParametersJSON Schema
NameRequiredDescriptionDefault
batch_idYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=false, which is an unusual profile for a retrieval-looking tool. The description does not resolve the tension: it never says whether collecting consumes/removes the stored result, whether repeat calls fail, or what happens if the batch is incomplete. With annotations present but this ambiguity unaddressed, the description leaves real behavioral questions open.

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?

A single short sentence, front-loaded, with no padding. However, brevity here shades into under-specification rather than economy: the one sentence carries almost no actionable content, and "stored" adds no meaning.

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?

No output schema exists, so the description must convey what is returned, and it does not (result format, size, presence of per-point data). Against a batch toolset with submit_batch, get_batch_status, cancel_batch and summarize_batch as siblings, the description is too thin to place this tool correctly in the workflow.

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 description coverage is 0% for the single parameter batch_id, so the schema itself explains nothing. The description does not compensate: it never says what a batch_id is, its format, or that it comes from submit_batch. This is the one field the agent must supply and it is left undefined.

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?

"Return the stored batch result" names a verb and a resource, so the basic purpose is legible. But "stored batch result" is vague and the description gives no signal to separate this from the closely related siblings get_batch_status, summarize_batch, or submit_batch.

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?

There is no when-to-use guidance at all: no statement of the prerequisite (a batch must first be submitted via submit_batch), no indication of whether results are ready, and no named alternative such as get_batch_status for checking progress. The agent must infer the workflow entirely.

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

compare_schematicsCompare SchematicsC
Read-onlyIdempotent

Compare component values between two schematics.

ParametersJSON Schema
NameRequiredDescriptionDefault
left_pathYes
right_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered structurally. The description adds no behavioral context beyond that — nothing about what a comparison reports (mismatches vs all values), whether missing components are surfaced, or how results are shaped.

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?

A single front-loaded sentence with no wasted words. It is efficient, though its brevity reflects under-specification rather than disciplined 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?

With a 3-parameter tool, 33% schema coverage, and no output schema, the description should carry more weight on comparison semantics and result shape. It leaves the agent unsure what "component values" comparison returns or how mismatches are reported, making it incomplete for the tool's complexity.

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 only 33%, and only workspace_root carries a schema description. The description implies left_path and right_path are the schematics being compared, but does not clarify whether they are file paths, schematic names, or workspace-relative references, nor how they interact with workspace_root. It does not compensate for the coverage 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 states a specific verb ("Compare") and a specific resource and dimension ("component values between two schematics"), which distinguishes it from siblings like check_schematic or inspect_schematic. It stops short of naming an alternative such as compare_waveforms, so it earns a 4 rather than a 5.

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?

There is no when-to-use guidance, no stated preconditions, and no pointer to sibling tools like check_schematic or inspect_schematic. The agent must infer the trigger conditions entirely from the name.

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

compare_waveformsCompare WaveformsC
Read-onlyIdempotent

Compare the means of one signal in two raw files.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalYes
left_pathYes
right_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds only that the comparison is on means rather than full waveform traces; it does not say what is returned, whether a tolerance/significance notion applies, or how mismatched or missing signals are handled.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though so terse that it omits information an agent would need, which keeps it out of the top tier.

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?

With four parameters at 25% coverage and no output schema, the description needed to explain both the comparison result (e.g. mean values or a verdict) and the file/signal argument conventions. It provides neither, so an agent cannot predict what comes back or verify it passed the right inputs.

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 description coverage is only 25% (just workspace_root), so the description carries the burden for signal, left_path and right_path. 'One signal in two raw files' loosely implies those three parameters but gives no format for the signal name or path, leaving the required arguments effectively undescribed.

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?

Names a specific verb (compare) and a specific subject (the means of one signal across two raw files), which is enough to separate it from compare_schematics and merge_waveforms. It stops short of explicitly naming a sibling it is not, so it does not reach the 5 tier.

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?

There is no statement of when to reach for this tool versus merge_waveforms, compare_schematics, or measure_waveform, and no prerequisites (e.g. that both files must be raw simulation outputs sharing the same signal). Usage must be inferred entirely from the name.

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

compute_thdCompute ThdC
Read-onlyIdempotent

Total harmonic distortion.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalYes
raw_pathYes
fundamental_hzYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered elsewhere. The description adds no behavioral context at all - no mention of required inputs being an existing raw file, of failure modes for a bad fundamental, or of what gets returned. It neither contradicts nor enriches the annotations.

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

Conciseness2/5

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

Four words with no waste, but this is under-specification rather than conciseness. Nothing about the operation is front-loaded because there is essentially nothing to front-load.

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?

For a 4-parameter computation tool with no output schema and sparse parameter documentation, the description should at minimum explain the input contract and the resulting metric. As written, an agent must open the schema and still cannot infer units, expected signal form, or output shape.

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 description coverage is only 25% (only 'workspace_root' is documented) and the description supplies nothing beyond the bare term. The semantics of 'signal', 'raw_path' (file vs. identifier), and 'fundamental_hz' (units, expected range) are left entirely unexplained.

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

Purpose2/5

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

The description merely expands the acronym in the title ("Compute Thd" -> "Total harmonic distortion."), which is close to a tautology. It does not say what the tool computes over, from what input ('signal', 'raw_path'), or how it differs from neighbours like read_fourier or export_fft_spectrum that also deal with spectral content.

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 when-to-use, when-not-to-use, or alternative routing is given. An agent cannot tell from the text whether this belongs in a measurement workflow versus read_fourier or measure_waveform, so it must guess from sibling names alone.

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

create_asy_symbolCreate Asy SymbolC

Write a two-pin .asy symbol.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNo
prefixNo
descriptionNo
output_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already state readOnlyHint=false, destructiveHint=false, and idempotentHint=false, and 'Write' is consistent with that. However, the description adds almost nothing beyond the annotations: it does not say where the file lands, whether an existing file at output_path is overwritten, or what (if anything) is returned. No contradiction with annotations.

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?

A single front-loaded sentence with no filler, which is efficient. It is arguably under-specified rather than genuinely concise, but structurally there is nothing wasted.

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?

For a five-parameter write tool with 20% schema coverage and no output schema, the description should at minimum explain the parameters and the overwrite/return behavior. Instead it supplies one terse sentence, leaving the agent without enough context to invoke it correctly.

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 description coverage is only 20% (just workspace_root), yet the description documents none of the undocumented parameters (value, prefix, description, output_path). 'Two-pin' hints at pin semantics but no parameter corresponds to pins, so the description neither maps to the schema nor compensates for its gaps.

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 gives a specific verb+resource ('Write a ... ``.asy`` symbol') and adds a scope qualifier ('two-pin'), so an agent knows this produces a symbol file rather than, say, exporting one. It does not explicitly differentiate itself from the closest siblings (export_symbol_to_asy, add_component_from_asy), which is why it stops short of a 5.

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?

There is no when-to-use guidance, no prerequisites, and no reference to alternatives such as export_symbol_to_asy or add_component_from_asy. The agent must infer from the name alone whether this is the right tool for a given symbol-creation task.

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

create_schematicCreate SchematicC

Create an empty schematic.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds the meaningful qualifier 'empty' (no components are populated), but omits what happens if the path already exists, whether creation overwrites, and what the call returns.

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?

A single four-word sentence with zero waste and the verb front-loaded. It is efficient, though the brevity contributes to the specification gaps noted elsewhere.

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?

With no output schema and no annotations explaining the result, the description should at least indicate what is returned (path, handle) and whether re-invocation fails. For a non-idempotent creation tool with an undocumented required path parameter, the description is too thin.

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 description coverage is 50%: workspace_root is documented in the schema, but schematic_path (the required parameter) has no description anywhere. The description does not compensate with path format, extension, or relative-vs-absolute semantics, leaving the most important parameter under-specified.

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 a specific verb and resource ('Create an empty schematic'), and the word 'empty' implicitly distinguishes it from the sibling create_starter_schematic. However, it does not name or contrast with that sibling explicitly, so differentiation requires the agent to infer it.

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?

There is no when-to-use guidance and no mention of alternatives such as create_starter_schematic or save_schematic_as. The agent gets no signal about which creation tool to pick or what preconditions (existing file, workspace) apply.

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

create_starter_schematicCreate Starter SchematicC

Create a divider, RC, or buck starter schematic.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the mutation and repeat-call behavior is covered structurally. The description adds no behavioral context of its own: it does not say what a 'starter' schematic contains, whether schematic_path is created or overwritten, or what happens on a repeat call.

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?

A single front-loaded sentence with zero waste, and the most useful fact (the three kinds) sits first. It is arguably over-terse for a 3-parameter write tool, which keeps it from a 5.

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?

For a non-idempotent file-creating tool with 33% schema coverage and no output schema, the description leaves out what the agent needs: the meaning of schematic_path, overwrite/create semantics, and how the generated circuit relates to the requested kind. The information gap is substantial even accounting for the 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 only 33% – workspace_root is the sole documented parameter. The description partially compensates by enumerating the valid 'kind' values (divider, RC, buck), which the schema's bare "type": "string" does not convey. However the required schematic_path gets no format or expectation guidance from either source, so this is only a partial offset.

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?

States a specific verb (Create) plus the resource (starter schematic) and enumerates the three supported kinds (divider, RC, buck), so an agent knows exactly what gets produced. It does not differentiate itself from the sibling create_schematic or materialize_reference_circuit, so it stops short of a 5.

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?

There is no when-to-use, when-not-to-use, or alternative-tool guidance. With create_schematic, materialize_reference_circuit, and several scaffold_* siblings all producing schematics, the description gives the agent nothing to route on. The kind list hints at scope but not at selection criteria.

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

describe_edit_capabilityDescribe Edit CapabilityC
Read-onlyIdempotent

Describe which edits the clean-room editor performs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond the annotations — no hint about the scope of results, what 'clean-room editor' means, or what class of edits it reports.

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?

A single, front-loaded sentence with no padding. It is efficient, though the terseness is part of why the scope is ambiguous.

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 zero-parameter read-only introspection tool with no output schema, the description should at least clarify what it returns and how it relates to describe_schematic_edit_support. Annotations cover safety, but the missing differentiation and return-scope detail leave a real gap.

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?

The tool takes zero parameters, so there are no parameter semantics for the description to explain. Baseline 4 applies. (Schema coverage is reported as 100% on an empty object, so the schema does no work either.)

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 gives a verb ('Describe') and a resource ('edits the clean-room editor performs'), so the general purpose is discernible. However, it does not distinguish this tool from the near-identical sibling 'describe_schematic_edit_support' (or describe_server_capabilities), leaving the agent unsure which capability-description tool to pick.

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?

There is no statement of when to call this versus the many other 'describe_*' siblings, nor any prerequisite or exclusion. The agent must guess 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.

describe_live_gui_supportDescribe Live Gui SupportC
Read-onlyIdempotent

Describe the GUI launch support.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnly/idempotent/non-destructive and closed-world, so the safety profile is covered. The description adds nothing beyond that, such as whether it reveals optional GUI modes, prerequisites, or platform requirements, and does not mention the zero-argument nature or return shape.

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?

A single short sentence with no waste. It is appropriately sized but under-front-loaded in terms of substance, not length.

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?

For a capability-discovery tool with no output schema, the description should say what the caller learns (which GUI launch modes/commands are supported) and when to call it. As written, an agent has almost nothing to distinguish this from other describe_* tools.

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?

Zero parameters, so the baseline is 4. The description appropriately says nothing about parameters and does not mislead.

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?

Restates the name almost verbatim ('describe ... GUI launch support' vs 'Describe Live Gui Support'). It does identify the resource (GUI launch support), but gives no detail on what the description contains or how it differs from siblings like describe_server_capabilities or describe_edit_capability.

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 when-to-use, when-not-to-use, or alternatives mentioned. An agent can only infer that it is a capability-discovery call from the verb 'describe'.

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

describe_mixed_signal_supportDescribe Mixed Signal SupportA
Read-onlyIdempotent

State what mixed-signal authoring LTspice can and cannot do.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so the safety profile is fully covered. The description adds only the mild signal that the response includes both supported and unsupported ('can and cannot do') capabilities; it says nothing about the form, breadth, or limits of that answer.

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?

A single short sentence with the capability scope front-loaded and zero filler. Nothing to trim and nothing buried.

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?

For a zero-parameter, read-only capability-query tool with no output schema, the description adequately conveys that the return is a supported/unsupported capability summary. It could say slightly more about what domains are covered (e.g. netlist, simulation, or schematic aspects of mixed-signal), but nothing an agent needs to invoke it is missing.

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?

The tool takes zero parameters and the schema is empty, so there is nothing for the description to disambiguate. Baseline 4 applies.

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?

States a specific informational verb ('State') and a specific resource (mixed-signal authoring capability of LTspice), including the scope 'can and cannot do'. It is distinguishable from the many other describe_*_support siblings only by its topic noun, not by any explicit contrast, so it falls just short of a 5.

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?

There is no guidance on when to call this versus describe_server_capabilities, describe_schematic_edit_support, describe_protocol_support, or the other capability-query siblings. The intent is inferable (check capability before authoring mixed-signal content), but nothing states a trigger, prerequisite, or exclusion.

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

describe_protocol_supportDescribe Protocol SupportB
Read-onlyIdempotent

State that I2C and SPI scaffolds here are behavioral teaching circuits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed world, so the safety profile is covered. The description does add meaningful domain substance the annotations cannot convey — that the I2C/SPI scaffolds are behavioral teaching circuits rather than real protocol implementations. It stops short of saying what the response looks like (prose? structured flags?), so this is a moderate add.

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?

A single short sentence with no filler, and the substantive point (I2C/SPI scaffolds are teaching circuits) is front-loaded. It loses a point only because the imperative 'State that...' framing is an instruction rather than a tool description, which is a slightly confusing structure for a definition field.

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 no parameters and no output schema, the description is not required to enumerate returns, and it does communicate the core payload (protocol scaffolds are educational, not functional). It remains thin for a description tool though — it never says what the tool returns or how it interacts with the scaffold_* siblings, so an agent is left guessing at the response shape.

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?

The tool takes zero parameters and the schema is empty, so there is nothing for the description to disambiguate. Baseline 4 applies; no param-level gaps exist to compensate for.

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 name and title identify a 'describe' tool about protocol support, and the description narrows the subject to I2C/SPI scaffolds being behavioral teaching circuits. But the imperative phrasing 'State that...' describes an instruction to the agent's output rather than what the tool itself does/returns, leaving the verb-resource relationship ambiguous. It also doesn't distinguish itself from neighbors like describe_mixed_signal_support or scaffold_i2c_device/scaffold_spi_device.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Given many sibling 'describe_*' and 'scaffold_*' tools, the agent gets no signal about when this specific explanation is the right call versus scaffold_i2c_device/scaffold_spi_device or describe_mixed_signal_support.

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

describe_reference_circuit_recipeDescribe Reference Circuit RecipeC
Read-onlyIdempotent

Describe one reference circuit.

ParametersJSON Schema
NameRequiredDescriptionDefault
recipe_idYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered structurally. The description adds nothing beyond that — no indication of what 'describe' returns, whether the recipe must exist, or what happens for an unknown recipe_id.

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?

A single short sentence with no filler and nothing buried, so it is structurally clean. However, the brevity stems from under-specification rather than efficiency, which caps the score.

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?

For a read-only lookup tool with one undocumented parameter and no output schema, the description should at least say what is returned and how to source the recipe_id. Neither is present, leaving the definition too thin to guide a correct call.

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 description coverage is 0% for the single required recipe_id parameter, and the description does not compensate: it never explains what a recipe_id is, where to obtain one, or its format. The one-parameter description therefore adds no semantic value.

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 a verb and resource ('Describe one reference circuit'), but it reads as a restatement of the tool name rather than an explanation of what describing yields. It does not distinguish itself from siblings such as list_reference_circuit_recipes or materialize_reference_circuit, so an agent gets only a minimal sense of 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?

There is no guidance on when to call this versus list_reference_circuit_recipes (to enumerate recipes) or materialize_recipe (to instantiate one). No prerequisites, no conditions, no alternatives are mentioned.

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

describe_schematic_edit_supportDescribe Schematic Edit SupportC
Read-onlyIdempotent

Describe schematic edit support for clients.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds no behavioral context beyond that—no indication of what the returned capability set includes, whether it is static or session-dependent, or any scope caveats.

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

Conciseness2/5

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

It is a single short sentence with no padding, but that brevity comes from under-specification rather than economy—it conveys almost no information, so the sentence does not really earn its place.

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?

For a zero-parameter capability-reporting tool the description should explain what 'schematic edit support' encompasses and how it differs from the several sibling describe_* tools. There is no output schema to fall back on, and the one-sentence description leaves the agent guessing about scope.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; per the rubric, a parameterless tool sets a baseline of 4. No parameters are misdocumented or omitted.

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

Purpose2/5

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

The description 'Describe schematic edit support for clients' is essentially a restatement of the tool name/title. While it implies a read-only capability-reporting tool, it doesn't say what 'edit support' actually covers (which operations, which limits), and it gives no basis for distinguishing it from siblings like describe_edit_capability or describe_server_capabilities.

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?

There is no when-to-use guidance, no mention of when a client should call this versus describe_edit_capability or the other describe_* capability tools. The only hint is 'for clients', which is not an actionable selection criterion.

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

describe_schematic_layout_specDescribe Schematic Layout SpecC
Read-onlyIdempotent

Describe a built-in layout spec.

ParametersJSON Schema
NameRequiredDescriptionDefault
spec_nameNo

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds nothing behavioral beyond 'built-in', which only vaguely hints that the specs are predefined rather than user-supplied.

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?

One short, front-loaded sentence with no waste, but its brevity stems from under-specification rather than disciplined editing, so it does not earn more than a middling score.

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?

With no output schema and 0% parameter coverage, the description is the only source of information about this tool, yet it says nothing about what the spec description returns or how to select a spec. For a discovery tool this leaves the agent under-equipped.

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 description coverage is 0%, so the description must compensate, but it never mentions spec_name. The word 'built-in' weakly implies the parameter names a predefined spec, yet there is no mention of valid values, whether it is optional, or what happens if omitted.

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

Purpose2/5

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

The description 'Describe a built-in layout spec' essentially restates the tool name (describe_schematic_layout_spec) with no added specificity. It gives a verb and resource but no scope, no indication of what a 'spec' contains, and no differentiation from the sibling apply_schematic_layout_spec.

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?

There is no guidance on when to call this versus alternatives such as apply_schematic_layout_spec or describe_schematic_edit_support. Usage is only faintly implied by the verb 'describe', leaving the agent to infer the context.

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

describe_server_capabilitiesDescribe Server CapabilitiesA
Read-onlyIdempotent

Report the LTspice engine, tool groups, and feature flags.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so safety is covered. The description adds the subject matter reported (engine, tool groups, feature flags) but says nothing about return shape or how capability data should be interpreted.

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?

A single twelve-word sentence with the payload front-loaded and zero wasted text. Appropriately sized for a no-argument discovery tool.

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 no parameters, no nested objects, and no output schema, the description only needs to say what is reported, which it does. A brief note on the granularity of tool groups/feature flags would make it fully self-sufficient, but nothing essential is missing.

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?

Zero parameters, so the schema imposes no semantic burden and the baseline is 4. There is nothing for the description to clarify beyond the empty object.

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?

States a specific verb (report) and resource (LTspice engine, tool groups, feature flags), which is more informative than the bare name. It is distinguishable from sibling describe_* tools by being the server/engine-level one, though it does not explicitly contrast itself against describe_edit_capability or describe_schematic_edit_support.

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?

Usage is implied — call it to learn what the server supports — but no explicit when-to-use or when-not guidance is given despite several related describe_* siblings that could be confused with it. Minimum viable.

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

describe_topology_authoring_supportDescribe Topology Authoring SupportC
Read-onlyIdempotent

Describe the topology note format.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered externally. The description adds nothing on top: it does not say what the returned format specification looks like, how long it is, or whether it documents a required structure for contributions. No contradiction with annotations, but no added value either.

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?

A single short sentence, front-loaded and free of filler, which is an appropriate size for a no-argument documentation tool. The brevity borders on under-specification rather than efficient conciseness, which keeps it below a 5.

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 schema is empty and there is no output schema, so the description is the only place an agent can learn what this call yields. It never states what the 'topology note format' contains, nor how it relates to validate_topology_contribution or ingest_topology_contribution, leaving the agent unable to reason about when it is the right tool despite the trivial invocation.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. No parameter meaning is missing, though no extra semantics are contributed either.

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 has a clear verb ('Describe') and a named resource ('topology note format'), so it is not a tautology. However, 'topology note format' is jargon that is never defined, and the description does nothing to separate this tool from close siblings such as describe_topology_block, validate_topology_contribution, or ingest_topology_contribution. An agent cannot tell from the text alone whether this returns a spec, a template, or a list of conventions.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many topology siblings. A reader can only infer that it should be consulted before authoring or ingesting a contribution, and that inference is not stated.

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

describe_topology_blockDescribe Topology BlockC
Read-onlyIdempotent

Return one topology note.

ParametersJSON Schema
NameRequiredDescriptionDefault
block_idYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond them — no note about what a 'topology note' contains, what happens on an unknown block_id, or the return shape.

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?

It is a single, front-loaded sentence with no filler, which is structurally clean. But it is under-specified rather than appropriately concise, given the ambiguity of 'topology note.'

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?

For a read-only lookup keyed on an undocumented identifier, the definition omits everything an agent needs: what a topology block/note is, where block_ids come from, and how this differs from the sibling list/search tools. No output schema exists to offload return-value explanation.

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 description coverage is 0% and the single required parameter block_id is completely unexplained. The description does not compensate by clarifying what a block_id is, its format, or how it relates to blocks returned by list/search tools.

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?

States a verb (Return) and a resource (topology note), so the basic operation is inferable. However, it neither distinguishes itself from the many topology siblings (list_topology_blocks, search_topology_blocks, describe_topology_authoring_support) nor resolves the terminology mismatch between the tool name's 'block' and the description's 'note.'

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?

There is no indication of when to use this tool versus list_topology_blocks or search_topology_blocks, nor any prerequisite such as needing an existing block_id. The agent is left to infer that a block_id is required and where it comes from.

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

download_remote_artifactsDownload Remote ArtifactsC

Return artifact paths recorded for a finished session.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, implying some state change (likely writing files to disk), but the description's 'Return artifact paths' conveys a pure read and never discloses any side effect. It also omits session-lifecycle context (must the session be closed first?) and error behavior. The only added value is the 'finished session' precondition.

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?

A single short, front-loaded sentence with no filler. It is efficient, though its brevity contributes to the ambiguity noted elsewhere.

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?

For a one-parameter remote-session tool with no output schema, the description omits what 'recorded' artifacts are, how a session becomes 'finished', and where the paths originate. Given the dense cluster of remote-execution siblings, richer lifecycle context is needed for correct invocation.

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?

The single parameter session_id has 0% schema description coverage. The description's 'for a finished session' loosely ties the parameter to a session, but adds no format, source, or lookup guidance for the id, so it does not compensate for the coverage gap.

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 gives a verb ('Return') and a resource ('artifact paths'), but 'Return artifact paths' directly conflicts with the name and title 'Download Remote Artifacts', leaving the agent unsure whether the tool fetches file content or merely enumerates paths. It also does not distinguish this from sibling remote-session tools such as close_remote_session or poll_remote_run.

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?

There is no explicit guidance on when to call this versus alternatives, nor any mention of prerequisites beyond the loose hint 'for a finished session'. The agent is left to infer that a remote session must exist and be complete before use.

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

evaluate_waveform_expressionEvaluate Waveform ExpressionC

Evaluate an expression built from raw signal names.

ParametersJSON Schema
NameRequiredDescriptionDefault
raw_pathYes
expressionYes
max_pointsNo
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and idempotentHint=false, so the agent knows this may mutate state, but the description offers nothing about what is modified, where results land, or whether evaluation has side effects on the raw file. With annotations present the bar is lower, but this description adds essentially zero behavioral context for a non-read-only, non-idempotent operation.

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?

One short sentence with no filler, but it is under-specified rather than genuinely concise – the brevity comes at the cost of information an agent needs. A few additional clauses would earn their place here.

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?

A four-parameter tool with 25% schema coverage and no output schema needs the description to explain the expression language and expected return; it does neither. The undefined output format is especially costly since no output schema exists to fall back on.

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 description coverage is only 25% – raw_path, expression, and max_points are all undocumented in the schema. The description's phrase 'built from raw signal names' weakly hints that the expression references signals inside the raw file, but gives no syntax, units, or meaning for max_points, so the coverage gap is not compensated.

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?

States a verb ('evaluate') and a resource ('expression built from raw signal names'), but 'evaluate' is left undefined – it's unclear whether this computes derived samples, returns a scalar, or writes to the raw file. Against siblings like read_waveform and measure_waveform, the distinction is not made explicit.

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 choose this over read_waveform, measure_waveform, plot_waveforms, or export_derived_raw, all of which operate on the same signal data. No prerequisites or conditions are stated.

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

export_derived_rawExport Derived RawC

Write a small ASCII raw file containing one trace.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalYes
raw_pathYes
output_pathNo
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already establish the safety profile (write, non-destructive, non-idempotent), and the description adds two useful facts beyond them: the output is small/bounded and covers exactly one trace, so it cannot be used for multi-signal dumps. It still omits whether an existing file at the target path is overwritten, how the two path parameters interact, or what happens if the trace is unavailable.

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?

A single compact sentence with no filler and the action front-loaded, which is structurally sound. However, that brevity comes at the cost of under-specification for a four-parameter write tool rather than being genuinely economical.

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?

For a mutation tool with 25% schema coverage, no output schema, and an ambiguous pair of path parameters, the description leaves too much unresolved: unclear raw_path vs output_path roles, no overwrite semantics, and no distinguishing context against sibling exporters. It is not adequate to call the tool correctly with confidence.

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 only 25%: signal, raw_path, and output_path have no descriptions, and the description addresses none of them. Critically, raw_path (required) and output_path (optional) are two path-like parameters whose relationship is left entirely unexplained, so the caller cannot tell which one receives the exported file.

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?

States a concrete action and output ('Write a small ASCII raw file containing one trace'), but the term 'derived raw' is unexplained jargon and the description never distinguishes this from the near-identical sibling export_waveform_ascii. An agent can guess what it does but not why it exists alongside several other ASCII/CSV/SPICE exporters.

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 when-to-use guidance, no exclusions, and no mention of alternatives despite a crowded export family (export_waveform_ascii, export_waveform_csv, export_waveform_spice, export_measures_csv). The 'one trace' phrasing implies a per-signal scope but never says when an agent should prefer this exporter over them.

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

export_fft_spectrumExport Fft SpectrumC

Write an FFT magnitude CSV.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalYes
raw_pathYes
output_pathNo
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare this is a non-readonly, non-idempotent, non-destructive, closed-world write. The description adds only that the output is a CSV of FFT magnitude, but says nothing about overwrite behavior, required permissions, or what happens to an existing output_path.

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 front-loaded sentence with no wasted words, but its extreme brevity leaves important structure and detail absent rather than making it optimal for a 4-parameter export tool.

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?

For a four-parameter file-export tool with 25% schema coverage and no output schema, the definition is too thin. It lacks input semantics, overwrite behavior, and enough context to distinguish it from the numerous other export siblings.

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 description coverage is only 25%, with just workspace_root documented, so the description must compensate for the undocumented signal, raw_path, and output_path parameters. It provides no parameter-level meaning at all, leaving key distinctions such as raw input versus CSV destination unclear.

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 a specific verb and resource: 'Write an FFT magnitude CSV.' This distinguishes it from generic waveform exports among the siblings, but it does not clarify how it differs from tools like export_waveform_csv beyond the FFT magnitude qualifier.

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?

There is no guidance on when to use this export versus the many sibling export tools (export_waveform_csv, export_derived_raw, export_measures_csv, etc.), nor any prerequisites or exclusions. The agent must infer usage from the name and one-line purpose.

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

export_measures_csvExport Measures CsvC

Write .meas rows to CSV.

ParametersJSON Schema
NameRequiredDescriptionDefault
log_pathYes
output_pathNo
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, which cover the safety profile. The description adds only that the output is CSV and the rows are .meas rows, but does not disclose overwrite behavior, path handling, or other side effects beyond what the annotations imply.

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

Conciseness2/5

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

The description is a single sentence with no wasted words and is front-loaded, but it is drastically under-specified for a three-parameter mutation tool. Brevity here reflects missing information rather than efficient conciseness.

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

Completeness1/5

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

Given the mutation nature, three parameters with only one schema description, and no output schema, the description is far too sparse. It does not explain what .meas rows are, where output goes by default, or how log_path and output_path interact.

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 only 33%, with log_path (required) and output_path completely undocumented in the schema. The description does not explain any parameter, leaving the required log_path and output_path semantics entirely unclear.

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 a clear verb (Write) and resource (.meas rows) and output format (CSV), so the action is identifiable. It does not differentiate from sibling export tools such as export_waveform_csv or export_touchstone_s2p, but the basic purpose is clear.

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

Usage Guidelines1/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. It does not mention list_measures, read_measures, or other export tools, and gives no prerequisites, conditions, or exclusions.

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

export_symbol_to_asyExport Symbol To AsyC

Write a two-pin .asy named for a placed component.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYes
output_pathYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare it is a non-readonly, non-idempotent, non-destructive write, and 'write a .asy' is consistent with that. The description adds output-shape context (two-pin, named for the component), but says nothing about overwriting an existing file, required permissions, or what is returned, which matters for a non-idempotent file write.

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?

A single front-loaded sentence with no filler; the verb and artifact come first. It is efficient, though the extreme terse-ness borders on under-specification rather than crispness.

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?

With no output schema, low parameter coverage, and a file-writing side effect, the description does not carry enough to call the tool confidently. It omits path/format expectations, overwrite behavior, and any success/failure signal an agent would need.

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 only 25%, so three of four parameters (schematic_path, reference, output_path) are undocumented anywhere. The description only obliquely implies reference/output naming ('named for a placed component') and gives no hint about paths, formats, or the workspace_root override.

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?

States a specific verb (write) and artifact (.asy), and adds that the output is two-pin and named after a placed component. However, it never explains what a 'placed component' is in this workflow or distinguishes itself from nearby siblings like create_asy_symbol or add_component_from_asy, leaving the agent to infer the niche.

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 when-to-use guidance, no prerequisites, and no named alternative despite several closely related asy/symbol tools in the sibling list. The agent must guess whether this is the right export path versus create_asy_symbol or read_component_symbol.

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

export_touchstone_s2pExport Touchstone S2pC

Write a one-port-style S2P using S21 = output/reference and the other terms at 0.

ParametersJSON Schema
NameRequiredDescriptionDefault
z0No
raw_pathYes
output_pathNo
output_signalYes
workspace_rootNoOptional per-call workspace root override.
reference_signalYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations declare a non-read-only, non-idempotent, non-destructive write. The description is consistent and adds genuine domain behavior: the resulting file's S-parameter construction. It does not disclose overwrite/return behavior for output_path or why the operation is non-idempotent, so it only partially goes beyond the annotations.

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?

A single front-loaded sentence with no filler. It is efficient, though the dense notation ('one-port-style S2P') borders on cryptic for readers without Touchstone familiarity.

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?

For a write/export tool with six parameters, 17% schema coverage, and no output schema, the definition is too thin. It never explains the source (raw_path), the destination (output_path), impedance (z0), or the export workflow, leaving the agent short of what it needs to call it correctly.

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 description coverage is only 17% (only workspace_root is documented), so the description must compensate, and it largely does not. It hints that output_signal and reference_signal drive the S21 value, but raw_path, output_path, and z0 remain undocumented in both schema and description.

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?

States a specific verb (Write) and resource (a one-port-style S2P), and even specifies the content rule (S21 = output/reference, other terms 0). This is concrete and unambiguous about what gets produced. It does not, however, differentiate itself from other export tools or explain S2P/Touchstone context.

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?

There is no when-to-use guidance, no mention of prerequisites (e.g. a completed simulation/raw file), and no reference to alternatives among the many export_* siblings. The agent is left to infer when this is the right export tool.

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

export_waveform_asciiExport Waveform AsciiC

Write one signal as whitespace-separated text.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalYes
raw_pathYes
output_pathNo
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations declare non-read-only, non-destructive, non-idempotent, and closed-world behavior. The description adds the output format but does not disclose what overwriting entails, permission requirements, or whether existing files are replaced.

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?

A single front-loaded sentence with no filler. It is efficient, though arguably too terse for a four-parameter export tool, which keeps it from a perfect score.

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?

For a write tool with no output schema and sparse parameter documentation, the description is under-specified. It does not clarify the role of raw_path versus output_path or how the export is performed.

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 description coverage is only 25% and the description does not explain any of the four parameters. It implies 'signal' is the data to export but leaves raw_path, output_path, and workspace_root undocumented, failing to compensate for the coverage 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?

States a concrete verb ('Write'), the resource ('one signal'), and the serialization format ('whitespace-separated text'). This distinguishes it from sibling exporters like export_waveform_csv and export_waveform_spice, though it does not name them explicitly.

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 choose ASCII over CSV or SPICE exports, no prerequisites, and no mention of alternatives. Usage is only implied by the tool name and format description.

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

export_waveform_csvExport Waveform CsvC

Write selected signals to CSV.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalsYes
raw_pathYes
output_pathNo
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, and the description's 'Write' is consistent with that. But beyond confirming a write, it says nothing about whether an existing CSV is overwritten, what happens if output_path is omitted, or where the file lands – gaps that matter for a mutating file-producing tool.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler, which is efficient. It is arguably too terse given the under-specification elsewhere, but as pure conciseness it earns its place.

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?

With four parameters, no output schema, and no annotation detail on file outputs, the definition should carry more weight. It omits what raw_path points to, the expected signals format, and output_path default/overwrite behavior, leaving the agent unable to call it confidently in edge cases.

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 description coverage is only 25% (just workspace_root), so raw_path, signals, and output_path are undocumented in structured fields. The description's phrase 'selected signals' hints at the signals parameter but adds no syntax, format, or default information to compensate for the coverage gap.

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?

States a verb (write) and resource (signals) with a format (CSV), so the basic action is discernible. However, it is nearly a restatement of the name and does nothing to distinguish it from close siblings like export_waveform_ascii, export_waveform_spice, or export_measures_csv that also serialize waveform data.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives despite several export siblings competing for the same task. The agent is left to infer selection entirely from the name.

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

export_waveform_spiceExport Waveform SpiceC

Write a PWL statement for one real trace.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalYes
raw_pathYes
output_pathNo
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare this is a non-read-only, non-idempotent, non-destructive write, and the description's 'Write' aligns with that. However it adds no behavioral context beyond the annotations: it does not say where output goes, whether output_path must exist, or what happens on repeat calls.

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

Conciseness2/5

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

A single short sentence, but it is under-specified rather than concise. The brevity comes at the cost of essential information an agent needs, so it does not earn its place as a complete definition.

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?

For a 4-parameter export tool with no output schema and only 25% schema coverage, this one-liner is inadequate. It omits output destination, file format details, and parameter meaning, leaving the agent unable to invoke it confidently.

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 only 25% (workspace_root alone is documented), so the description must compensate for signal, raw_path, and output_path — and it does not. The vague reference to 'one real trace' hints at signal/raw_path semantics but conveys no format, selection, or destination meaning.

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?

States a specific verb ('Write') and a resource ('a PWL statement for one real trace'), but 'PWL' is unexplained jargon and the description never says it writes to a file or where. It also fails to distinguish this from siblings like export_waveform_ascii, export_waveform_csv, or export_derived_raw, all of which also export waveform data.

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

Usage Guidelines2/5

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

The phrase 'for one real trace' gives a faint scope hint, but there is no when-to-use guidance, no prerequisites, and no named alternative among the many export_* siblings. An agent has no basis for choosing this over export_waveform_ascii/csv.

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

filter_device_operating_pointsFilter Device Operating PointsC

Keep operating-point rows whose name contains device.

ParametersJSON Schema
NameRequiredDescriptionDefault
deviceYes
log_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, so the operation is not a pure read, yet the description never explains what non-read side effect occurs or where the kept rows go (returned inline? written to a file?). It adds the matching rule but nothing about output destination, overwrite behavior, or permissions. Since annotations are present, the description does not contradict them, but it leaves the key behavioral question open.

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?

A single front-loaded sentence with zero waste. It is efficient, though arguably under-specified rather than merely concise.

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?

For a non-read-only filter tool with no output schema, the description should indicate where filtered rows go and what is produced. That crucial context is entirely absent, leaving the agent unable to predict the tool's effect.

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 only 33% (workspace_root is the lone documented param). The description compensates for the undocumented ``device`` param by clarifying it is a substring matched against row names, but log_path and the output implications remain unexplained in both places.

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 a specific verb (keep/filter), resource (operating-point rows), and criterion (name contains ``device``), which is concrete and distinguishes it from read_device_operating_points and summarize_device_operating_points at a functional level. It does not, however, explicitly name those siblings or contrast its scope with them.

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 filter versus read_device_operating_points or summarize_device_operating_points. There is no statement of prerequisites or context, only a restatement of the filtering behavior.

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

generate_netlistGenerate NetlistB

Write a netlist with LTspice -netlist, or the clean-room renderer.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_pathNo
source_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

B3/5.0
Behavior3/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the write nature is already declared and the description is consistent with it. The description adds the useful behavioral detail that a fallback 'clean-room renderer' exists, implying LTspice may not be required, but it says nothing about side effects, overwrite behavior, or where output lands.

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?

A single front-loaded sentence with no padding. It is efficient, though the 'clean-room renderer' phrase is unexplained jargon that a reader must already know.

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 3-parameter write tool with no output schema and only 33% schema coverage, more is needed: what source is consumed, where the netlist is written, and when to prefer this over save_netlist_copy. The description leaves most of that to inference.

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 only 33%: source_path and output_path have no schema description, and the description gives no meaning for either (what is the source, where does the netlist get written, is output_path optional/derived). With coverage well under 50%, the description fails to compensate for the undocumented parameters.

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 verb+resource are concrete ('Write a netlist'), and it names the two rendering backends (LTspice '-netlist' or the clean-room renderer). It does not, however, distinguish this from close siblings like save_netlist_copy or prepare_net, so the agent cannot route on the description alone.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The existence of save_netlist_copy and prepare_net among siblings makes the absence of routing guidance a real gap.

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

get_batch_statusGet Batch StatusC
Read-onlyIdempotent

Return a batch manifest summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
batch_idYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, fully covering the safety profile. The description adds no behavioral context beyond restating that it returns a summary, offering nothing about scope, auth, or limitations.

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 no wasted words. It is appropriately terse for the tool's simplicity, though the terseness borders on under-specification.

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?

With no output schema and a vague term like 'batch manifest summary,' the description should explain what the summary contains and clarify the required identifier. It leaves key return-value and parameter context completely unspecified.

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 never mentions the required batch_id parameter, so an agent gets no semantic detail about what identifier is needed or its expected form.

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 a clear verb+resource: 'Return a batch manifest summary.' However, it does not differentiate from closely named siblings such as summarize_batch or collect_batch_results, leaving an agent to infer the distinction from name alone.

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?

There is no guidance on when to use this tool versus alternatives like summarize_batch, collect_batch_results, or poll_remote_run, nor any mention of prerequisites or context for calling it.

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

import_circuit_bundleImport Circuit BundleC

Unpack a zip of schematics into the workspace, or copy one .asc.

ParametersJSON Schema
NameRequiredDescriptionDefault
bundle_pathYes
workspace_rootNoOptional per-call workspace root override.
destination_dirNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already establish the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the mutation and non-destructive nature is covered. The description adds that content is written 'into the workspace', but says nothing about overwrite behavior, conflicts, or failure modes for an import that will not be idempotent.

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?

A single front-loaded sentence that covers the primary action without padding. The odd double-backtick markup around ``.asc`` is a minor blemish but the structure is otherwise 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?

For a mutating import tool with no output schema and an incomplete parameter schema, the description should clarify what the import produces and how the workspace/destination interact. It leaves an agent unable to reason about placement and result of the imported circuit.

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 only 33% and the description only partially compensates by implying bundle_path is a zip or .asc. It does not explain destination_dir, nor how it relates to workspace_root (which is the only parameter with a schema description). Two of three parameters remain effectively undocumented.

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 names specific verbs ('unpack', 'copy') and resources (a zip of schematics, a .asc file), so the agent knows it imports circuit content. However, it does not differentiate itself from adjacent import-like siblings such as materialize_reference_circuit, materialize_recipe, or create_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?

It hints at two modes ('or copy one .asc') but gives no guidance on when to use a zip versus a single .asc, no prerequisites, and no alternatives. The agent must infer the branch condition from the input path alone.

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

ingest_topology_contributionIngest Topology ContributionC

Store a validated contribution under the workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the safety/mutation profile is covered. The description adds the "validated" precondition, which is genuine extra context, but says nothing about duplicate handling, overwrite behavior, or storage location.

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?

A single efficient sentence with no filler, and the mutation verb is front-loaded. It is terse to the point of under-specification rather than padded.

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?

A mutation tool with no output schema, one undocumented string parameter, and no explanation of what a valid payload looks like or what ingestion produces. Too little is said for an agent to call this correctly without inspecting sibling tools.

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?

One required parameter (payload) at 0% schema description coverage, and the description gives no hint of its format, structure, or expected content. With coverage this low the description should compensate for the gap and does not.

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?

States a specific verb ("Store") and resource ("contribution") scoped to a workspace, so an agent knows it is a write operation. However, it never names or distinguishes itself from validate_topology_contribution or the other topology_* siblings, relying on the reader to infer the pipeline position.

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 only usage signal is the word "validated," which faintly implies running validate_topology_contribution first. There is no explicit when-to-use, no statement of the precondition for the payload, and no mention of alternatives.

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

inspect_schematicInspect SchematicC
Read-onlyIdempotent

Summarize a schematic.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that – no indication of what the summary contains, how large the schematic may be, or whether it is text or a structured digest.

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

Conciseness2/5

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

It is short and front-loaded, but brevity here is under-specification rather than efficiency – two words that omit all scope, format, and usage detail. Nothing is wasted, but nothing is earned either.

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?

With no output schema, the description bears the burden of explaining what the summary looks like, yet it says nothing about return structure or scope. A single-line description is inadequate for a tool whose entire value is the shape of its summarized output.

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 description coverage is only 50%: workspace_root is documented inline, but schematic_path (the required parameter) has no description. The description does not compensate by explaining path format, resolution rules, or the effect of the workspace_root override.

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?

"Summarize a schematic" names a verb (summarize) and a resource (schematic), so the basic action is identifiable. However, it does nothing to separate this tool from near-neighbors such as check_schematic, read_net_connectivity, render_schematic_image, or list_components, leaving the agent to guess what "summarize" actually returns.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many schematic-inspection siblings. The agent gets no signal about when this tool is preferable to check_schematic or list_components.

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

list_componentsList ComponentsC
Read-onlyIdempotent

List placed components.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and closed-world, so the safety profile is fully covered by structured data. The description adds nothing on top — no indication of scope (whole schematic vs. a sheet), ordering, pagination, or result size, which is the kind of context that would actually earn credit here.

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?

A single front-loaded sentence with zero filler, which is structurally clean. The problem is under-specification rather than verbosity, so it lands at the minimum-viable level.

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?

With no output schema, the description carries the burden of explaining what is returned (component identifiers, references, values?) and in what shape. It says only 'placed components', leaving the return contract and the required schematic_path semantics unexplained.

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 description coverage is only 50%: workspace_root is documented but schematic_path is not. The description contributes no parameter meaning at all, so it fails to compensate for the undocumented required path parameter.

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?

States a specific verb and resource ('List placed components'), so the agent knows exactly what operation is performed. However, it does nothing to distinguish itself from close siblings like read_component, inspect_schematic, or list_subcircuits, which an agent could easily confuse with it.

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?

There is no guidance on when to use this versus alternatives such as read_component (single component detail) or inspect_schematic (broader survey). No prerequisites, no scoping conditions, nothing to route the agent among the many sibling list/read tools.

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

list_includesList IncludesC
Read-onlyIdempotent

List .lib and .include directives.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. Beyond the resource type, the description adds nothing about the return shape, error behavior, or whether nested/inherited includes are resolved.

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?

A single short sentence with no waste, and the key content is front-loaded. It is terse but arguably under-specified rather than over-elaborated.

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?

For a listing tool with no output schema, the agent is not told what the returned list looks like or how source_path is used. Given a required undocumented parameter and no return description, the definition leaves important gaps.

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?

The required 'source_path' has no description in the schema and is never mentioned in the description; only 'workspace_root' is documented (schema coverage 50%). The description does nothing to compensate for the undocumented required path parameter.

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?

States a specific verb ('List') and resource ('.lib' and '.include' directives), which clarifies what the cryptic 'includes' refers to. It does not, however, distinguish itself from related siblings such as add_library_include or list_subcircuits.

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 gives no when-to-use guidance, no prerequisites, and no alternatives. An agent knows what is listed but not when to reach for this tool versus, say, inspecting a schematic or reading a subcircuit.

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

list_measuresList MeasuresC
Read-onlyIdempotent

List .meas names.

ParametersJSON Schema
NameRequiredDescriptionDefault
log_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is fully covered by structured data; no contradiction exists. The description itself adds no behavioral context at all — no scoping, no ordering, no indication of what happens with an empty or missing measurement set — so it earns no credit above the annotation baseline.

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 single short sentence is front-loaded and wastes no words, which suits a simple list tool. It is terse to the point of under-specification rather than genuinely concise, and the stray doubled backticks around '.meas' are formatting noise.

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?

There is no output schema, so the description should describe the return shape, but it only says 'names' without conveying ordering, count, or behavior when no .meas directives exist. Combined with the undocumented required log_path and zero usage routing, the definition is too thin for an agent to call confidently.

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?

With 50% schema coverage, the required log_path parameter has no description anywhere, and the description does not compensate by explaining what log_path should point to (raw output? netlist log?) or what a workspace_root override changes. The one documented parameter (workspace_root) is the optional one, leaving the mandatory parameter entirely unexplained.

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 names a verb ('List') and a resource ('.meas' measurement directive names), so the basic action is recoverable. However, it does not differentiate itself from closely related siblings like read_measures or export_measures_csv, and '.meas' is unexplained jargon that a non-expert agent may not map to measurement directives.

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?

There is no when-to-use guidance, no statement of prerequisites (e.g. that a log_path pointing at a completed simulation log is required), and no routing to read_measures for values or export_measures_csv for export. The agent must infer all selection logic from the tool name alone.

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

list_plot_suggestionsList Plot SuggestionsC
Read-onlyIdempotent

Suggest voltages and currents an agent can plot.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds no behavioral context beyond the purpose, such as whether a valid schematic is required, what the suggestions contain, or any dependency on saved state.

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, front-loaded sentence with no wasted words. However, it is so terse that it omits necessary context about the required schematic input and the nature of the suggestions, making it under-specified rather than optimally concise.

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?

For a tool that requires a schematic path and returns plot suggestions without an output schema, the description should explain what the suggestions are based on and what they contain. Instead it gives only a one-line purpose, leaving an agent without enough information to invoke it confidently.

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 description coverage is only 50%: workspace_root is described, but the required schematic_path is undocumented in both the schema and the description. The description does not mention either parameter or explain what schematic_path should point to, so it fails to compensate for the coverage 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 gives a clear verb ('Suggest') and resource ('voltages and currents an agent can plot'), so an agent can tell it produces plot suggestions. It does not differentiate itself from siblings like list_signals or list_measures, which may also list plottable quantities, so it falls short of a 5.

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?

There is no guidance on when to use this tool versus alternatives such as list_signals or plot_waveforms. The phrase 'an agent can plot' implies it is used before plotting, but no explicit when/when-not or prerequisites are stated.

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

list_reference_circuit_recipesList Reference Circuit RecipesB
Read-onlyIdempotent

List bundled reference circuits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The only added context is the word 'bundled', which implies the recipes come from built-in packages rather than user workspaces; nothing is said about return format, size of the catalog, or pagination.

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?

A single short sentence with zero filler and the resource front-loaded after the verb. It is efficiently written, though the brevity borders on under-specification rather than tightness.

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?

No output schema exists, so the description should carry the burden of explaining what comes back and how to use it, yet it does not say whether entries are names, ids, or full specs, nor that an id feeds into describe_reference_circuit_recipe/materialize_reference_circuit. For a catalog entry point in a 90-plus tool environment, that linkage is the missing piece.

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?

The tool takes zero parameters, so per the rubric the baseline is 4. The description adds no parameter information because none is needed, and the empty schema is self-explanatory.

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?

States a clear verb (List) and resource (bundled reference circuits), so an agent knows this is a catalog enumeration. However, it never distinguishes itself from close siblings such as describe_reference_circuit_recipe or materialize_reference_circuit, and it silently renames 'recipes' (per the tool name) to 'reference circuits', leaving the agent to guess they are the same thing.

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?

There is no when-to-use guidance, no stated relationship to the recipe workflow, and no mention that this should precede materialize_reference_circuit or describe_reference_circuit_recipe. The agent must infer the place of this tool in the recipe pipeline entirely on its own.

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

list_signalsList SignalsC
Read-onlyIdempotent

List signals in a raw file.

ParametersJSON Schema
NameRequiredDescriptionDefault
raw_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds nothing beyond that: no indication of what a raw file is, whether a missing or malformed path errors, or how large result sets are handled. No contradiction with annotations.

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?

A single short sentence with zero padding and the resource front-loaded. It is efficient, though the brevity edges into under-specification rather than true crispness.

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?

There is no output schema, so the description carries the burden of explaining what is returned, and it does not say whether the result is signal names, metadata, or counts. For a tool whose entire value is the shape of its listing output, this is a meaningful gap.

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 50%: workspace_root is documented in the schema while raw_path is not. The phrase 'in a raw file' loosely implies raw_path points to a raw simulation output file, giving marginal semantics beyond the bare string type, but it does not specify path format or resolution behavior.

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 names a verb (List) and a resource (signals in a raw file), which is enough to distinguish it from mutation siblings like add_wire or remove_component. However, it does not differentiate from adjacent read/list tools such as list_measures or list_steps, nor does it clarify what a 'signal' is in this domain.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as list_measures or read_waveform. The agent must infer from the name alone that this inspects a raw simulation file.

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

list_stepsList StepsB
Read-onlyIdempotent

List stepped runs from a raw file and, when given, the log.

ParametersJSON Schema
NameRequiredDescriptionDefault
log_pathNo
raw_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safe-read profile is covered. The description adds that output derives from a raw file plus an optional log, which is useful context, but it says nothing about the returned structure or pagination.

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?

A single front-loaded sentence with no wasted words. It is efficient, though the terseness borders on under-specification rather than tightness.

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 no output schema, the description should ideally convey what a 'stepped run' listing returns, and it does not. Annotations carry the safety profile, but the return-value gap leaves the definition minimally adequate for this listing tool.

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 only 33% (just workspace_root). The description loosely maps raw_path to 'a raw file' and log_path to 'the log', partially compensating, but the required/optional distinction and the workspace_root override are not clarified in the description.

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?

States a specific verb (List) and resource (stepped runs) with the source scoping ('from a raw file and, when given, the log'). It does not, however, distinguish itself from nearby siblings like read_log or list_signals, leaving the agent to infer exactly what a 'stepped run' is versus other waveform listings.

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?

There is no explicit when-to-use guidance and no named alternative. The phrase 'when given, the log' implies the tool is useful after a stepped simulation, but the agent gets no signal about prerequisites or how to choose this over read_log or list_signals.

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

list_subcircuitsList SubcircuitsC
Read-onlyIdempotent

List .subckt blocks and hierarchical symbols.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered. The description adds no behavioral context beyond that: it says nothing about pagination, ordering, what a hierarchical symbol entry looks like, or how results relate to the source_path. With annotations carrying the safety load, this thin description leaves real gaps.

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?

A single front-loaded sentence with zero filler. It is efficient, though arguably too terse for a tool with an undocumented required path parameter; brevity here borders on under-specification.

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?

There is no output schema, so the description would need to convey what gets returned (names? a tree? counts?), and it does not. Combined with an undocumented required parameter and no usage context, the definition is not complete enough for an agent to invoke it confidently.

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 description coverage is only 50%: workspace_root is documented in-schema, but source_path has no description anywhere. The description does not explain what source_path should point to (a .asc schematic? a netlist?) or what the workspace_root override affects, so it fails to compensate for the coverage 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?

States a specific verb ('List') and a specific resource ('.subckt blocks and hierarchical symbols'), so an agent knows it enumerates subcircuit definitions rather than reading one. It is distinguishable from read_subcircuit, though the description never names that sibling or clarifies scope. Clear but lacking explicit sibling differentiation.

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?

There is no when-to-use guidance and no mention of the obvious alternative read_subcircuit (or list_components). The agent must infer that this enumerates whereas read_subcircuit fetches a single definition. No prerequisites or exclusions are given.

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

list_topology_blocksList Topology BlocksC
Read-onlyIdempotent

List topology notes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description contributes no additional behavioral context such as scope, filtering defaults, pagination, or result ordering.

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?

It is a single front-loaded sentence with no waste, but it is under-specified rather than genuinely concise — the brevity comes from omitting information rather than from tight writing.

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?

With no output schema, the description should describe what a 'topology block' is and what the listing returns, but it says nothing. For a tool whose name and description disagree on nouns, this leaves the agent guessing about the result set.

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?

The tool takes zero parameters, so per the rubric the baseline is 4; there is nothing for the description to clarify on the parameter side and no ambiguity introduced.

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

Purpose2/5

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

The description restates the tool name with a different noun ('notes' vs 'blocks'), which is essentially a tautology and introduces terminology inconsistency. It does not distinguish this tool from the sibling search_topology_blocks or clarify the relationship to describe_topology_block.

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?

There is no when-to-use guidance and no mention of the closely related search_topology_blocks, leaving the agent to guess when unfiltered listing is preferable to searching. The verb 'List' only weakly implies an enumeration context.

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

list_workflow_instructionsList Workflow InstructionsC
Read-onlyIdempotent

List bundled workflow notes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.6/5.0
Behavior2/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds only 'bundled' as a minor source hint and does not describe return behavior, pagination, or content format beyond what the annotations provide.

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 definition is a single, front-loaded sentence with no wasted words. It is appropriately terse for a zero-parameter list tool, though its extreme brevity also reflects the lack of substantive 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?

For a simple zero-parameter, read-only list tool whose safety profile is fully covered by annotations, the description is barely adequate. It omits what a workflow note contains and how it relates to read_workflow_instruction, but the tool's invocation complexity is low enough that an agent could still call it.

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?

The tool takes zero parameters, so the parameter-semantics baseline is 4. There are no parameter details for the description to add or omit.

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

Purpose2/5

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

The description 'List bundled workflow notes' essentially restates the tool name and title, swapping 'instructions' for 'notes' without explaining what a workflow note is or how it differs from the sibling read_workflow_instruction. No specific scope or content distinction is provided.

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?

There is no when-to-use guidance, no exclusions, and no mention of the obvious alternative read_workflow_instruction. The agent is left to infer that this lists available notes while the sibling retrieves one, but nothing in the description states that.

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

materialize_recipeMaterialize RecipeC

Write a recipe schematic into the workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
recipe_idYes
workspace_rootNoOptional per-call workspace root override.
destination_pathYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the mutation profile is known. The description adds only that the write goes 'into the workspace' and does not disclose overwrite behavior, whether repeated calls create duplicates, or what happens if destination_path already exists.

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 front-loaded sentence with no wasted words. However, for a three-parameter mutation tool with low schema coverage, it is under-specified rather than optimally sized.

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?

There is no output schema, and the description does not explain what is produced, where the recipe comes from, or what workspace changes occur. Given the non-idempotent write behavior and partially documented schema, the description leaves important context missing.

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 description coverage is only 33%, with workspace_root being the sole documented parameter. The description does not explain recipe_id, destination_path, or the relationship between them, so it fails to compensate for the undocumented parameters.

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 a specific verb and resource: writing a recipe schematic into the workspace. It is clear enough to identify the operation, but it does not distinguish this from sibling tools such as materialize_reference_circuit or explain what a 'recipe schematic' means in this context.

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?

There is no guidance on when to use this tool versus alternatives like materialize_reference_circuit or create_schematic. It also omits any prerequisites, such as whether the recipe must already exist or how destination_path should be chosen.

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

materialize_reference_circuitMaterialize Reference CircuitC

Write a built-in reference circuit.

ParametersJSON Schema
NameRequiredDescriptionDefault
recipe_idYes
workspace_rootNoOptional per-call workspace root override.
destination_pathYes

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the write-but-safe profile is covered structurally. The description adds only that the written artifact is 'built-in', with no mention of what happens if destination_path already exists, overwrite semantics, or auth requirements.

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?

A single front-loaded sentence with zero padding, which is structurally clean. But its brevity reflects under-specification rather than disciplined concision, so it is only adequate.

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?

For a mutation tool with three parameters, low schema coverage, and no output schema, one sentence is not enough. It omits what a recipe_id refers to, where destination_path writes, and what the caller gets back, leaving the agent under-informed for a write operation.

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 description coverage is only 33% (only workspace_root is documented); recipe_id and destination_path have no schema descriptions and the tool description never mentions them. The description does not compensate for the coverage gap, leaving two required parameters semantically opaque.

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?

States a specific verb (write) and resource (built-in reference circuit), which is more than a tautology. However, it does not distinguish this tool from the closely named siblings materialize_recipe, list_reference_circuit_recipes, or describe_reference_circuit_recipe, so an agent cannot tell what a 'reference circuit' is or how this differs from a generic recipe materialization.

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 gives no when-to-use guidance, no prerequisites, and never points to the obvious alternatives (list_reference_circuit_recipes to discover a recipe_id, describe_reference_circuit_recipe to preview it). Usage must be entirely inferred from the name.

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

measure_bode_responseMeasure Bode ResponseC
Read-onlyIdempotent

Bode magnitude and phase of output/reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
outputYes
raw_pathYes
referenceYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, covering the safety profile. The description adds nothing beyond that — no indication of what raw_path is, whether it requires pre-existing simulation data, or what the operation returns.

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?

A single short sentence with no wasted words and the core concept front-loaded. It is efficient, though its terseness shades into under-specification rather than true concision.

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?

For a measurement tool taking three undocumented required parameters with no output schema, the description leaves major gaps: how to source raw_path, whether a prior run is needed, and what the result contains. Annotations cover safety but nothing operational.

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 description coverage is only 25% (just workspace_root), so the description must compensate for output, reference and raw_path. It names output/reference as the compared signals but says nothing about format, units, what raw_path points to, or whether these are net names or signal identifiers.

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 the computed quantity (Bode magnitude and phase) and the signals it is derived from (output/reference), which is more than a tautological restatement of the title. However, it is a bare noun phrase with no verb and no differentiation from siblings like measure_step_response or measure_stability_margins, so the agent must infer the action.

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?

There is no when-to-use guidance, no prerequisite (e.g. does a simulation or raw file need to exist first?), and no mention of alternative measurement tools. The agent gets no routing help at all.

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

measure_efficiencyMeasure EfficiencyD
Read-onlyIdempotent

Average output power over average input power.

ParametersJSON Schema
NameRequiredDescriptionDefault
i_inYes
v_inYes
i_outYes
v_outYes
raw_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds only the computation formula and discloses nothing new about behavior, such as whether raw_path must contain a specific simulation output, unit expectations for the voltage/current arguments, or what triggers an error. A 2 reflects that it carries no behavioral context beyond the annotations.

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?

It is a single short sentence with zero padding, which is structurally clean. However, it is under-specified rather than genuinely concise — the brevity comes at the cost of the information an agent needs before invoking the tool.

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

Completeness1/5

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

With six parameters, 17% schema coverage, no output schema, and no annotations explaining inputs, the description is far too thin. It does not explain the raw-file dependency, the units or expected form of the four electrical arguments, or what result (a single efficiency number?) is returned, so an agent could easily call it incorrectly.

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 description coverage is 17% (only workspace_root is documented), so the description must compensate and does not. The names v_in/i_in/v_out/i_out loosely imply input/output voltages and currents, but no syntax, unit, format, or role for raw_path is given anywhere. This leaves five required parameters essentially undocumented.

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

Purpose2/5

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

The description is a textbook definition of the efficiency metric rather than a statement of what the tool does. It never mentions that the tool reads a raw waveform file (raw_path) and derives efficiency from the supplied voltage/current series, so an agent cannot tell what action is performed beyond the metric name. It effectively restates the title 'Measure Efficiency'.

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

Usage Guidelines1/5

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

There is no when-to-use guidance, no prerequisites, and no routing to alternatives. Given siblings like measure_waveform, measure_bode_response, compute_thd, and read_measures, an agent gets no help deciding when efficiency measurement is the right call over these other measurement tools.

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

measure_stability_marginsMeasure Stability MarginsD
Read-onlyIdempotent

Gain and phase margins.

ParametersJSON Schema
NameRequiredDescriptionDefault
outputYes
raw_pathYes
referenceYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered by structured data. The description adds nothing beyond that - it does not say what file it reads, what artifact is written to `output`, or what `reference` designates.

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

Conciseness2/5

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

Brevity here reflects under-specification rather than economy: it is four words with no verb, no scope, and no front-loaded purpose. Nothing is wasted because almost nothing is said.

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

Completeness1/5

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

A four-parameter measurement tool with no output schema, 25% schema coverage, and three required undocumented inputs needs substantially more description than this. Key inputs and the produced artifact are left entirely to inference.

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 only 25% (just workspace_root). The three required parameters (raw_path, output, reference) are undocumented in both schema and description, and the four-word description supplies no compensating meaning for any of them.

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

Purpose2/5

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

"Gain and phase margins." is a noun fragment that largely restates the title rather than stating a verb+resource action. An agent can infer the tool measures something about stability margins from a raw file, but there is no statement of what is operated on or produced.

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

Usage Guidelines1/5

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

There is no when-to-use guidance at all: nothing distinguishes it from siblings like measure_bode_response, measure_step_response, or list_measures/read_measures. No prerequisites, no conditions, no alternatives are named.

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

measure_step_responseMeasure Step ResponseC
Read-onlyIdempotent

Step-response scalars.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalYes
raw_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.2/5.0
Behavior3/5

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

Annotations already cover the behavioral profile (readOnly, idempotent, non-destructive, closed-world), so the description doesn't need to restate safety. However, it adds no additional behavioral context such as whether it operates on existing simulation data, what 'scalars' it returns, or any prerequisites. A 3 is warranted since annotations do the heavy lifting but the description adds nothing extra.

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

Conciseness2/5

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

The description is a single fragment with no structure or front-loading. While technically concise, it is under-specified rather than efficient, and doesn't earn its place as a helpful definition.

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 three parameters (two required with unclear semantics), no output schema, and a terse fragment, the description is inadequate for an agent to call the tool correctly. It doesn't explain what scalars are returned or how the required signal and raw_path are used.

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 33%, so the description should compensate for the two undocumented required parameters (signal, raw_path). It provides no information about what 'signal' refers to, what format 'raw_path' expects, or how workspace_root interacts. This is a significant gap for required parameters.

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

Purpose2/5

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

"Step-response scalars." restates the tool name as a noun phrase without a verb. A reader learns it relates to step-response measurements and returns scalars, but the description doesn't clarify how it differs from measure_waveform or measure_bode_response.

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 given on when to use this tool versus the other measure_* siblings or prepare_step/run_simulation. The agent must infer usage from the name and sibling context alone.

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

measure_waveformMeasure WaveformC
Read-onlyIdempotent

Measure avg, rms, max, min, pp, or peak.

ParametersJSON Schema
NameRequiredDescriptionDefault
methodYes
signalYes
raw_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds nothing behavioral beyond the metric list: it says nothing about return format, units, error conditions, or what raw_path/signal must resolve to.

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?

A single terse sentence with the metric enumeration front-loaded. No waste, though the extreme brevity edges toward under-specification rather than tight 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?

A 4-parameter measurement tool with three undocumented required params and no output schema. The description should clarify what signal and raw_path refer to and what a measurement returns; as written it is inadequate for correct invocation.

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 only 25% (just workspace_root), so the description must compensate. It does define the allowed method values (avg, rms, max, min, pp, peak), which is genuine value since no enum exists, but it leaves signal and raw_path entirely unexplained.

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?

States a specific verb (measure) with an explicit list of supported metrics (avg, rms, max, min, pp, peak) on a waveform. This distinguishes it from more specialized siblings like measure_bode_response or measure_step_response, though it never explicitly says it operates on a waveform signal rather than, say, a full response curve.

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 versus alternatives such as read_waveform, evaluate_waveform_expression, read_measures, or compute_thd. The agent must infer usage entirely from the metric list.

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

merge_waveformsMerge WaveformsC

Return two traces side by side without writing a combined raw file.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalYes
left_pathYes
right_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is partially covered. The description adds a genuine side-effect qualifier (no combined raw file is persisted), which is useful context, but it never explains what side effects the non-read-only annotation implies, so the disclosure is incomplete rather than contradictory.

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?

A single front-loaded sentence with no filler. It is efficient, though its brevity contributes to the ambiguity noted elsewhere rather than being an under-specification problem in itself.

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?

For a 4-parameter tool with three undocumented arguments, no output schema, and no usage guidance, the description is too thin. An agent still lacks the parameter meaning, invocation conditions, and side-effect details needed to call this correctly.

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 description coverage is only 25%; only workspace_root is documented in the schema. The description's "two traces" loosely maps to left_path/right_path but never explains them, nor does it say what signal represents or how the paths are combined.

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 names a verb plus resource ("Return two traces side by side"), so the basic action is discernible. However, it never reconciles the "merge" name with the "side by side" behavior, and it does not differentiate this tool from related siblings like compare_waveforms, plot_waveforms, or read_waveform. The purpose remains partially ambiguous.

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?

There is no statement of when to use this tool, when to prefer an alternative, or what prerequisites apply. The only implicit guidance is the negative "without writing a combined raw file," which hints at a when-not condition but is never framed as usage direction.

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

normalize_component_text_rotationNormalize Component Text RotationC

Reset attribute windows to left-justified text.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already disclose that this is a non-read-only, non-destructive, non-idempotent, closed-world mutation, but the description adds nothing beyond that - it does not say what is actually modified (all components? all attribute text in the schematic?), whether changes are persisted, or what the non-idempotent behavior means in practice.

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?

It is a single front-loaded sentence with no filler, so it is concise in form; however, its brevity comes at the cost of under-specification rather than efficient information density.

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?

For a mutation tool with no output schema and only partial parameter documentation, the description leaves out scope of effect, persistence, and required context - an agent would need to open other tools or docs before calling it safely.

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 description coverage is only 50%: schematic_path is undocumented, and workspace_root's override semantics are only in the schema. The description mentions neither parameter and gives no hint about the required schematic path, so it fails to compensate for the coverage gap.

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

Purpose2/5

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

The name/title say 'normalize component text rotation', but the description instead talks about resetting 'attribute windows' to 'left-justified text' - a different concern (alignment, not rotation) expressed in unexplained jargon. An agent cannot tell whether this rotates, realigns, or restyles text, nor what 'attribute windows' refers to, so the purpose is ambiguous rather than stated.

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?

There is no when-to-use guidance, no prerequisite (e.g. which schematic must be loaded), and no routing to alternatives such as set_component_symbol_text or set_component_parameters, which also manipulate component text. The agent must guess when this tool is appropriate.

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

open_schematic_in_guiOpen Schematic In GuiC

Launch LTspice on a schematic without -b.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnly=false, openWorld=true, non-idempotent, non-destructive. The description adds that this launches in GUI rather than batch mode ('without -b'), which is useful context. It does not disclose whether a desktop/GUI environment is required, how sessions are tracked, or how this interacts with the live-GUI session tools that clearly exist among the siblings.

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?

A single short, front-loaded sentence with no filler. It is efficient, though arguably terse enough that clarity is traded away 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?

For a stateful, open-world GUI-launch tool with no output schema and an undocumented required parameter, the description is thin. It should explain session lifecycle behavior and the required argument, especially given the surrounding live-GUI session family.

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 only 50%; the required schematic_path parameter has no schema description, and the description says nothing about path format, absolute vs relative, or how it relates to workspace_root. The description does not compensate for the coverage 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?

States a specific verb (Launch) and resource (LTspice on a schematic), and the '-b' qualifier distinguishes it from batch-mode simulation tools. However, it does not explicitly name the sibling it differs from (refresh_schematic_in_gui, close_live_gui_session), leaving differentiation partly inferential.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as refresh_schematic_in_gui or close_live_gui_session. The agent must guess whether this starts a new session or reopens an existing one.

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

plot_waveformsPlot WaveformsB

Plot one or more comma-separated signals to a PNG.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalsYes
raw_pathYes
output_pathNo
workspace_rootNoOptional per-call workspace root override.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is covered. The description adds only the PNG output format; it omits where the file lands by default, whether an existing file is overwritten, and what the required raw_path denotes.

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?

A single front-loaded sentence with the verb and result up front and no filler. It is efficient, though the brevity contributes to the missing parameter detail noted elsewhere.

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?

For a four-parameter tool with no output schema and 25% schema coverage, the description is under-specified: it never explains raw_path, how/where the PNG is written, or whether plotting depends on prior simulation output. An agent would be guessing on key 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 only 25% (just workspace_root), leaving signals, raw_path, and output_path undocumented in the schema. The description partially compensates by stating signals are comma-separated and that output is a PNG, but raw_path and output_path semantics remain entirely unexplained.

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?

States a specific verb+resource (plot waveforms/signals) and the output artifact (PNG), which distinguishes it from streaming/export siblings like export_waveform_ascii or export_waveform_csv. It does not explicitly name a sibling to route against, so it falls short of a 5.

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?

There is no when-to-use or when-not-to-use guidance and no mention of alternatives such as compare_waveforms or export_waveform_csv. The agent must infer that this tool is for visual rendering while the export tools are for data formats.

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

poll_live_gui_sessionPoll Live Gui SessionB
Read-onlyIdempotent

Report that polling a GUI session is unsupported.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

B3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds a distinct and important behavioral fact beyond them: this tool performs no actual polling and only reports unavailability, which prevents an agent from expecting streamed session data or side effects. It still omits what the response payload looks like, but the core no-op disclosure is valuable.

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?

One short, front-loaded sentence with no filler — appropriate for a stub capability. It is arguably terse to the point of under-specification, but nothing in the sentence is wasted.

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 deliberately unsupported stub with no output schema, the description conveys the essential outcome (unsupported). But it does not tell the agent what to do next — e.g., use poll_live_gui_session_events or describe_live_gui_support — nor what the returned report contains, so it is only minimally complete.

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?

With 2 parameters and only 50% schema description coverage, the burden falls on the description to explain semantics. The description says nothing about schematic_path (undocumented in the schema) or workspace_root, and gives no hint about what a GUI session is keyed on. It adds zero meaning beyond the schema.

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 a specific behavior — the tool reports that GUI-session polling is unsupported — which is honest and alert-worthy given the name suggests actual polling. However it never distinguishes itself from the sibling poll_live_gui_session_events, which is the tool an agent would reasonably expect to use instead, so the agent is left guessing why a 'poll' tool exists at all.

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 when-to-use guidance is given. The description implies calling it yields an 'unsupported' report, but it does not mention the working alternative (poll_live_gui_session_events) or describe_live_gui_support, nor state that agents should generally avoid calling it. The agent must open the sibling list and infer the intended routing.

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

poll_live_gui_session_eventsPoll Live Gui Session EventsC
Read-onlyIdempotent

Report that GUI events are unsupported.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds one behavioral fact (events unsupported), which is useful, but it omits the crucial detail of what actually happens on invocation — an error, an empty list, or a status string — which is the single most important thing to know for a tool whose sole purpose is reporting a negative.

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?

One short sentence is front-loaded and wastes no words, which is structurally sound. But the brevity here reflects under-specification rather than disciplined concision — the sentence earns its place yet leaves obvious questions unanswered for a 2-parameter tool.

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?

With no output schema and a required parameter lacking any description, the description would need to explain the call's result and required inputs. It does neither, so an agent cannot predict the outcome of calling this tool, making it contextually incomplete for anything beyond signaling that the feature is absent.

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 description coverage is only 50%: schematic_path is required but completely undocumented in both schema and description, while workspace_root is covered by the schema. The description adds no parameter meaning at all, leaving the mandatory argument unexplained against a low-coverage schema where the description is expected to compensate.

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 does convey a concrete fact — GUI session events are not supported — which is genuinely distinct information from the sibling poll_live_gui_session, whose behavior it must not be confused with. However, 'Report that GUI events are unsupported' does not state the verb+resource pairing an agent expects (poll what, return what), and never references the schematic_path it requires. It is understandable but under-specified as a purpose statement.

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?

There is no explicit when-to-use or when-not-to-use guidance. The agent can infer that this tool is a dead end for event streaming, but it is not told whether to call it to confirm unsupported status, to skip it entirely, or which sibling (poll_live_gui_session, describe_live_gui_support) supersedes it. No alternatives are named.

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

poll_remote_runPoll Remote RunC
Read-onlyIdempotent

Return the status of a background session.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally and the description adds nothing on top of it. It omits everything operationally relevant to a polling tool: cadence, what status values can be returned, and whether a terminal state is signaled.

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?

It is a single short sentence with no padding, and the key verb is front-loaded. Brevity here is under-specification rather than effective conciseness, since it omits information an agent needs.

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?

With no output schema and no parameter documentation, the description must carry the load, but it says nothing about the returned status shape or how it fits into the remote-run lifecycle. For a poll tool in a family of remote-session tools, this is substantially incomplete.

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?

The single parameter session_id has 0% schema description coverage, so the description is the only place semantics could be supplied, and it never mentions the parameter. It does not say where the session ID comes from (presumably submit_remote_simulation) or what form it takes.

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 gives a verb and resource ("Return the status of a background session"), so the basic action is clear. However, it does not distinguish itself from close siblings like poll_live_gui_session, poll_live_gui_session_events, or get_batch_status, nor does it explain what a "background session" is relative to a remote run.

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?

There is no when-to-use guidance at all. An agent cannot tell from the text whether this should be called after submit_remote_simulation, how often to poll, when to stop, or how it relates to close_remote_session and download_remote_artifacts.

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

prepare_acPrepare AcC

Insert a .ac directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
f_endNo
sweepNo
pointsNo
f_startNo
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and idempotentHint=false, so the write/non-idempotent profile is known. The description adds nothing beyond that: it does not say what file is mutated, whether the directive is appended or replaces an existing one, or what happens on repeat calls. For a mutation tool the description contributes essentially 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.

Conciseness2/5

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

The single sentence is short and has no padding, but it is under-specified rather than concise. Brevity here comes from omitting necessary information, not from tight editing.

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

Completeness1/5

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

With 6 parameters, 17% schema coverage, no output schema, and no annotations explaining the mutation, the description is far too thin. An agent cannot determine what values to supply for the sweep parameters or what the call will change in the schematic.

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 only 17% (just workspace_root), and the description compensates for none of it. The domain-critical parameters f_start, f_end, sweep, and points — the actual AC sweep configuration — are undocumented in both the schema and the description, leaving their formats and units entirely unknown.

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 gives a verb ('Insert') and a resource ('.ac directive'), but 'Ac' is never expanded and the statement largely restates the tool name 'prepare_ac'. It makes no attempt to distinguish itself from the many sibling analysis preparers (prepare_dc_sweep, prepare_transient, prepare_noise), leaving an agent to infer the relationship from naming convention alone.

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?

There is no guidance on when to use this tool versus prepare_dc_sweep, prepare_transient, or the other prepare_* siblings, nor any stated prerequisite such as a prior create_schematic call. The agent must guess the context entirely from the tool name.

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

prepare_dc_sweepPrepare Dc SweepC

Insert a .dc directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepYes
stopYes
startYes
sourceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already disclose readOnlyHint=false and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — it does not say whether the directive is appended to an existing netlist, whether repeated calls duplicate directives (idempotentHint=false), or what a successful insertion returns. Almost no value beyond structured fields.

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?

One short sentence with no wasted words and the action front-loaded, but the brevity is under-specification rather than economy — it omits information the agent needs. Not verbose, just incomplete.

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

Completeness1/5

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

A six-parameter, five-required mutation tool with no output schema and no parameter documentation needs the description to carry the load. It delivers a single jargon sentence, leaving the sweep syntax, the effect on the target file, and the return behavior all unspecified.

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 only 17% — five required parameters (schematic_path, source, start, stop, step) are bare strings with no documentation, and the description explains none of them. Critically, the expected syntax for SPICE sweep values (e.g., '1m', '10k', 'dec/oct/lin') is left entirely ambiguous, which will cause incorrect calls.

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 verb 'Insert' plus the target 'a .dc directive' does identify the action, but '.dc' is SPICE jargon that is never unpacked, and nothing distinguishes this from sibling preparation tools such as prepare_ac, prepare_transient, or prepare_temperature_sweep. The name carries most of the meaning; the description essentially restates it in shorthand.

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?

There is no guidance on when to use this versus the many other prepare_* directive tools, nor any statement of prerequisites (e.g., that a netlist/schematic must already exist) or what to do next. The agent must infer everything from the tool name.

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

prepare_fourPrepare FourC

Insert a .four directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
tracesYes
frequencyYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false; the description's 'Insert' is consistent but adds nothing beyond them. It does not say whether repeated calls duplicate the directive, what the tool requires of the schematic, or that it writes into an existing schematic file.

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

Conciseness2/5

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

The single sentence is front-loaded and short, but this is under-specification rather than conciseness. It does not earn its brevity by conveying the essential directive semantics an agent needs.

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

Completeness1/5

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

A write tool with no output schema, 75% undocumented parameters, and no annotations-redundant behavioral notes. The description leaves an agent unable to invoke it correctly for its primary parameters.

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 only 25% (just workspace_root), and the description supplies zero meaning for the three required parameters. For a `.four` directive the crucial arguments are frequency and traces, and the description never maps them.

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?

It gives a specific verb ('Insert') and resource (a `.four` directive), but `.four` is bare jargon that only restates the tool name's 'four'. Unlike siblings such as prepare_ac or prepare_noise, an agent gets no explanation of what the directive actually does (Fourier analysis setup), so differentiation rests entirely on the token name.

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?

There is no guidance on when this tool should be invoked versus the other ~18 prepare_* siblings, no prerequisites (e.g. it requires a schematic_path), and no exclusions. The agent is left to infer usage entirely from the name.

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

prepare_funcPrepare FuncC

Insert a .func directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
definitionYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), so the agent knows this mutates state and is not idempotent. The description adds nothing beyond that: it does not say whether the directive is appended, replaces an existing one, or where it is placed, which matters given idempotentHint=false.

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?

It is a single front-loaded sentence with no waste, which is good. But the brevity crosses into under-specification for a required-parameter mutation tool rather than being genuinely 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?

For a 3-parameter mutation tool with no output schema and low schema coverage, the description is too thin. It omits the mechanics of insertion, expected directive syntax, and any relationship to sibling prepare_* calls, leaving real gaps an agent must guess at.

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 description coverage is only 33% – workspace_root is documented, while the required 'definition' and 'schematic_path' have no descriptions. The description provides no compensating detail about the expected shape of the .func definition string, so parameter meaning remains ambiguous.

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 a specific verb and resource ('Insert a .func directive'), which is more than a tautology. However, it never explains what a .func directive is or how it differs from the many sibling prepare_* tools (prepare_param, prepare_meas, prepare_step, etc.), so an agent unfamiliar with SPICE cannot confidently distinguish it.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives or the order in which this should be called relative to related prepare_* directives. The agent is left to infer everything from the name.

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

prepare_icPrepare IcC

Insert a .ic directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
assignmentsYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and idempotentHint=false, so the agent knows this mutates state and may not be safe to repeat, but the description adds nothing beyond 'insert' — not where the directive is written, whether an existing .ic is replaced or duplicated, or what happens to the schematic. With annotations only supplying bare flags, the description's near-total silence is a real gap.

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

Conciseness2/5

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

One fragment of a sentence with stray double-backtick markdown artifacts. It is not concise-but-complete; it is under-specified, leaving the agent with less information than it needs to call the tool.

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?

For a mutating tool with no output schema, two undocumented required parameters, and only flag-level annotations, the description should carry far more weight. It explains neither the directive's semantics nor its insertion behavior, so an agent cannot confidently invoke it.

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 description coverage is 33% — only the optional workspace_root is documented. The two required parameters, assignments and schematic_path, are undocumented in both schema and description; notably the assignments string format (e.g., 'V(out)=0') is never specified, and the description does not compensate for that gap.

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

Purpose2/5

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

The description essentially restates the name and title: 'prepare_ic' / 'Prepare Ic' becomes 'Insert a .ic directive.' It names a verb and a token, but '.ic' is never explained (initial-condition directive for transient analysis), so an agent unfamiliar with SPICE learns nothing. It also does nothing to distinguish itself from the many sibling prepare_* directive tools.

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?

There is no when-to-use guidance, no prerequisites (e.g., a schematic must already exist), and no mention of alternatives such as prepare_nodeset or prepare_transient, which are the closest siblings. The agent is left to infer everything from the tool name.

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

prepare_loop_gain_analysisPrepare Loop Gain AnalysisC

Stage an AC loop-gain run using the extra-source method.

ParametersJSON Schema
NameRequiredDescriptionDefault
f_endNo
f_startNo
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.
injection_sourceNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations declare this is not read-only, not idempotent, not destructive, and closed-world, so the safety profile is known. The description adds nothing beyond that: it doesn't say what 'staging' mutates, whether it touches the schematic file, what workspace state it requires, or what artifacts it produces.

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?

It is a single front-loaded sentence with no wasted words, but that brevity comes at the cost of under-specification rather than efficiency. For a 5-parameter engineering tool, one terse clause is too thin.

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 (AC loop-gain setup with an extra-source injection), five parameters, no output schema, and only generic annotations, the description is materially incomplete. An agent could not confidently call this without inspecting the schema and guessing at the frequency/injection semantics.

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 only 20% (only workspace_root is documented), so the description carries the burden of explaining f_start, f_end, schematic_path, and injection_source — and it explains none of them. 'Extra-source method' loosely hints at injection_source, but the frequency range and schematic inputs remain opaque.

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 names a specific verb ('stage') and resource ('AC loop-gain run') plus a method qualifier ('extra-source method'), so the domain is identifiable. However, 'stage' is ambiguous about whether it configures directives, generates a netlist, or runs the simulation, and nothing distinguishes it from siblings like prepare_ac or measure_stability_margins.

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?

There is no guidance on when to use this tool, what prerequisites it needs, or how it relates to the many other 'prepare_*' tools. The agent is left to infer that this is the loop-gain variant, with no stated conditions or alternatives.

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

prepare_measPrepare MeasC

Insert a .meas directive without replacing other measurements.

ParametersJSON Schema
NameRequiredDescriptionDefault
statementYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is partly covered. The description adds useful context that existing measurements are preserved, which corroborates destructiveHint=false, but says nothing about repeat-call behavior or failure modes.

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?

A single front-loaded sentence with no filler. It is appropriately sized, though at the cost of the coverage gaps noted above.

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?

For a mutating, non-idempotent tool with no output schema and two undocumented required parameters, the description is too thin. It omits the expected `statement` syntax and the response/confirmation behavior an agent would need to call it reliably.

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 description coverage is only 33% (just `workspace_root`), so the description must carry the burden for `statement` and `schematic_path`. Mentioning the `.meas` directive loosely implies what `statement` should contain, but neither parameter's format nor the target-file role of `schematic_path` is explained.

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?

States a specific verb (insert) and a concrete resource (the `.meas` directive), so an agent knows it appends a SPICE measurement statement. It does not explicitly distinguish itself from the many other `prepare_*` siblings, but the named directive makes the resource 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?

There is no statement of when to use this versus alternatives such as `prepare_save`, `prepare_param`, or `list_measures`. The only hint is the implied additive behavior ('without replacing other measurements'), which is a behavior note rather than usage routing.

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

prepare_monte_carloPrepare Monte CarloD

Point a component at mc() and step the run index.

ParametersJSON Schema
NameRequiredDescriptionDefault
runsNo
nominalYes
referenceYes
toleranceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.9/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and idempotentHint=false, so the agent knows this mutates state. "Step the run index" adds a fragment of behavioral context, but the description never says what on the schematic is modified, whether it is reversible, or what state it consumes and produces.

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

Conciseness2/5

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

One short sentence is front-loaded, but it is under-specified rather than concise. The terseness omits information the agent needs, so brevity here does not earn its place.

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

Completeness1/5

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

For a 6-parameter mutation tool with no output schema and near-zero schema description coverage, the description is wholly inadequate. Nothing tells the agent what a valid call looks like or what to expect afterward.

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 17% across 6 parameters, so the description is expected to compensate and does not. It alludes loosely to a "component" and a "run index" but never explains reference, nominal, tolerance, runs, or schematic_path semantics.

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

Purpose2/5

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

"Point a component at mc() and step the run index" is cryptic shorthand: it never states what prepare_monte_carlo actually does to the schematic or how it differs from sibling run_monte_carlo. An agent must guess what "mc()" is and what "point a component at" means, so purpose is only obliquely conveyed.

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 when-to-use, prerequisites, or alternatives are given. The "prepare_" prefix only weakly implies it precedes a run, and the description never routes the agent to run_monte_carlo (the obvious sibling) or distinguishes it from prepare_worst_case.

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

prepare_netPrepare NetC

Insert a .net network-parameter directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
rinNo
routNo
outputYes
sourceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already say readOnlyHint=false and destructiveHint=false, and "Insert" is consistent with a write, so there is no contradiction. However, the description adds no behavioral context beyond that: it does not say the directive is appended to the schematic file, that existing directives are preserved, that calls are non-idempotent (which annotations flag with idempotentHint=false), or whether a save is needed for it to take effect.

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?

A single short sentence with zero filler, front-loading the action and the artifact. It is efficient, though its brevity is a symptom of under-specification rather than of disciplined editing.

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?

For a 6-parameter mutation tool with no output schema and 83% of parameters undocumented anywhere, this description is far too thin. The only mitigating factor is that annotations cover the safety profile, but the agent still lacks the information needed to use the ports meaningfully.

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 description coverage is only 17% (just workspace_root), and the description supplies no meaning for rin, rout, source, output, or schematic_path — the five undocumented parameters that actually define the directive's ports. Beyond the phrase "network-parameter directive" there is nothing tying the parameters to ports or node names.

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 gives a verb and a resource ("Insert a .net network-parameter directive"), so the agent knows it writes a SPICE directive, but it never says what a .net / network-parameter directive does or where it lands (a schematic). It also does nothing to separate it from the large family of sibling prepare_* directive tools such as prepare_ac, prepare_save, or prepare_options.

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?

There is no when-to-use guidance, no prerequisite or ordering advice, and no mention of alternatives among the many prepare_* siblings. The agent must infer entirely from the tool name and from domain knowledge of what a .net directive is for.

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

prepare_nodesetPrepare NodesetD

Insert a .nodeset directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
assignmentsYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.6/5.0
Behavior2/5

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

Annotations declare it is a non-readonly write (readOnlyHint=false), non-idempotent, and non-destructive. The description adds nothing about mutation behavior—whether it appends or replaces, what happens if a nodeset already exists, or what errors may occur. With annotations present, the bar is lower, but the description still carries nearly zero additional 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.

Conciseness2/5

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

It is technically concise (one sentence), but that brevity stems from under-specification, not disciplined editing. No structure, no front-loaded key information beyond a bare restatement.

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

Completeness1/5

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

A write tool with 3 params, 33% schema coverage, no output schema, and no annotations explaining behavior. The description does nothing to fill the substantial gaps: it does not explain what a nodeset directive is, where it is inserted, or the required 'assignments' format. Complete enough only in the trivial sense that the name is repeated.

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 coverage is 33%—only workspace_root has a description. The two required parameters, 'schematic_path' and 'assignments', are undocumented in both schema and description. The description provides no hint of their meaning or format, leaving the agent unable to supply them correctly.

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

Purpose2/5

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

The description restates the name/title almost verbatim: 'Insert a .nodeset directive.' It names a verb and an artifact but does not explain what a nodeset is or why one would insert it, which is critical since this is niche SPICE domain terminology. It does not distinguish itself from numerous siblings like prepare_ic, prepare_options, or prepare_param.

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

Usage Guidelines1/5

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

No guidance at all on when to use this vs alternatives. There are many 'prepare_*' siblings with overlapping semantics, and the description gives no criteria to choose between them or any prerequisites.

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

prepare_noisePrepare NoiseC

Insert a .noise directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
f_endNo
sweepNo
outputYes
pointsNo
sourceYes
f_startNo
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2/5.0
Behavior2/5

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

Annotations only declare that this is not read-only, not idempotent and not destructive; they say nothing about what is actually modified. The description adds no behavioral context: it does not say the directive is written into the schematic at schematic_path, whether an existing .noise directive is replaced or appended, or what permissions/state are required. With annotations this thin, the description should carry more of that burden.

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

Conciseness2/5

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

One short sentence with no padding, but its brevity reflects under-specification rather than discipline. It is front-loaded only in the trivial sense that there is nothing else to say.

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

Completeness1/5

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

For an 8-parameter mutation tool with no output schema and only minimal annotations, the definition is far too thin. An agent cannot know what a valid call looks like (required schematic_path/output/source semantics), what gets changed on disk, or how to confirm success.

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 only 13% (just workspace_root), and the description provides no parameter information at all. The 8 parameters, including analysis-defining ones like source, output, sweep, points, f_start and f_end, are entirely undocumented, so the description fails to compensate for the schema gap.

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?

It states a specific verb (Insert) and a resource (a ``.noise`` directive), which is more than a tautology. However, it never explains what a ``.noise`` directive accomplishes or how it differs from the many sibling prepare_* directives (prepare_ac, prepare_transient, etc.) or from read_noise, which reads noise results. The purpose is technically stated but opaque to an agent unfamiliar with SPICE.

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?

There is no when-to-use guidance, no prerequisites (e.g. must a schematic already exist at schematic_path?), and no mention of alternatives such as read_noise for retrieving results or the other prepare_* analysis directives. The agent is left to infer everything from the tool name.

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

prepare_opPrepare OpC

Insert a .op directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare this is a mutation (readOnlyHint=false) that is non-idempotent and non-destructive. The description adds nothing beyond 'Insert' — it doesn't say where the directive lands, whether repeated insertion duplicates it (relevant given idempotentHint=false), or whether the schematic must be open/saved.

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?

It is a single short sentence with no filler, so it is concise. But at this length it is under-specified rather than tight — brevity comes at the cost of any useful semantics.

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?

For a mutation tool with no output schema and only half its parameters documented, the description is far too thin. An agent cannot confirm what the directive does, where it is inserted, or the side effects of repeating the call.

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 only 50%, and the description supplies no parameter meaning at all. The required schematic_path and its accepted form are left entirely to the schema/agent inference, and workspace_root's role is undocumented in the description.

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 a specific verb ('Insert') and resource ('.op directive'), which is better than a tautology. However it never explains what an '.op' directive does (SPICE operating-point analysis) and does not differentiate itself from the many sibling 'prepare_*' tools beyond the directive token.

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?

There is no indication of when to use this tool versus the twenty-plus sibling prepare_* directives, nor any prerequisite or exclusion guidance. The agent must infer the appropriate analysis context entirely from the tool name.

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

prepare_optionsPrepare OptionsC

Insert a .options directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionsYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the mutation profile is covered. The description adds only that it inserts a directive, saying nothing about overwrite behavior when a directive already exists or what happens to the target schematic. With annotations carrying the safety profile, this is adequate but thin.

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?

A single short sentence with no wasted words and the core action front-loaded. It is efficient, though the brevity borders on under-specification rather than tightness.

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?

For a mutating tool with no output schema, 3 parameters, and two undocumented required inputs, one sentence is insufficient. An agent cannot tell what value to pass for options, what .options controls, or how the insertion affects an existing schematic.

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 description coverage is 33%: only workspace_root is documented, while the two required parameters (options, schematic_path) are bare. The description gestures at the 'options' parameter but never defines its accepted syntax, and schematic_path is entirely unaddressed, so it fails to compensate for the coverage gap.

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?

It gives a verb+resource ('Insert a .options directive'), which is more specific than the name alone, but it never explains what a .options directive is or what the tool does to the schematic. Among a large family of prepare_* siblings (prepare_param, prepare_net, prepare_op, etc.), nothing here distinguishes this tool's role beyond the directive name.

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?

There is no when-to-use guidance, no prerequisites, and no named alternative among the many sibling prepare_* tools. The agent must infer from the directive name alone when this is the right call.

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

prepare_paramPrepare ParamC

Insert a .param directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
valueYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.6/5.0
Behavior2/5

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

Annotations declare this is a non-readonly, non-idempotent, non-destructive write, so the safety profile is partly covered. The description adds nothing beyond that: it doesn't say what file/state is mutated, whether repeated inserts create duplicates (idempotentHint=false suggests they do), or what happens on failure.

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?

A single short sentence with no waste and the action front-loaded, but it is under-specified rather than genuinely concise for a 4-parameter mutation tool.

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?

With no output schema, no usage guidance, and 75% of parameters undocumented, the definition leaves the agent without enough information to invoke this correctly in a schematic-editing workflow.

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 description coverage is only 25% (just the optional `workspace_root`), and the description supplies no meaning for `name`, `value`, or `schematic_path` — e.g. whether `value` is a numeric literal, expression, or parameter reference. It fails to compensate for the coverage 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?

States a concrete verb ('Insert') and resource (a SPICE `.param` directive), which is more specific than the bare name 'prepare_param'. It does not, however, distinguish this tool from close siblings such as `set_parameter`, `set_component_parameters`, or `run_param_sweep`, leaving the agent to guess which one writes a top-level .param directive.

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?

There is no guidance on when to use this versus `set_parameter` (component parameter) or `run_param_sweep` (sweeping a parameter). No prerequisites, no mention of ordering or whether a schematic must already be open.

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

prepare_savePrepare SaveC

Insert a .save directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
tracesYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false (a mutation) and destructiveHint=false, so the basic safety profile is covered. The description adds nothing beyond the operation name: it doesn't say what gets modified (which schematic), whether an existing .save directive is replaced/appended, or that it requires a schematic 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 single sentence is front-loaded with the verb and has zero filler. But at this length it is under-specification rather than genuine conciseness, leaving the agent without enough to act confidently.

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?

For a non-idempotent mutation tool with no output schema, 33% param coverage, and two undocumented required parameters, the description is too thin. It never explains the .save directive's effect, the meaning of 'traces', or what the tool returns, so an agent cannot use it reliably.

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 only 33%; only the optional workspace_root is documented. The two required parameters (traces, schematic_path) are undocumented in both the schema and the description, and the description provides no clue what 'traces' means, so it fails to compensate for the coverage gap.

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 gives a specific verb (Insert) and resource (.save directive), so an agent knows it mutates a schematic by adding a directive. However, it does nothing to distinguish itself from the many sibling prepare_* tools (prepare_ac, prepare_dc_sweep, etc.) that follow the same 'insert a directive' pattern, and '.save' semantics are left implicit.

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

Usage Guidelines1/5

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

No when-to-use guidance, no prerequisites, and no mention of the alternatives among the large prepare_* family. The agent must infer when a .save directive is needed versus other directives or save_schematic_as.

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

prepare_stepPrepare StepC

Insert a .step directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
statementYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the mutation/safety profile is covered structurally, and the description's 'Insert' is consistent with that (no contradiction). Beyond repeating the operation, the description discloses nothing about side effects, whether the directive is appended or replaces an existing one, or how it interacts with the schematic being edited.

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?

It is a single short sentence with no padding, which is efficient, but it is under-specified for a tool with two required parameters rather than genuinely concise. There is no front-loaded scope statement beyond the directive name.

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?

For a non-read-only mutation tool with 33% parameter coverage, no output schema, and numerous confusable siblings, the description omits too much: the directive's purpose, its parameters, and how it differs from the other prepare_* tools. An agent cannot reliably invoke it correctly from this definition alone.

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 description coverage is only 33% — only workspace_root is documented — and the two required parameters, schematic_path and statement, are unexplained in both the schema and the description. The description adds no meaning about what 'statement' should contain (e.g., the raw .step syntax), leaving the agent to guess.

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 names a verb (Insert) and a resource (.step directive), so the basic action is identifiable. However, it does not clarify that this is a SPICE parameter-sweep directive rather than something related to step-response measurement (see siblings measure_step_response, list_steps), and it does not distinguish itself from the large family of prepare_* directive tools (prepare_param, prepare_dc_sweep, prepare_transient).

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?

There is no guidance on when to use this tool versus the many sibling prepare_* directives, no prerequisites, and no indication of what conditions call for a .step directive. The single sentence provides no context that would help an agent route between prepare_step and, say, prepare_param or prepare_dc_sweep.

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

prepare_temperature_sweepPrepare Temperature SweepC

Insert a .step temp directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepYes
stopYes
startYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the agent knows this writes and is non-idempotent. The description adds only the literal directive text and nothing about whether the write mutates the file in place, appends on repeat calls, or has side effects on existing analyses. Minimal added value over the annotations.

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?

It is a single short fragment with no wasted words, so it is not bloated. But the size comes from under-specification rather than disciplined editing, and there is no structure to front-load because there is only one clause.

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?

For a mutating tool with four required parameters, no output schema, no nested objects, and only 20% schema coverage, the description is far too thin: it omits the target file, the accepted value format for start/stop/step, and any effect on prior directives. None of the structured fields fill these gaps.

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 description coverage is 20% – only workspace_root is documented – leaving all four required parameters (schematic_path, start, stop, step) with no format information anywhere. The description supplies nothing to compensate; "temperature sweep" only loosely implies start/stop/step are temperatures, and with all params typed as bare strings the agent gets no units or syntax guidance.

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 names a concrete verb and artifact ("Insert a ``.step temp`` directive"), so the agent knows the output is a SPICE temperature-sweep directive. However it never says what the directive is inserted into (schematic? netlist? which file), and it does nothing to separate this from near-identical siblings such as prepare_step or prepare_dc_sweep. Specific but under-resolved.

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?

There is no when-to-use guidance at all: no statement that this is for temperature sweeps versus the generic prepare_step or prepare_dc_sweep, no prerequisite (e.g. an existing schematic), and no ordering advice relative to run_simulation. The agent must infer usage purely from the tool name.

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

prepare_transfer_functionPrepare Transfer FunctionC

Insert a .tf directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
outputYes
sourceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2/5.0
Behavior2/5

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

Annotations already disclose the safety profile: readOnlyHint=false (a mutation) with destructiveHint=false, which is consistent with "insert". The description adds nothing beyond that — no statement about what gets modified (the schematic at schematic_path), whether insertion is idempotent, or whether a prior schematic must exist. With annotations present the bar is lower, but the description contributes essentially 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.

Conciseness2/5

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

It is a single short sentence with no padding, which is good, but the brevity is under-specification rather than concision. There is no front-loaded purpose statement or any structure to build on.

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

Completeness1/5

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

For a 4-parameter mutation tool with no output schema, no usage guidance, and 25% schema coverage, the definition is far too thin. Nothing tells the agent the required parameters' meaning, the preconditions, or how the inserted directive relates to the rest of the netlist.

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 25% (only workspace_root is documented), and three required parameters — output, source, schematic_path — are bare strings with no explanation. The description does not compensate at all: it says nothing about what output/source refer to (the transfer-function output node and input source) or the required schematic path. An agent cannot fill these correctly from the definition.

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?

"Insert a .tf directive" gives a concrete verb (insert) and a concrete artifact (.tf directive), which maps to the tool name prepare_transfer_function. However, it never states that .tf is the SPICE transfer-function analysis directive, and it offers no differentiation from the many sibling directive-inserters (prepare_ac, prepare_op, prepare_dc_sweep). Purpose is inferable but vague to an agent unfamiliar with SPICE dot-commands.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the ~15 prepare_* directive tools. The agent must guess whether it needs this or prepare_ac/prepare_op from the branch name alone.

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

prepare_transientPrepare TransientC

Insert a .tran directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
t_stepNo
t_stopYes
t_startNo
max_stepNo
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already disclose that this is a write operation (readOnlyHint=false) that is non-destructive and non-idempotent. The description adds no behavioral context such as whether it overwrites an existing .tran directive, whether it modifies a file or in-memory schematic, or what happens on invalid input.

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

Conciseness2/5

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

The single sentence is front-loaded and has no wasted words, but it is under-specified rather than concise. For a six-parameter mutation tool, this size is not appropriate to the complexity.

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

Completeness1/5

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

Given the complexity (six parameters, a mutation, no output schema) and the low schema description coverage, the description is far too thin. It omits parameter semantics, usage context, and any behavioral details, leaving the agent with insufficient information to invoke it 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 only 17% (just workspace_root), leaving five parameters undocumented in the schema, and the description provides zero parameter information. It does not explain the units, formats, defaults, or roles of t_stop, t_step, t_start, max_step, or schematic_path, so it fails to compensate for the schema 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 names a specific verb ('Insert') and a specific artifact ('.tran directive'), so an agent can tell it configures transient analysis. It does not explicitly differentiate itself from siblings like prepare_ac or prepare_dc_sweep, but the directive name implies the distinction.

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?

There is no when-to-use guidance, no mention of prerequisites, and no reference to alternative tools. The agent must infer from the tool name that this is for transient analysis rather than any of the other prepare_* tools.

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

prepare_worst_casePrepare Worst CaseC

Step a component between two corner values with table().

ParametersJSON Schema
NameRequiredDescriptionDefault
lowYes
highYes
referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and non-idempotent, so the mutation/side-effect profile is partly covered. The description adds only the cryptic mechanism hint 'with table()' and says nothing about what gets modified, whether it must precede run_worst_case, or any auth/ordering constraints.

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?

A single front-loaded sentence with no filler. It is efficient, though the 'with table()' clause is too cryptic to fully earn its place.

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?

For a mutating tool with no output schema, 20% schema coverage, and no annotations explaining behavior, the description is far too thin. It omits required-parameter meaning, ordering relative to run_worst_case, and what the preparation produces.

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 description coverage is only 20% (just workspace_root), so the description must compensate. It loosely maps 'component' to reference and 'two corner values' to low/high, but schematic_path is unexplained and no format or syntax guidance is given for any of the four required parameters.

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 a specific verb and object ('step a component between two corner values'), which conveys a corner/worst-case sweep operation. However, it never says it prepares a worst-case analysis directive, and it does not differentiate itself from siblings like run_worst_case or prepare_step. The purpose is only partially clear.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as prepare_step or run_worst_case. An agent gets no signal for choosing this over other prepare_* or worst-case tools.

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

read_componentRead ComponentC
Read-onlyIdempotent

Read one component.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds nothing beyond that — no mention of error behavior for a missing reference, whether a schematic must be loaded first, or what the read returns.

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

Conciseness2/5

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

The sentence is front-loaded and wastes no words, but four words is under-specification rather than conciseness. There is room for one clarifying clause (required inputs, return shape) that would earn its place with no cost to 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?

With no output schema, two undocumented required parameters, and several closely related sibling tools, the description is far too thin. An agent cannot tell what it will get back or how to distinguish this from read_component_symbol.

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 only 33% (only workspace_root has a description), so the description must compensate for reference and schematic_path — yet it says nothing. It does not indicate that 'reference' is a designator like 'R1' or what form schematic_path takes, leaving both required parameters ambiguous.

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?

"Read one component" gives a verb and a resource and the word 'one' weakly distinguishes it from list_components. But it does not say what a component record contains or how it differs from read_component_symbol or inspect_schematic, so an agent cannot confidently route between them from the description alone.

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?

There is no statement of when to use this versus siblings like list_components, read_component_symbol, or inspect_schematic, and no prerequisites or exclusions are given. The only implicit signal is the singular 'one component'.

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

read_component_symbolRead Component SymbolC
Read-onlyIdempotent

Read an .asy symbol.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbol_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent, non-destructive behavior, so the safety profile is covered. The description adds no further context: it doesn't say what is returned, whether the path is resolved against workspace_root, or what happens if the symbol does not exist. For a file-reading tool this is a meaningful gap.

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 single sentence is front-loaded and free of filler, which is good, but it is so terse that it borders on under-specification rather than genuine conciseness. No wasted words, but also very little content.

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?

With no output schema and no description of the returned symbol representation, the definition leaves the agent unable to predict the result of a read. Combined with the unexplained .asy concept and the undocumented required parameter, the definition is not complete enough for correct invocation.

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?

Only 50% schema coverage: workspace_root is described in the schema, but symbol_path has no description in either schema or prompt. The description says nothing about path format (absolute vs. workspace-relative) or resolution rules, so it fails to compensate for the undocumented required parameter.

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?

States a verb plus resource ('Read' + '.asy symbol'), but never explains what an .asy symbol is or how it differs from the closely-named sibling read_component or from create_asy_symbol/export_symbol_to_asy. An agent can guess the intent but cannot confidently disambiguate from 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 when-to-use or when-not-to-use guidance is present. With siblings like read_component, create_asy_symbol, and add_component_from_asy in the same family, the description should route the agent, but it offers nothing.

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

read_device_operating_pointsRead Device Operating PointsC
Read-onlyIdempotent

Read operating-point rows from a log.

ParametersJSON Schema
NameRequiredDescriptionDefault
log_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that — no note on row volume, whether output is parsed versus raw text, or how it relates to the sibling readers.

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?

A single short sentence with zero filler and the key action front-loaded. It is efficient, but the terseness borders on under-specification rather than true conciseness, so it earns only a middling score.

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?

With no output schema, the description should describe what is returned (raw rows, parsed fields, units, ordering). It says nothing about return shape or how results relate to summarize_device_operating_points, leaving the agent under-informed for a read tool.

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 50%: workspace_root is documented, but log_path (the required parameter) has no description. The phrase "from a log" loosely implies log_path, but the description adds no format, path-resolution, or override semantics to compensate for the coverage gap.

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 gives a concrete verb and resource ("Read operating-point rows from a log"), so the basic purpose is clear. However, it does not differentiate from close siblings such as filter_device_operating_points, summarize_device_operating_points, or read_log, leaving the agent to guess which reader to use.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives despite several overlapping siblings (filter_device_operating_points, summarize_device_operating_points, read_log). Usage must be inferred entirely from the name.

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

read_fourierRead FourierB
Read-onlyIdempotent

Read the Fourier section of a log.

ParametersJSON Schema
NameRequiredDescriptionDefault
log_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds that the read targets the Fourier section of a log, which is useful scope but not substantial behavioral detail.

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 sized for a simple read tool.

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?

For a specialized log-reading tool among many read_* and prepare_* siblings, the description does not explain prerequisites, when Fourier output is available, or how it relates to read_log. It identifies the source only vaguely.

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 50%: workspace_root is documented, but the required log_path has no schema description. The description only implies that log_path refers to a log and adds no format, path conventions, or constraints for the required parameter.

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 a specific verb and resource: reading the Fourier section of a log. It is clear what the tool does, but it does not explicitly distinguish itself from sibling read tools like read_log or read_waveform.

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?

There is no guidance on when to use this tool versus alternatives such as read_log, read_measures, or prepare_four. The description only states the action, leaving the agent to infer the context.

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

read_logRead LogC
Read-onlyIdempotent

Summarize a simulation log.

ParametersJSON Schema
NameRequiredDescriptionDefault
log_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered by structured data. The description adds nothing beyond that: no statement about output shape, size/truncation behavior, whether it parses errors, or failure modes when the path is invalid.

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?

A single short sentence with zero filler and the resource front-loaded, which is structurally clean. It is arguably under-specified rather than too long, but as pure conciseness it holds up.

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?

With no output schema and one of two parameters undocumented, the description should carry more weight than it does. It omits what a 'summary' contains, how errors in the log are surfaced, and how the required path is resolved, leaving real gaps for a tool whose only job is producing a summary.

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 only 50%: 'log_path' has no description at all, and the description provides no compensating detail about what kind of path it expects (file vs. directory, relative to workspace_root). The optional 'workspace_root' override is explained by the schema, not the description, so the description contributes essentially no parameter semantics.

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?

It names a verb-plus-resource ('Summarize a simulation log'), so the basic action is inferable, but it never says what a simulation log is in this context or how this differs from the many other read_* inspection siblings (read_waveform, read_measures, read_noise, inspect_schematic). The name/description also diverge slightly ('read_log' vs 'summarize'), leaving the exact deliverable ambiguous.

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?

There is no when-to-use guidance, no prerequisite (e.g. must a run have completed first?), and no reference to an alternative tool. The agent must guess from the name alone whether this is for simulator stdout, a batch run log, or a GUI session log.

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

read_measuresRead MeasuresC
Read-onlyIdempotent

Read .meas results.

ParametersJSON Schema
NameRequiredDescriptionDefault
log_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already establish this as a read-only, idempotent, non-destructive operation, so the safety profile is covered. The description adds nothing further — it does not say what a ``.meas`` result contains, how failures or missing measurements are reported, or how log_path relates to the source data.

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?

It is a single front-loaded phrase with no waste, which is structurally fine. But at this length it is under-specified rather than genuinely concise, so it earns only a middling score.

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?

With no output schema and no return-value documentation, the agent cannot know what shape of measurement data comes back or under what conditions it is empty. For a data-retrieval tool in a large sibling family, this is a meaningful gap.

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 only 50%, and the one undocumented parameter is the required log_path, whose meaning is never explained in either schema or description. The description implies reading measurement output but never connects it to log_path or explains the workspace_root override's role.

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 gives a specific verb ("Read") and resource ("``.meas`` results"), so the basic purpose is identifiable. However, it offers no differentiation from close siblings like list_measures or export_measures_csv, leaving the agent to guess which one returns the actual measurement data.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus list_measures (enumeration) or export_measures_csv (serialization). No prerequisites, no mention of what file the results come from, and no exclusions.

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

read_net_connectivityRead Net ConnectivityC
Read-onlyIdempotent

Return primitive pin-to-net connectivity.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds no behavioral context of its own — no scope (whole schematic vs. selected pins), no return shape, no indication of what 'primitive' connectivity means.

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?

A single front-loaded sentence with no filler or repetition. It is efficient, though the brevity borders on under-specification rather than true 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?

There is no output schema, so the description is the only place the return value could be explained — and it does not explain it. For a connectivity-read tool, the agent is left without knowing the shape, scope, or granularity of the result.

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 description coverage is only 50%: workspace_root is documented in the schema, but schematic_path carries no description there and none in the prose either. The description therefore does not compensate for the undocumented required parameter, leaving the agent to guess at path format and resolution rules.

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 names a verb (return) and a resource (pin-to-net connectivity), so the general purpose is inferable. However, 'primitive pin-to-net connectivity' is domain jargon that is not unpacked, and it does nothing to distinguish this from related siblings like generate_netlist, read_component, or inspect_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?

There is no statement of when to use this tool versus alternatives, no preconditions, and no exclusions. With siblings such as generate_netlist and inspect_schematic in the same space, an agent gets no routing signal from the description at all.

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

read_noiseRead NoiseC
Read-onlyIdempotent

Read noise lines from a log.

ParametersJSON Schema
NameRequiredDescriptionDefault
log_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered structurally. The description adds nothing beyond that baseline – no format, error, or output-shape context for a log-reading tool with no output schema.

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?

A single short sentence with no filler, so it is concise. But it is under-specified rather than efficient, and there is no front-loaded guidance beyond the bare action.

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?

With no output schema and an undocumented required parameter, the description needs to carry more of the load and does not. An agent lacks enough information about input format or return content to call this confidently.

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 description coverage is only 50%, and the undocumented parameter is log_path, the single required one. The description offers no clarification of log_path's expected value or the workspace_root override, so it fails to compensate for the coverage gap.

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?

States a specific verb and resource ('read noise lines from a log'), so the basic operation is identifiable. However, 'noise lines' is ambiguous without knowing this is SPICE .noise output, and it does not distinguish itself from close siblings such as read_log or prepare_noise.

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 indication of when to use this tool versus read_log, read_fourier, or the other read_* extraction tools, and no prerequisites or context are given. The agent must infer usage entirely from the name.

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

read_subcircuitRead SubcircuitC
Read-onlyIdempotent

Return one .subckt body or a hierarchical sheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
source_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds essentially nothing beyond that — no return format, no error behavior, no note on what a hierarchical sheet read entails.

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?

A single front-loaded sentence with no filler. It is efficiently sized for what it says, though brevity here reflects under-specification rather than discipline.

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?

With no output schema, two of three parameters undocumented, and no usage guidance, the definition leaves significant gaps for a read tool. Annotations cover safety, but an agent still lacks enough to invoke it confidently.

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 description coverage is only 33%: source_path and name (both required) carry no schema descriptions, and the description does not compensate with any meaning for them. Only workspace_root is documented. The low coverage means the description should add parameter context but does not.

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?

States a specific verb (Return) and resource (.subckt body / hierarchical sheet), which distinguishes it from siblings like list_subcircuits and read_component. However, the 'or a hierarchical sheet' clause is vague and it doesn't clarify the relationship to list_subcircuits.

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 when-to-use guidance is provided. It never explains when to reach for read_subcircuit versus list_subcircuits, inspect_schematic, or read_component, nor what preconditions (e.g. valid source_path) are needed.

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

read_waveformRead WaveformD
Read-onlyIdempotent

Read one budgeted waveform.

ParametersJSON Schema
NameRequiredDescriptionDefault
t_endNo
signalYes
t_startNo
raw_pathYes
max_pointsNo
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false. The description adds no behavioral context beyond those annotations; 'budgeted' hints at a point limit but does not explain what the budget is, what happens at the limit, or what authorization or path constraints apply.

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

Conciseness2/5

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

The single sentence is front-loaded and has no wasted words, but it is under-specified rather than concise. For a six-parameter waveform-reading tool, this brevity leaves the agent without the context needed to call it correctly.

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

Completeness1/5

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

With six parameters, low schema coverage, no output schema, and no useful description of inputs or behavior, the definition is critically incomplete. The strong annotations cover safety but not the substantive task information an agent needs to invoke this tool correctly among many waveform-related siblings.

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 only 17%, and the description explains none of the six parameters. Required parameters raw_path and signal, plus optional t_start, t_end, and max_points, are left undocumented by both description and schema, so the description fails to compensate for the coverage gap.

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

Purpose2/5

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

The description essentially restates the tool name and title, adding only the undefined qualifier 'budgeted'. It gives no indication of source format, signal selection, or how it differs from sibling tools such as plot_waveforms, measure_waveform, or export_waveform_csv.

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?

There is no when-to-use guidance, no exclusions, and no named alternatives. The many sibling read/plot/export waveform tools make this omission costly, though the description at least implies a basic read operation.

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

read_workflow_instructionRead Workflow InstructionC
Read-onlyIdempotent

Read one bundled workflow note.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds almost nothing beyond that: 'bundled' hints the notes ship with the server rather than being user-authored, but there is no statement about lookup failure behavior or what a note contains.

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?

A single short sentence with no filler, front-loaded with the verb and resource. It is efficient, though the terseness contributes to the under-specification noted elsewhere.

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?

With no output schema, no parameter description, and a bare description, an agent cannot tell how to obtain a valid name or what the returned note looks like. For a tool whose whole job is retrieval, this leaves key operational detail missing.

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 0% and the single required 'name' parameter has no type-level description. The description says nothing about whether 'name' is an ID, a title, or a path, nor where valid values come from, so it fails to compensate for the documentation gap.

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?

States a specific verb+resource ('Read one bundled workflow note') and the singular 'one' hints at the read-one vs list-many split with list_workflow_instructions. However, it never names that sibling and the resource is called a 'note' while the tool is named 'instruction', leaving mild ambiguity about what is being read.

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 versus list_workflow_instructions, and no indication that a valid 'name' must first be discovered via the list tool. The agent is left to infer the whole discovery-then-read workflow.

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

refresh_schematic_in_guiRefresh Schematic In GuiB

Close and reopen the schematic so the GUI reloads the file.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is partly covered. The description adds useful behavioral context by explaining the close/reopen mechanism, which implies in-memory GUI state is discarded and the file on disk is re-read — but it never states whether unsaved edits are lost, which is the key risk here. Adequate, 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?

A single front-loaded sentence that names the action and its purpose with zero filler. Nothing redundant or padded.

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?

This is a GUI-session tool with no output schema and no annotation coverage of session prerequisites; the description omits the requirement for an active live GUI session, the fate of unsaved changes, and what happens if the file is not currently open. Those are the facts an agent needs before calling it.

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 description coverage is 50%: workspace_root is documented in the schema, but schematic_path has no description. The tool description refers only to 'the schematic'/'the file' and adds no meaning about path format (absolute vs relative), whether the path must already be open in the GUI, or how workspace_root overrides interact with it.

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 a specific verb pair and resource ('Close and reopen the schematic') plus the effect ('so the GUI reloads the file'), so the agent understands this is a GUI-session refresh rather than a file operation. It does not, however, distinguish itself from close siblings such as open_schematic_in_gui or poll_live_gui_session, which a reader must infer.

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 when-to-use guidance is given: nothing says whether this is needed after external edits to the .kicad_sch file, whether a live GUI session must already be open, or how it differs from open_schematic_in_gui. The agent must guess the trigger condition entirely.

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

remove_componentRemove ComponentD
Destructive

Remove a component.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds nothing beyond that: it does not state what is destroyed (the symbol, attached wires, net labels?), whether the reference must exist, or whether the removal can be undone. For a destructive mutation that burden is significant.

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

Conciseness2/5

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

It is a single short sentence, but brevity here is under-specification rather than conciseness. There is no front-loaded useful content because there is no content at all.

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

Completeness1/5

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

For a destructive, 3-parameter removal tool with a partially documented schema and no output schema, the description provides none of the context an agent needs to call it correctly.

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 description coverage is only 33% (only workspace_root is documented), and the description supplies no information about 'reference' or 'schematic_path' semantics. With low coverage the description is expected to compensate, and it does not.

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

Purpose2/5

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

The description restates the tool name ('Remove a component.') with no scope, no target detail, and no differentiation from the many sibling removal tools (remove_wire, remove_junction, remove_net_label, remove_component_symbol_drawing). It is effectively a tautology of the name/title.

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 when-to-use, when-not-to-use, or alternative guidance is given. An agent cannot tell from this text why it would call remove_component rather than remove_component_symbol_drawing or whether removing a component also strips its wires.

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

remove_component_symbol_drawingRemove Component Symbol DrawingC
Destructive

Remove one symbol drawing by index.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYes
asy_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false, covering the safety profile. The description adds nothing beyond that: it does not say whether the removal is reversible, whether the file is rewritten in place, or that removing by index may shift the indices of subsequent drawings (relevant given idempotentHint=false).

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?

A single short, front-loaded sentence with no filler. It is efficient, though its brevity is part of the under-specification problem rather than a virtue here.

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?

For a destructive mutation with two required, largely undocumented parameters and no output schema, the description is too thin. It gives the agent no confirmation of what gets deleted, how the target is located, or what happens to the symbol file afterward.

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 only 33%, with only workspace_root documented in the schema. The description adds only 'by index', which hints that index selects the drawing, but leaves asy_path (the target file) completely unexplained in both schema and description.

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?

States a specific verb (Remove) and resource (symbol drawing) with the selection key (by index), which is enough to distinguish it from add_component_symbol_drawing and the other remove_* siblings. It does not explicitly contrast with the add/create counterparts or scope the resource further, so it stops short of a 5.

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 versus add_component_symbol_drawing, set_component_symbol_pin/text, or the other symbol tools. No prerequisites, no mention of what state the .asy file must be in, and no exclusions.

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

remove_instructionRemove InstructionC
Destructive

Remove a directive or comment containing text.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds the matching semantic ('containing text'), which is useful behavior context. It does not, however, disclose what happens when zero or multiple directives match, whether the match is exact or substring, or whether removal is reversible.

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?

A single, front-loaded sentence with no filler. It is efficient, though the brevity arguably leaves valuable detail on the table for a destructive mutation tool.

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?

For a destructive tool with no output schema and only 33% parameter coverage, the description omits key context: the ambiguity of text matching, error behavior on no-match, and the role of schematic_path. It is not complete enough to invoke confidently.

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 description coverage is only 33% (just workspace_root). The description gives marginal meaning to 'text' as the content to match, but says nothing about schematic_path, which is a required parameter. With low coverage, the description needed to compensate for the undocumented required parameters and does not.

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?

States a specific verb (remove) and resource (directive or comment), and defines what an 'instruction' is by equating it to a directive/comment. This is clearly distinguishable from the sibling add_instruction. However, it does not explain which structure holds instructions or how they are identified beyond the text match.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as add_instruction or the various other remove_* siblings. The agent is left to infer usage entirely from the name and verb.

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

remove_junctionRemove JunctionD
Destructive

Explain that LTspice junctions are implicit.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.5/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false, so the safety profile is covered elsewhere. The description adds no behavioral context (what happens to attached wires, whether the coordinates must match an existing junction) and its lone statement about implicit junctions is more confusing than informative.

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

Conciseness2/5

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

It is short, but the brevity comes from under-specification rather than economy. The single sentence is not front-loaded with the action and does not earn its place as a tool description.

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

Completeness1/5

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

For a destructive, 4-parameter edit tool with no output schema and thin annotation/schema coverage, the description should explain the mutation and its effects. Instead it delivers an unrelated editorial remark, leaving the definition effectively undocumented.

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 description coverage is only 25% (workspace_root is the sole documented property), so the description is expected to compensate for x, y and schematic_path. It supplies nothing about coordinate units, origin, or path format; only the self-evident parameter names carry any meaning.

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

Purpose1/5

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

The description reads as a stray internal note ("Explain that LTspice junctions are implicit.") rather than a statement of what the tool does. It never says the tool removes a junction at (x, y) from a schematic, so an agent cannot confirm the verb or resource from the text.

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

Usage Guidelines1/5

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

No when-to-use, when-not-to-use, or alternative is given. The obvious sibling add_junction is not referenced, and there is no guidance on prerequisites such as the schematic needing to be open or the coordinates needing to correspond to an existing junction.

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

remove_net_labelRemove Net LabelC
Destructive

Remove a net label.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
nameNo
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the description need not restate these. But it also adds no context about what exactly gets destroyed (the label only, or attached wires?), whether removal is reversible, or what permissions are needed. For a destructive mutation, the description carries minimal added value beyond the annotation flags.

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 technically concise and front-loaded, but it is under-specified rather than efficiently brief. Brevity here fails to earn its place because the tool's destructive nature and parameter complexity demand more detail.

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 5 parameters, 20% schema coverage, no output schema, and destructive annotations, the description is far too thin. It omits parameter meaning, side effects of removal, and any distinction from sibling removal tools. An agent cannot fully understand the complete behavior from this definition.

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?

With 5 parameters and only 20% schema description coverage, the description is silent on all parameters. The schema documents workspace_root but leaves x, y, name, and schematic_path undocumented anywhere. The description should clarify what name identifies and whether x/y are required coordinates, but it does nothing to compensate for the low coverage.

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 a specific verb (Remove) and resource (net label), which is clear enough that an agent knows exactly what operation it performs. However, it does not distinguish this tool from siblings like remove_wire or remove_junction beyond the resource name, leaving purpose minimally viable.

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?

There is no indication of when to use this tool versus alternatives, nor any preconditions or context. An agent must infer usage entirely from the name and must already know what a net label is to select this tool. No guidance on when removal is appropriate is provided.

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

remove_wireRemove WireD
Destructive

Remove a wire.

ParametersJSON Schema
NameRequiredDescriptionDefault
x1Yes
x2Yes
y1Yes
y2Yes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered by structured data. The description adds nothing beyond that – it does not say what is destroyed, whether removal is reversible, or what identifies the wire.

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

Conciseness2/5

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

A single four-word sentence for a six-parameter destructive mutation tool is under-specification, not conciseness. There is no front-loaded detail because there is no detail at all.

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

Completeness1/5

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

For a destructive tool with no output schema and five undocumented required parameters, the description omits everything an agent needs: how a wire is targeted, whether the removal is reversible, and what happens on failure. It is wholly inadequate for the tool's complexity.

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 only 17% (just workspace_root), leaving five required parameters (schematic_path, x1, y1, x2, y2) undocumented. The description does not explain that a wire is identified by its two endpoint coordinate pairs, so it fails to compensate for the coverage gap.

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

Purpose2/5

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

"Remove a wire" restates the tool name and title almost verbatim, providing no information beyond the identifier itself. It does not distinguish this from sibling removal tools (remove_component, remove_junction, remove_net_label), so an agent gains nothing about scope or target.

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?

There is no when-to-use, when-not-to-use, or alternative guidance. The description does not mention add_wire as its inverse, nor any condition under which removal is appropriate or blocked. Usage is left entirely to inference from the name.

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

rename_component_referenceRename Component ReferenceD

Rename InstName.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYes
new_referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the safety profile is covered and the description does not contradict it. However, the description adds nothing beyond that: it does not say what happens to downstream references, wires, or nets when an instance name changes, nor whether the schematic file is modified in place.

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

Conciseness2/5

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

Three words are not concise so much as under-specified; nothing is front-loaded because there is nothing to front-load. The single fragment carries no orientation for an agent deciding whether to call the tool.

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

Completeness1/5

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

A four-parameter mutation tool with 25% schema coverage, no output schema, and no meaningful description is inadequate on every axis. The agent gets no information about required path formats, rename semantics, failure modes, or the effect on the schematic.

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 description coverage is only 25% (just workspace_root), so the description must compensate for the undocumented reference, new_reference, and schematic_path parameters. It supplies only the vague hint that reference is an instance name, leaving the relationship between reference and new_reference, and the expected path format, unexplained.

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

Purpose2/5

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

"Rename InstName" does pair a verb with an identifier, but "InstName" is internal jargon that only becomes meaningful via the title, and the description adds no scope or resource clarification beyond the title's restatement. It does not distinguish this tool from siblings such as set_component_value, set_component_parameters, or set_component_symbol_text, which also mutate a component's identifying attributes.

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?

There is no when-to-use guidance, no statement of prerequisites (e.g. the component must already exist in the schematic), and no named alternative. An agent cannot tell from the description when renaming is appropriate versus using set_component_parameters or set_element_model.

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

render_schematic_imageRender Schematic ImageD

Draw a simple schematic preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_pathNo
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.9/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and idempotentHint=false (a state-writing, non-idempotent operation), yet the description never mentions that it writes output, where, or whether it overwrites an existing file at output_path. Since annotations already carry the safety profile the bar is lower, but the description adds no behavioral context beyond the annotations.

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

Conciseness2/5

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

A five-word single sentence is short but not concise in the helpful sense — it is under-specified rather than economical. There is no front-loaded detail because there is almost no content at all.

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

Completeness1/5

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

For a tool that requires a schematic_path, optionally writes an output_path file, and has no output schema to explain the return value, the description omits everything an agent needs: input expectations, write semantics, and result format. It is not adequate for a 3-parameter mutation tool.

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 only 33% — workspace_root is documented but the required schematic_path and the output_path are undocumented, and output_path is exactly the parameter an agent most needs explained (destination file? directory? image format?). The description supplies no parameter meaning whatsoever, so it does not compensate for the coverage gap.

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

Purpose2/5

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

"Draw a simple schematic preview" essentially restates the title "Render Schematic Image" without adding specificity — it doesn't say whether it renders to a file, a GUI canvas, or returns image data, nor what a 'simple' preview excludes. With dozens of visualization/render-adjacent siblings (plot_waveforms, open_schematic_in_gui, inspect_schematic), no differentiation is offered. This sits at the tautology end of the scale.

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 when-to-use guidance is given at all: nothing says whether to prefer this over inspect_schematic, open_schematic_in_gui, or plot_waveforms, and no prerequisites or exclusions are stated. The word 'preview' faintly implies a lightweight visual check, but that is inference, not guidance.

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

resolve_model_librariesResolve Model LibrariesB
Read-onlyIdempotent

Search the workspace and the LTspice lib tree for a model name.

ParametersJSON Schema
NameRequiredDescriptionDefault
model_nameYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description usefully adds the search scope (workspace plus LTspice lib tree), but says nothing about matching semantics (exact vs partial, case sensitivity) or what the result looks like.

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?

A single front-loaded sentence with no filler; the scope (workspace, lib tree) comes before the target. It is efficient, though the brevity borders on under-specification rather than tightness.

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 one-parameter read-only search, annotations cover the safety profile, but with no output schema the description should explain what resolution returns (paths? matching libraries? ranked results?). That gap, plus undefined matching behavior, leaves it only minimally complete.

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 description coverage is 0% and the single property is a bare string, so the description carries the burden. It only conveys that the argument is a model name, adding no format, naming convention, or wildcard guidance beyond the property name itself.

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?

States a specific verb ('Search') and the two resources it searches ('the workspace and the LTspice lib tree') plus the target ('a model name'). It is clear what the tool does, though it never contrasts itself with related tools like add_model or set_element_model.

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?

There is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives. The only usage signal is implicit in the phrase 'for a model name', which tells the agent what input to supply but not when this tool is the right choice over listing or adding models.

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

run_model_sweepRun Model SweepD

Run once per model name.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelsYes
referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.5/5.0
Behavior1/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, so the safety profile is partly covered, but the description adds no behavioral context at all: no mention of cost, runtime, whether runs are cached, or what state is written. A non-idempotent, open-world execution tool needs far more disclosure than a four-word sentence.

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

Conciseness2/5

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

Short, but this is under-specification rather than conciseness. The single fragment carries almost no information and there is no front-loaded statement of purpose.

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

Completeness1/5

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

For a four-parameter, non-idempotent execution tool with no output schema, the description is completely inadequate; an agent has no way to know what the sweep produces or how results are returned.

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 description coverage is only 25% (only workspace_root is documented). The description implies 'models' is an iterable of model names but never states the format (comma-separated? semicolon? list?), and says nothing about 'reference' or 'schematic_path', leaving the three required parameters undocumented in both places.

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

Purpose2/5

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

The description 'Run once per model name' is nearly a restatement of the tool name rather than an explanation of what is being run or against what. It hints at an iteration semantic over the 'models' argument, but an agent cannot tell what operation is executed or what it produces.

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

Usage Guidelines1/5

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

There is no guidance on when to use this versus the many simulation siblings (run_simulation, run_param_sweep, run_value_sweep, run_monte_carlo, run_worst_case). No prerequisites, no exclusions, no alternatives are named.

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

run_monte_carloRun Monte CarloD

Prepare a Monte Carlo .step and run it.

ParametersJSON Schema
NameRequiredDescriptionDefault
runsNo
nominalYes
referenceYes
toleranceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, and destructiveHint=false. The description adds nothing beyond that — it does not say what artifacts are produced or overwritten, whether results are returned inline or written to disk, or anything about runtime cost for a Monte Carlo batch.

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?

It is a single front-loaded sentence with no wasted words, which is good. But the brevity crosses into under-specification for a 6-parameter mutation tool, so it reads as terse rather than efficiently complete.

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

Completeness1/5

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

For a non-idempotent, open-world mutation tool with no output schema and 4 undocumented required parameters, the description omits everything an agent needs — param formats, outputs, side effects, and how it relates to prepare_monte_carlo. It is far too thin for the tool's complexity.

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 only 17% (just workspace_root), and four required parameters (schematic_path, reference, nominal, tolerance) plus runs are entirely undocumented. The description provides no compensating meaning for any of them, so an agent cannot know the expected format of reference/nominal/tolerance.

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 names an action (run) and a resource (Monte Carlo analysis via a .step), so the basic purpose is inferable. However, 'Prepare a Monte Carlo .step and run it' is ambiguous — it implies this tool also prepares the analysis, which overlaps confusingly with the sibling prepare_monte_carlo, and it is not distinguished from run_worst_case, run_simulation, or the other run_* sweep tools.

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

Usage Guidelines1/5

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

There is no guidance on when to use this versus prepare_monte_carlo, prepare_step, run_worst_case, or the other sweep runners, despite a crowded sibling set. No prerequisites or ordering (prepare-then-run) are stated, leaving the agent to guess the workflow.

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

run_param_sweepRun Param SweepD

Add a .step and run once. LTspice expands the steps.

ParametersJSON Schema
NameRequiredDescriptionDefault
statementYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.7/5.0
Behavior2/5

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

Annotations mark this as non-read-only, non-idempotent, open-world, non-destructive. The description hints at mutation ('add a .step') but does not say what is modified on disk, whether the schematic is altered, where outputs land, or that a simulation is launched. With annotations present the bar is lower, but this adds almost no behavioral context beyond the implication of running a simulation.

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?

It is short and front-loaded, but the brevity comes at the cost of clarity rather than efficiency. Every word is terse LTspice jargon, so the size is fine but the structure conveys minimal information.

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

Completeness1/5

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

For a non-idempotent, open-world mutation tool that launches a simulation, with no output schema and mostly undocumented parameters, the description is far too sparse. An agent cannot know what is mutated, what the statement syntax is, or what comes back.

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 coverage is only 33% and two of three parameters (statement, schematic_path) have no schema descriptions. The description mentions '.step' which loosely relates to the 'statement' parameter, but it never explains the format of the statement, what schematic_path should point to, or how workspace_root override behaves.

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

Purpose2/5

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

The description says to add a '.step' directive and run once, but never states that the tool adds a parameter sweep directive and executes the simulation. It leans heavily on LTspice internal jargon rather than naming the action and resource. Siblings like run_value_sweep, run_model_sweep and prepare_step exist, yet the description doesn't differentiate itself from them.

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

Usage Guidelines1/5

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

There is no indication of when to use this tool versus prepare_step, run_value_sweep, run_model_sweep, or run_simulation. The terse imperative 'Add a .step and run once' is a procedure fragment, not usage guidance with alternatives or exclusions.

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

run_simulationRun SimulationD

Run one batch simulation.

ParametersJSON Schema
NameRequiredDescriptionDefault
ascii_rawNo
timeout_sNo
source_pathYes
extra_switchesNo
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, and destructiveHint=false, so the safety profile is partly covered by structured data. However, the description adds nothing: no mention of what files or state a run produces, how the timeout_s parameter behaves, or that the run may execute external simulator processes (open-world).

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

Conciseness2/5

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

It is short and front-loaded, but this is under-specification rather than conciseness: a single five-word sentence is far too little for a non-idempotent, open-world execution tool with five parameters.

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

Completeness1/5

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

For a state-changing, open-world execution tool with five parameters, 20% schema coverage, and no output schema, the description provides no information an agent needs to invoke it correctly — no input format, no output artifacts, no interaction with the prepare_*/sweep tools.

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 only 20% and 5 parameters exist, so the description carries the burden of clarifying them. It mentions none — source_path, ascii_raw, timeout_s, extra_switches, and workspace_root are all left unexplained beyond their names.

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

Purpose2/5

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

The description restates the tool name almost verbatim ("Run one batch simulation") without saying what a simulation actually does here or what a "batch" means. It does not differentiate from close siblings like run_model_sweep, run_monte_carlo, run_param_sweep, or the batch family (submit_batch, collect_batch_results), leaving the agent unable to tell which runner to pick.

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?

There is no when-to-use, when-not-to-use, or prerequisite guidance at all. The use of the word "batch" is potentially confusing given separate submit_batch/cancel_batch/get_batch_status sibling tools, so an agent cannot infer the boundary between this tool and those.

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

run_value_sweepRun Value SweepC

Run the schematic once per component value.

ParametersJSON Schema
NameRequiredDescriptionDefault
valuesYes
referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already disclose the safety profile (not read-only, non-idempotent, open-world, non-destructive), so the bar is lower, but the description adds nothing behavioral. A non-idempotent sweep that "runs the schematic" leaves unstated what artifacts are written, where they land, and whether the schematic itself is modified.

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 single sentence is front-loaded and free of padding, which is structurally good. However, at this level of under-specification for a 4-parameter tool, brevity is a defect rather than a virtue.

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?

No output schema, minimal schema descriptions, and an annotation-only safety profile mean the description must carry the load for a non-idempotent, open-world execution tool — and it does not. An agent cannot tell what inputs it needs in what form or what it will get back.

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 description coverage is 25% — only workspace_root is documented — and the description contributes no parameter meaning beyond an oblique hint that "values" relates to component values. reference, values, and schematic_path remain undocumented in both schema and description, so the description fails to compensate for the coverage gap.

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?

"Run the schematic once per component value" gives a verb and the sweep dimension, which partially distinguishes it from run_param_sweep and run_model_sweep. But "run the schematic" is imprecise (spice simulation? netlist generation?) and the description never names the sibling it replaces. Purpose is inferable but not crisp.

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 when-to-use guidance and no named alternatives, despite four closely related sweep runners (run_param_sweep, run_model_sweep, run_monte_carlo, run_worst_case) that an agent must choose between. The agent must infer the selection rule entirely from the phrase "per component value."

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

run_worst_caseRun Worst CaseC

Prepare two corners and run them.

ParametersJSON Schema
NameRequiredDescriptionDefault
lowYes
highYes
referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare non-readonly, non-idempotent, open-world, and non-destructive behavior. The description adds no further behavioral context, such as what gets prepared, what side effects occur, or what the run modifies. It neither contradicts nor enriches the annotations.

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

Conciseness2/5

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

The single sentence is short and front-loaded, but it is under-specified rather than concise. It omits essential information for a five-parameter tool. The brevity does not earn its place because it fails to convey the tool's actual operation.

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?

For a five-parameter, non-idempotent run tool with no output schema and low schema coverage, the description is far too thin. It does not explain what 'prepare' means, how the two corners are used, or how this relates to prepare_worst_case. The annotations provide only a basic safety profile, leaving major gaps.

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 description coverage is only 20%, so the description must compensate but does not. 'Two corners' loosely hints that low and high are corner values, but reference, schematic_path, and workspace_root are completely unexplained. The description adds almost no meaning beyond the schema field names.

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

Purpose2/5

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

The description 'Prepare two corners and run them' gives a vague action but never states that this is a worst-case analysis or what a 'corner' means in this domain. It does not distinguish the tool from siblings like prepare_worst_case, run_simulation, or run_monte_carlo. The name and title carry the actual meaning.

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?

There is no guidance on when to use this tool versus alternatives such as prepare_worst_case or run_simulation. No prerequisites, exclusions, or workflow context are provided. The agent is left to infer everything from the name.

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

save_netlist_copySave Netlist CopyC

Copy a netlist inside the workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_pathYes
workspace_rootNoOptional per-call workspace root override.
destination_pathYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the basic safety profile is covered. The description adds no behavioral context such as overwrite behavior, whether the destination must not already exist, error handling, or workspace-root semantics, so it contributes nothing beyond the structured hints.

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 single sentence is concise and front-loads the core action, but it is under-specified for a tool with three parameters and no output schema. The brevity is not earned conciseness because essential details are missing.

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?

For a write tool with no output schema and only 33% schema description coverage, the description is incomplete. It omits required parameter semantics, overwrite behavior, and usage context, leaving the agent with significant uncertainty about correct invocation.

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 description coverage is only 33%, and the description does not mention any parameter. It does not clarify whether paths are relative or absolute, how workspace_root interacts with source_path and destination_path, or what syntax is expected, so it fails to compensate for the incomplete schema documentation.

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?

States a clear verb (copy) and resource (netlist), so the operation is identifiable. However, it provides no differentiation from sibling tools like save_schematic_as or write_workspace_text_file, so an agent cannot tell from the description alone which tool is appropriate for a given copy task.

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 gives no when-to-use guidance, no prerequisites, and no alternatives. It does not explain when an agent should copy a netlist versus generating one or saving a schematic, leaving selection entirely to inference.

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

save_schematic_asSave Schematic AsC

Copy a schematic to a new path.

ParametersJSON Schema
NameRequiredDescriptionDefault
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.
destination_pathYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare non-readonly, non-idempotent, non-destructive, so the safety profile is covered. The description repeats the 'copy' notion without adding anything extra: no overwrite behavior if destination_path exists, no mention of whether the source is polluted or the new schematic becomes active, and no return context.

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?

A single front-loaded sentence with no waste. Terse and easy to scan, though it may be under-specified rather than optimally concise.

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?

For a 3-parameter mutation tool with no output schema and only one documented parameter, the description leaves key behaviors (overwrite, return value, source preservation) unspecified. It is not sufficient for an agent to invoke confidently.

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?

Only 33% schema coverage — workspace_root has a description, but the two required parameters (schematic_path, destination_path) are undocumented in both schema and description. The description says 'a new path' but never clarifies format, whether it's a file or directory, or what happens on collision.

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?

States a specific verb and resource: 'Copy a schematic' to a new path. This clearly distinguishes it from save_netlist_copy (different resource), though it doesn't explicitly differentiate from create_schematic or explain the 'as' semantics (save under a new name vs duplicate).

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 indication of when to use this vs create_schematic, save_netlist_copy, or write_workspace_text_file. No prerequisites or context about whether the schematic must already exist or be loaded.

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

scaffold_behavioral_subcircuitScaffold Behavioral SubcircuitC

Write a schematic whose only active device is a behavioral source.

ParametersJSON Schema
NameRequiredDescriptionDefault
expressionNo
output_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already disclose that this is a non-read-only, non-destructive, non-idempotent, closed-world write, so the safety profile is covered. The description adds the meaningful constraint that the written schematic contains a single behavioral source, but says nothing about whether output_path is overwritten, what happens on error, or why the operation is non-idempotent.

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?

A single front-loaded sentence with no wasted words, stating the core action immediately. It is efficient, though arguably too terse given the tool's complexity.

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?

For a write tool with no output schema, 33% parameter coverage, and 3 parameters, the description is too thin. It omits the expression format, overwrite behavior, and any usage context, leaving the agent under-informed for correct invocation.

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 description coverage is only 33%: only workspace_root is documented, while expression and output_path are bare. The description alludes to a behavioral source but never explains the expression syntax or the meaning/format of output_path, so it fails to compensate for the coverage 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 gives a clear verb (write) and resource (a schematic whose only active device is a behavioral source), which distinguishes it from the generic create_schematic/create_starter_schematic and the protocol scaffolds. However, it does not explain what a 'behavioral subcircuit' scaffold contains or how it differs from materialize_reference_circuit, so sibling differentiation is only partial.

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?

There is no explicit when-to-use or when-not-to-use guidance and no alternative tool is named. The 'only active device is a behavioral source' clause implies a scope but never tells the agent under what conditions this scaffold is preferable to create_schematic or add_component.

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

scaffold_i2c_deviceScaffold I2c DeviceC

Write a behavioral sketch of an I2C open-drain pull-up, not a protocol engine.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write nature is covered structurally. The description's one added value is setting the fidelity expectation ('behavioral sketch ... not a protocol engine'), which tells the agent the generated model is simplified. It still omits overwrite behavior, output format, and what a failure looks like.

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?

One sentence, front-loaded with the verb and the scoping caveat, no filler. It is efficient, though the brevity shades into under-specification rather than true precision.

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?

A scaffolding mutation tool with no output schema, an undocumented required path parameter, and no annotation coverage of side effects. The description does not say what file/format is produced, whether an existing file is replaced, or whether the workspace root must exist, leaving real gaps for an agent about to write to disk.

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 only 50%: workspace_root is described in the schema but output_path has no description in either place. The description adds no parameter meaning at all, so the required destination argument is undocumented end-to-end.

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 a specific action (write a behavioral sketch) and a specific subject (an I2C open-drain pull-up), and the trailing clause bounds the fidelity of what is produced. However, it never says where the sketch goes or how it relates to the near-identical siblings scaffold_spi_device and scaffold_behavioral_subcircuit, so the agent must infer differentiation.

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?

There is no when-to-use guidance and no named alternative, even though the sibling list contains two obvious near-duplicates for protocol device scaffolding. The phrase 'not a protocol engine' is a scope boundary rather than a routing rule, so the agent gets no condition for choosing this tool over its siblings.

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

scaffold_spi_deviceScaffold Spi DeviceC

Write a behavioral sketch of a SPI data latch, not a protocol engine.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false), so the write semantics are covered. The description adds only a scope remark and says nothing about what is written, whether an existing file at output_path is overwritten, or what the generated sketch contains, so it contributes little beyond the structured hints.

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?

It is a single front-loaded sentence with zero filler, which is good structure. But for a write tool that produces a file, the brevity crosses into under-specification rather than genuine conciseness, so the sentence does not "earn its place" as fully as it could.

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?

A file-writing scaffold tool with no output schema, one undocumented required parameter, and no sibling-specific routing. Nothing tells the agent what the sketch looks like, how it differs from scaffold_behavioral_subcircuit, or whether it overwrites existing content, so the definition is not complete enough for confident invocation.

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 description coverage is 50%: workspace_root is documented inline but output_path, the sole required parameter, has no description anywhere. The description does not compensate by explaining the path's role or any path/format expectations, so an agent gets no additional meaning from the prose.

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 names a verb and resource ("write a behavioral sketch") and adds a negative scope ("not a protocol engine"), which gives some sense of intent. However, "behavioral sketch" is vague about what artifact is actually produced, and there is no differentiation from the parallel siblings scaffold_i2c_device and scaffold_behavioral_subcircuit.

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 only guidance is the exclusion "not a protocol engine", which hints at when this is inappropriate but names no alternative tool and gives no condition for choosing this over scaffold_behavioral_subcircuit or scaffold_i2c_device. There is no when-to-use statement at all.

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

search_topology_blocksSearch Topology BlocksC
Read-onlyIdempotent

Search titles and summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally. Beyond that, the description says nothing about matching semantics (substring, token, fuzzy), result ranking, result caps, or whether the search spans the whole corpus or just local blocks, which are the traits an agent would actually need.

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?

It is short and front-loaded with the key verb, with no wasted clauses. However, the brevity comes from under-specification rather than disciplined economy, so it does not fully earn the conciseness credit.

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?

With one undocumented parameter, no output schema, and no annotations explaining return shape, the definition should at least say what a search returns and in what order. It omits result format, ranking, and scope, leaving clear gaps for a retrieval tool surrounded by many sibling topology 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 0% for the single required 'query' parameter, so the description carries the burden. It does add that the query is matched against titles and summaries, which is meaningful for the one parameter, but it gives no syntax, operator, or format guidance.

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

Purpose2/5

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

The description is a bare fragment, "Search titles and summaries," which largely restates the tool name (search + topology blocks) and only gestures at the searched fields. It never states what a topology block is or how this differs from sibling tools like list_topology_blocks or describe_topology_block, so an agent cannot confidently select it from the name alone.

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?

There is no guidance on when to use search versus list_topology_blocks (enumeration), describe_topology_block (single lookup), or ingest/validate_topology_contribution. No prerequisites, no conditions, no named alternatives are given.

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

send_live_gui_session_commandSend Live Gui Session CommandC

Report that GUI commands are unsupported.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.1/5.0
Behavior2/5

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

No annotations-based context is added: the schema already carries readOnlyHint=false, idempotentHint=false, openWorldHint=false, and the description adds nothing about what actually happens on invocation, whether a session must already be open, or what the caller gets back. There is mild tension with readOnlyHint=false, since a tool that merely "reports unsupported" sounds like it mutates nothing, but this is ambiguity rather than a direct contradiction.

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?

A single front-loaded sentence with no filler, which is structurally clean. However, brevity here reflects under-specification rather than genuine conciseness – the sentence is short because it omits required information, not because it is 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?

For a three-parameter tool with no output schema and annotations that claim mutation potential, the description is far too thin. It never explains the return behavior, the session prerequisites, or that the tool is a deliberate stub that should route the agent elsewhere, so an agent cannot confidently decide whether to call it at all.

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 description coverage is only 33% (only workspace_root is documented in the schema), so the description is expected to compensate for command and schematic_path. It instead mentions no parameters at all, leaving required inputs like "command" completely unexplained – especially odd for a tool that is claimed not to accept commands.

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

Purpose2/5

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

"Report that GUI commands are unsupported" does not state a verb+resource capability in the way the name suggests; it documents a limitation rather than an action. An agent reading the name expects to dispatch a command into a live GUI session, and the description only tells it the opposite, without saying whether the call errors, returns a status string, or silently no-ops.

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?

There is no explicit when-to-use or when-not-to-use guidance. The word "unsupported" implies the tool is a dead end, but the description does not say that callers should avoid it, nor does it point to the real siblings that would help (describe_live_gui_support, open_schematic_in_gui, describe_server_capabilities).

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

set_component_parametersSet Component ParametersC

Set SpiceLine attributes.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYes
spice_lineYes
spice_line2No
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations declare this is not read-only, not idempotent, and not destructive, so the safety profile is partly covered. The description adds nothing beyond that: it does not say what is overwritten, whether spice_line2 is an optional second line, or what happens on an invalid reference. With a mutation tool, that is a real gap.

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?

A single sentence with zero wasted words and no burying of key information. But it is terse to the point of under-specification rather than genuinely concise — brevity here costs information rather than saving it.

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?

For a 5-parameter mutation tool with no output schema and mostly undocumented parameters, the description should at minimum explain the SpiceLine concept, the required reference target, and the effect of the write. None of that is present, so an agent cannot confidently invoke it.

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 description coverage is only 20% (just workspace_root), leaving reference, spice_line, spice_line2, and schematic_path undocumented in both schema and description. The word 'SpiceLine' loosely gestures at the spice_line parameters but conveys no format, cardinality, or role for reference/schematic_path, so the description does not compensate for the coverage gap.

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?

Names a verb ('Set') and a resource ('SpiceLine attributes'), so the basic operation is inferable. However, 'SpiceLine' is unexplained jargon and 'attributes' is vague — it gives no hint that this overwrites a component's raw SPICE netlist line, nor does it distinguish the tool from close siblings like set_component_value, set_parameter, or set_element_model.

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?

There is no when-to-use guidance, no prerequisites (e.g. must the reference already exist in the schematic?), and no routing to alternatives. The crowded set_* family around components makes this omission costly, since an agent has no textual basis for choosing this over set_component_value or set_parameter.

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

set_component_positionSet Component PositionC

Move a component and wires that ended on its pins.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
rotationNo
referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description's main added value is disclosing that connected wires move along with the component — a genuine side effect. However, it says nothing about coordinate units/origin, whether rotation is applied, or how moved wires are re-routed.

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?

A single tight sentence with the action front-loaded and no filler. It is efficient, though slightly under-specified for a six-parameter mutation tool.

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?

For a non-idempotent mutation with no output schema and five undocumented parameters, the description is too thin. It should cover coordinate semantics, reference scoping, and rotation behavior to be complete.

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 description coverage is only 17% (just workspace_root), and the description supplies no meaning for x, y, rotation, reference, or schematic_path. With five undocumented parameters, the description fails to compensate for the coverage 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?

States a specific verb and resource ('Move a component') and adds a real detail — that wires terminated on its pins move with it. It does not, however, differentiate itself from other placement-related siblings such as suggest_component_placement or apply_schematic_layout_spec.

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 when-to-use guidance, no prerequisites, and no named alternative. An agent must infer that this is the tool for repositioning an existing component rather than placing a new one.

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

set_component_symbol_pinSet Component Symbol PinD

Move or add a symbol pin.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
asy_pathYes
pin_nameYes
spice_orderYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=false, so safety direction is partially covered. The description adds nothing beyond 'move or add': no statement of whether an existing pin is overwritten or appended, no error behavior, no note that it writes to the .asy file, and no idempotency discussion despite idempotentHint=false.

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

Conciseness2/5

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

A single six-word sentence is brief but is under-specification rather than conciseness. It is front-loaded only in the trivial sense of being one clause long.

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

Completeness1/5

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

A 6-parameter mutation tool with 17% schema coverage, no output schema, and a one-sentence description leaves critical gaps: coordinate system, effect on existing pins, file side effects, and error conditions are all unaddressed.

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 only 17% (only workspace_root is documented), and the description adds no parameter meaning whatsoever. Five required parameters — asy_path, pin_name, x, y, spice_order — are left entirely opaque, so the agent must guess at units, coordinate conventions, and the meaning of spice_order.

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?

States a verb ('move or add') and a resource ('symbol pin'), which is enough to place it in the symbol-editing family alongside set_component_symbol_text and remove_component_symbol_drawing. However, it never says which file/artifact is mutated (asy_path suggests a symbol definition file) and the 'move OR add' disjunction leaves the actual operation ambiguous — an agent cannot tell what determines which behavior occurs.

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

Usage Guidelines1/5

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

No when-to-use guidance, no alternatives named, no prerequisites. Nothing tells the agent when to pick this over add_component_symbol_drawing or set_component_symbol_text.

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

set_component_symbol_textSet Component Symbol TextC

Set one .asy attribute.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
asy_pathYes
attributeYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare the write/idempotency profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), so the safety bar is lower, but the description adds nothing beyond that — it doesn't say what the attribute is, whether the value is validated, what format .asy expects, or what happens to an existing attribute value. A one-line description cannot carry a mutation tool with no other 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.

Conciseness2/5

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

It is a single sentence fragment with no waste, but it is under-specified rather than concise — it leaves the core noun ('.asy attribute') and all parameters unexplained, so brevity here costs clarity.

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?

For a 4-parameter mutation tool with 25% schema coverage and no output schema, the description should at minimum explain the attribute concept and the required parameters. None of that is present, so an agent lacks the information needed to call it correctly.

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 description coverage is only 25% — just workspace_root is documented. The description mentions 'attribute' but does not explain the semantics of asy_path, attribute, or value (formats, accepted keys, whether value overwrites). With low coverage, the description is expected to compensate and does not.

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 a specific verb ('Set') and a resource ('.asy attribute'), but '.asy attribute' is cryptic and the description does not distinguish this tool from close siblings such as set_component_symbol_pin or set_component_value. An agent can infer it writes a single symbol-file attribute but cannot tell what kind of attribute or why it differs from the pin/value setters.

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?

There is no when-to-use guidance, no prerequisites, and no named alternative. The agent gets no signal about when this is the right tool versus set_component_value, set_component_parameters, or set_component_symbol_pin.

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

set_component_valueSet Component ValueD

Set a component value.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the mutation/safety profile is covered structurally. The description adds nothing on top of that – it does not say whether the edit is persisted to disk, what happens on an unknown reference, or whether the value is validated.

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

Conciseness2/5

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

The single sentence is short but this is under-specification rather than conciseness; it is front-loaded yet carries no information beyond the name. There is no waste because there is almost no content.

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

Completeness1/5

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

For a four-parameter mutation tool with no output schema and 25% schema coverage, the description omits nearly everything an agent needs: how to identify the target component, what 'value' accepts, and how the change is persisted. It is not sufficient to invoke the tool correctly.

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 description coverage is only 25% (just workspace_root), so reference and schematic_path are undocumented anywhere, and the description does not compensate. It only hints at the 'value' parameter by echoing the tool name, offering no format, unit, or identifier-format detail.

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

Purpose2/5

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

The description 'Set a component value' merely restates the tool name and title without adding a specific verb-resource pairing or scope. It does not distinguish this tool from close siblings such as set_component_parameters, set_parameter, or set_subcircuit_component_value.

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 given about when to use this tool versus set_component_parameters or set_subcircuit_component_value, nor about prerequisites such as the schematic needing to be loaded. The agent must infer all routing decisions 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.

set_element_modelSet Element ModelD

Set a component model.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYes
referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the safety profile is partially covered. The description adds nothing beyond them: no mention of what the mutation affects, whether it requires the schematic to be loaded, or what happens to an existing model assignment.

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

Conciseness2/5

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

It is short, but this is under-specification rather than conciseness — a single four-word sentence that carries no actionable information and is not front-loaded with anything useful.

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

Completeness1/5

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

For a 4-parameter mutating tool with 25% schema coverage and no output schema, the description is completely inadequate: it omits the target of the change, the semantics of the model string, and any behavioral context the annotations do not cover.

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 description coverage is only 25% — just workspace_root is documented. The description supplies no meaning for model, reference, or schematic_path, so it fails to compensate for the gap; an agent cannot tell what format "model" expects or how "reference" resolves to a component.

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

Purpose2/5

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

"Set a component model." restates the tool name and title almost verbatim without saying what a "model" is (SPICE model? symbol model? device model?) or what gets modified. It does not distinguish this tool from siblings like set_component_value, set_component_parameters, set_parameter, or add_model.

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?

There is no statement of when to use this tool versus the many overlapping siblings (set_component_value, set_component_parameters, set_parameter, add_model, resolve_model_libraries). No prerequisites, no exclusions, no alternative named.

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

set_parameterSet ParameterC

Add or replace a .param directive.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
valueYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare this is a non-readonly mutation (readOnlyHint=false, destructiveHint=false). The description adds only the 'add or replace' semantics, but does not explain scope (which schematic is affected), behavior when the directive already exists, error cases, or whether duplicate directives can accumulate — meaningful gaps that the sparse annotations do not cover.

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?

A single front-loaded sentence with no filler. It is appropriately sized, though the extreme brevity pushes under-specification onto the other dimensions rather than being a conciseness win here.

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?

For a mutation tool with no output schema, low parameter coverage, and only bare safety annotations, the description does not provide enough behavioral or parameter context for an agent to call it confidently. Return value is not a concern (no output schema), but scope, error handling, and value syntax are missing.

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 only 25% (only workspace_root is documented), so the description must compensate. It implies a name/value pair for the directive but gives no syntax, format, or units for 'value', no explanation of 'schematic_path' vs 'workspace_root', and no override/precedence rules.

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 names a specific verb ('Add or replace') and resource (a '.param' directive), so an agent understands this manipulates SPICE parameter directives rather than component values. It does not differentiate from related siblings such as prepare_param or set_component_parameters, so it stops short of a 5.

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 when-to-use guidance, prerequisites, or alternatives are stated. The agent is not told how this differs from prepare_param, set_component_parameters, or set_subcircuit_component_parameters, all of which appear in the sibling list.

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

set_subcircuit_component_parametersSet Subcircuit Component ParametersC

Set SpiceLine on a component inside a schematic subcircuit file.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYes
spice_lineYes
spice_line2No
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety/mutation profile is covered. The description confirms a 'set' operation on a subcircuit file but adds nothing about overwriting an existing SpiceLine, file-existence requirements, or what happens to spice_line2 when only spice_line is supplied.

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?

A single, front-loaded sentence with no filler or redundancy. It is efficient, though the terseness contributes to the missing parameter and usage detail elsewhere.

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?

For a 5-parameter mutating tool with no output schema and 20% schema coverage, the description is too thin: it omits parameter meaning, the spice_line/spice_line2 relationship, and any indication of what the write affects or returns.

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 description coverage is only 20% (just workspace_root), so the description must compensate and does not. It names 'SpiceLine' but never explains reference (component designator), schematic_path, or the role of spice_line2 versus spice_line, leaving 4 of 5 parameters undocumented in both schema and prose.

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?

States a specific verb ('Set'), a specific attribute ('SpiceLine'), and a scoped resource ('a component inside a schematic subcircuit file'). The 'subcircuit file' scope implicitly separates it from the top-level set_component_parameters, though it does not explicitly name siblings like set_subcircuit_component_value to clarify the SpiceLine-vs-value distinction.

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 when-to-use guidance and no alternatives named, despite numerous nearby siblings (set_subcircuit_component_value, set_component_parameters, set_parameter). The agent must infer that this is the subcircuit-file variant for SpiceLine editing purely from the name.

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

set_subcircuit_component_valueSet Subcircuit Component ValueC

Set a value on a component inside a schematic subcircuit file.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
referenceYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false). The description adds nothing beyond that: it does not say whether the file is rewritten on disk, whether the component must already exist, or what happens if the reference is unresolved.

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?

A single efficient sentence with the action and scope front-loaded. Terse but not wasteful; the shortfall is under-specification, not verbosity.

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?

For a mutating tool with no output schema, 25% parameter coverage, and uninformative annotations, the description is too thin. An agent cannot tell how the subcircuit file is located or what a successful write implies.

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 description coverage is 25% (only workspace_root is documented). The description implies 'value' and 'reference' semantics but says nothing about schematic_path or workspace_root. With coverage this low the description should compensate and does not.

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 gives a specific verb (set), resource (value on a component), and a scope qualifier (inside a schematic subcircuit file), which cleanly separates it from the top-level set_component_value. It stops short of naming the sibling it is not, so an agent must infer the subcircuit-vs-schematic distinction.

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?

There is no when-to-use, when-not-to-use, or alternative routing. With close siblings like set_component_value and set_subcircuit_component_parameters present, the definition leaves the agent to guess which mutation tool applies.

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

submit_batchSubmit BatchC

Run one schematic and keep a manifest of the artifacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already disclose readOnly=false, idempotent=false, openWorld=true, destructive=false, so the description needn't restate safety. But it adds almost nothing beyond 'keep a manifest' — no mention of async/non-blocking behavior, whether a handle is returned for later polling, or side effects. For a non-idempotent submission entry point with no output schema, this is a notable gap.

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?

A single front-loaded sentence with no filler. It is efficient, though its brevity borders on under-specification rather than true 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?

For a batch submission tool with no output schema and no clarifying annotations on return behavior, the description should explain what submission yields and how it relates to the polling/collection siblings. It leaves the agent unable to predict the response or next step.

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?

With only 50% schema coverage, source_path is undocumented in the schema; the description's 'one schematic' weakly implies source_path points to a schematic, but it doesn't clarify format or whether it's a file, project, or identifier. workspace_root is already covered by the schema. Value added is minimal.

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?

It has a clear verb (Run) and resource (one schematic), and 'manifest of the artifacts' hints at a tracked submission, which separates it from cancel_batch/collect_batch_results/get_batch_status. However, the name 'submit_batch' and the description's 'one schematic' conflict about whether this handles a batch or a single item, leaving scope ambiguous.

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 submit vs. when to poll (get_batch_status) or collect (collect_batch_results), and no prerequisites or sequencing hints despite an obvious batch lifecycle among siblings. The agent must infer the workflow entirely.

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

submit_remote_simulationSubmit Remote SimulationC

Start a background local simulation and return a session id.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnly=false, openWorld=true, idempotent=false, and destructive=false, so the safety profile is covered. The description usefully adds that the run is 'background' and yields a session id, implying an async pattern, but says nothing about failure behavior or whether source_path must already exist.

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?

A single front-loaded sentence with no wasted words. It is arguably too terse for an async submission tool, but structurally clean and well-ordered.

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?

No output schema exists, yet the description only says a session id is returned. It omits the essential follow-up workflow (poll_remote_run, download_remote_artifacts, close_remote_session) that an agent needs to actually use the returned session id, and leaves the required parameter undocumented.

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 only 50%. The required 'source_path' has no description in either schema or description, and workspace_root is already documented in the schema. The description adds no parameter meaning, leaving the most important required input unexplained.

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 gives a clear verb and resource ('Start a background local simulation') plus the outcome ('return a session id'). However, it never distinguishes itself from siblings like run_simulation or submit_batch, and the term 'local' directly conflicts with the tool's name 'submit_remote_simulation', which muddies selection.

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?

There is no explicit when-to-use or when-not-to-use guidance. The agent is not told how this differs from run_simulation (synchronous?) or submit_batch, nor when the async session flow is preferable.

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

suggest_component_placementSuggest Component PlacementB
Read-onlyIdempotent

Suggest the next free grid point to the right of existing parts.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
schematic_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds the deterministic placement rule ('right of existing parts'), which is useful context consistent with the idempotent annotation, but says nothing about what the suggestion actually returns.

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?

A single front-loaded sentence with no filler; every word earns its place. It is efficient, though its brevity is partly under-specification rather than true concision.

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 no output schema, the description should clarify what a 'suggestion' returns (a coordinate? a structured object?), and it does not. Combined with the undefined required 'kind' parameter, the definition is minimally viable but leaves gaps an agent must guess at.

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 description coverage is only 33% (only workspace_root is documented). The description explains none of the parameters — notably 'kind', whose meaning (component kind? element type?) is completely undefined in both schema and description, which is a real ambiguity for a required parameter.

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?

States a specific verb (suggest) and resource (next free grid point placement) with a clear spatial rule, so the agent knows it returns a candidate position rather than mutating the schematic. It does not contrast itself against siblings like set_component_position or apply_schematic_layout_spec, so sibling differentiation is missing.

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 statement of when to use this versus alternatives; the natural neighbors (set_component_position, apply_schematic_layout_spec, add_component) are never mentioned. The agent must infer that this is a pre-placement advisory step.

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

summarize_batchSummarize BatchC
Read-onlyIdempotent

Summarize raw files sitting in a batch directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
batch_dirYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered structurally. The description adds essentially nothing beyond that — it does not say what 'summarize' produces, how large the summary is, whether it reads raw waveform data or just metadata, or whether the batch directory must exist.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though the terseness is under-specification rather than deliberate economy.

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?

With no output schema and no information about the return format, the agent cannot predict what a 'summary' contains — counts, aggregated metrics, or text. For a summarization tool whose whole value is the returned artifact, this is a material omission.

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 50% and the required batch_dir parameter carries no description in the schema. The phrase 'a batch directory' weakly implies batch_dir semantics but never states path format, relativity, or required existence, and the optional workspace_root override is left entirely to the schema. The description does not compensate for the coverage 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?

States a specific verb ('summarize') and resource ('raw files sitting in a batch directory'), which is enough to distinguish it from mutation-style siblings like submit_batch or cancel_batch. However it gives no differentiation against collect_batch_results or get_batch_status, which occupy adjacent batch-result territory, so an agent cannot fully route on the description alone.

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?

There is no when-to-use guidance, no prerequisite about the batch having been run or results being present, and no named alternative among the batch siblings (collect_batch_results, get_batch_status). The agent must infer usage purely from the name.

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

summarize_device_operating_pointsSummarize Device Operating PointsC
Read-onlyIdempotent

Count operating-point rows by unit.

ParametersJSON Schema
NameRequiredDescriptionDefault
log_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds only that the operation aggregates/counts rather than returning raw rows, which is modest context beyond the annotations but not rich behavioral disclosure.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler, so sizing is efficient. It borders on under-specification, but no sentence is wasted.

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?

With no output schema, the description should explain what the summary returns, yet 'by unit' is ambiguous (device name? measurement unit?) and the log_path input is unexplained. For a tool whose whole value is the shape of its aggregate, the description is too thin.

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 50%: workspace_root is documented in the schema, but log_path (the required parameter) is undocumented in both schema and description. The description says nothing about parameters, so it fails to compensate for the coverage 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?

States a specific verb (count/summarize) and resource (operating-point rows), and the 'by unit' grouping distinguishes it from the plain read. It does not name its obvious siblings read_device_operating_points or filter_device_operating_points, so differentiation is left to inference.

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 when-to-use guidance is given. The agent has to infer that this is the aggregation alternative to read_device_operating_points and filter_device_operating_points; no prerequisites, conditions, or exclusions are stated.

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

summarize_tolerance_analysisSummarize Tolerance AnalysisC
Read-onlyIdempotent

Summarize min, max, and mean of a stepped trace.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalYes
raw_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so safety is covered. The description adds the useful fact that the output is min/max/mean (valuable since there is no output schema), but says nothing about how the trace is located or what happens on missing/large inputs.

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?

A single eight-word sentence with the operation and result front-loaded; nothing is wasted. It is arguably under-specified rather than 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?

For a 3-parameter tool with two undocumented required inputs, no output schema, and a domain-specific concept ('stepped trace'), the description is too thin. The output fields are mentioned, but input semantics and usage context are not.

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 description coverage is 33% – only workspace_root is documented, while the required raw_path and signal have no schema descriptions. The description does not explain what raw_path points to or how signal is specified, so it fails to compensate for the coverage 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?

States a specific verb (summarize) and resource (stepped trace) plus the computed statistics, which gives the agent a concrete sense of the operation. It does not differentiate itself from the other summarize_* siblings (summarize_batch, summarize_device_operating_points), so it falls short of a 5.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as read_waveform or measure_waveform. An agent can only infer that this follows a step sweep from the word 'stepped'.

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

validate_topology_contributionValidate Topology ContributionC
Read-onlyIdempotent

Check that a contribution JSON object has the required keys.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only that required keys are checked, but says nothing about failure behavior (error vs. boolean), which keys are required, or whether unknown keys are rejected. For a validator with no output schema, this leaves the most important behavioral question unanswered.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though the terseness borders on under-specification given the tool's role in the topology workflow.

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?

With no output schema, no annotations about return values, and 0% parameter coverage, the definition omits what the check returns, how failures surface, and which keys are required. An agent could call it but could not interpret or act on the result without trial and error.

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 description coverage is 0%, so the description must carry the parameter burden. It calls the input a 'JSON object' while the schema types 'payload' as a string, without clarifying that the string should contain serialized JSON or what shape that JSON must have. This is a meaningful ambiguity for the only parameter.

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?

States a specific verb ('Check') and resource ('a contribution JSON object') plus the nature of the check ('has the required keys'), so an agent can distinguish it from the sibling ingest_topology_contribution. It stops short of explicitly naming that sibling or the validation's role in the ingest pipeline.

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?

There is no when-to-use guidance, no statement of the relationship to ingest_topology_contribution (validate before ingest?), and no note on whether validation is mandatory or advisory. The agent must infer the workflow entirely from the name.

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

write_workspace_text_fileWrite Workspace Text FileC

Write a text file inside the workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
relative_pathYes
workspace_rootNoOptional per-call workspace root override.

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond 'write a text file' — it says nothing about overwriting existing files, encoding, size limits, or path resolution, which are the behaviors an agent actually needs for a write tool.

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?

It is a single short sentence with no waste, but it is under-specified rather than genuinely concise — there is no front-loaded information beyond the obvious restatement of the name.

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?

For a write tool with 33% schema coverage, no output schema, and no annotations explaining side effects, the description is far too thin. An agent cannot tell what happens on path collisions or where relative_path resolves without guessing.

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 only 33%: only workspace_root has a description. The description does not explain relative_path (relative to what? the workspace root?), content semantics (text, overwrite?), or the root override, so it fails to compensate for the schema 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?

States a specific verb (write) and resource (text file inside the workspace), which distinguishes it from the schematic/netlist siblings. It doesn't name any near-alternative, but no sibling does the same thing, so clarity is high.

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?

There is no when-to-use guidance, no mention of prerequisites (workspace must exist, overwrite semantics), and no alternatives. The agent must infer usage entirely.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 145 tool updatesv0.0.1
    • First observedadd_component
    • First observedadd_component_from_asy
    • First observedadd_component_symbol_drawing
    • First observedadd_hierarchical_block
    • First observedadd_instruction
    • First observedadd_junction
    • First observedadd_library_component
    • First observedadd_library_include
    • First observedadd_model
    • First observedadd_net_label
    • First observedadd_wire
    • First observedapply_schematic_layout_spec
    • First observedcancel_batch
    • First observedcancel_run
    • First observedcheck_schematic
    • First observedclose_live_gui_session
    • First observedclose_remote_session
    • First observedcollect_batch_results
    • First observedcompare_schematics
    • First observedcompare_waveforms
    • First observedcompute_thd
    • First observedcreate_asy_symbol
    • First observedcreate_schematic
    • First observedcreate_starter_schematic
    • First observeddescribe_edit_capability
    • First observeddescribe_live_gui_support
    • First observeddescribe_mixed_signal_support
    • First observeddescribe_protocol_support
    • First observeddescribe_reference_circuit_recipe
    • First observeddescribe_schematic_edit_support
    • First observeddescribe_schematic_layout_spec
    • First observeddescribe_server_capabilities
    • First observeddescribe_topology_authoring_support
    • First observeddescribe_topology_block
    • First observeddownload_remote_artifacts
    • First observedevaluate_waveform_expression
    • First observedexport_derived_raw
    • First observedexport_fft_spectrum
    • First observedexport_measures_csv
    • First observedexport_symbol_to_asy
    • First observedexport_touchstone_s2p
    • First observedexport_waveform_ascii
    • First observedexport_waveform_csv
    • First observedexport_waveform_spice
    • First observedfilter_device_operating_points
    • First observedgenerate_netlist
    • First observedget_batch_status
    • First observedimport_circuit_bundle
    • First observedingest_topology_contribution
    • First observedinspect_schematic
    • First observedlist_components
    • First observedlist_includes
    • First observedlist_measures
    • First observedlist_plot_suggestions
    • First observedlist_reference_circuit_recipes
    • First observedlist_signals
    • First observedlist_steps
    • First observedlist_subcircuits
    • First observedlist_topology_blocks
    • First observedlist_workflow_instructions
    • First observedmaterialize_recipe
    • First observedmaterialize_reference_circuit
    • First observedmeasure_bode_response
    • First observedmeasure_efficiency
    • First observedmeasure_stability_margins
    • First observedmeasure_step_response
    • First observedmeasure_waveform
    • First observedmerge_waveforms
    • First observednormalize_component_text_rotation
    • First observedopen_schematic_in_gui
    • First observedplot_waveforms
    • First observedpoll_live_gui_session
    • First observedpoll_live_gui_session_events
    • First observedpoll_remote_run
    • First observedprepare_ac
    • First observedprepare_dc_sweep
    • First observedprepare_four
    • First observedprepare_func
    • First observedprepare_ic
    • First observedprepare_loop_gain_analysis
    • First observedprepare_meas
    • First observedprepare_monte_carlo
    • First observedprepare_net
    • First observedprepare_nodeset
    • First observedprepare_noise
    • First observedprepare_op
    • First observedprepare_options
    • First observedprepare_param
    • First observedprepare_save
    • First observedprepare_step
    • First observedprepare_temperature_sweep
    • First observedprepare_transfer_function
    • First observedprepare_transient
    • First observedprepare_worst_case
    • First observedread_component
    • First observedread_component_symbol
    • First observedread_device_operating_points
    • First observedread_fourier
    • First observedread_log
    • First observedread_measures
    • First observedread_net_connectivity
    • First observedread_noise
    • First observedread_subcircuit
    • First observedread_waveform
    • First observedread_workflow_instruction
    • First observedrefresh_schematic_in_gui
    • First observedremove_component
    • First observedremove_component_symbol_drawing
    • First observedremove_instruction
    • First observedremove_junction
    • First observedremove_net_label
    • First observedremove_wire
    • First observedrename_component_reference
    • First observedrender_schematic_image
    • First observedresolve_model_libraries
    • First observedrun_model_sweep
    • First observedrun_monte_carlo
    • First observedrun_param_sweep
    • First observedrun_simulation
    • First observedrun_value_sweep
    • First observedrun_worst_case
    • First observedsave_netlist_copy
    • First observedsave_schematic_as
    • First observedscaffold_behavioral_subcircuit
    • First observedscaffold_i2c_device
    • First observedscaffold_spi_device
    • First observedsearch_topology_blocks
    • First observedsend_live_gui_session_command
    • First observedset_component_parameters
    • First observedset_component_position
    • First observedset_component_symbol_pin
    • First observedset_component_symbol_text
    • First observedset_component_value
    • First observedset_element_model
    • First observedset_parameter
    • First observedset_subcircuit_component_parameters
    • First observedset_subcircuit_component_value
    • First observedsubmit_batch
    • First observedsubmit_remote_simulation
    • First observedsuggest_component_placement
    • First observedsummarize_batch
    • First observedsummarize_device_operating_points
    • First observedsummarize_tolerance_analysis
    • First observedvalidate_topology_contribution
    • First observedwrite_workspace_text_file

TDQS

C2.4/5.0

Scored across 145 tools

Disambiguation2/5

145 tools include many overlapping run/prepare/measure/export operations (e.g., run_simulation, submit_batch, submit_remote_simulation; prepare_ac vs add_instruction). While names are descriptive, an agent will struggle to choose the right tool for a given task.

Naming Consistency5/5

All tool names use snake_case with a leading verb (add_, get_, list_, prepare_, run_, etc.), forming a consistent verb_noun pattern. No camelCase or mixed conventions.

Tool Count1/5

145 tools is extreme for any MCP server, far exceeding the 50+ threshold for mismatch. Many tools are thin wrappers around specific SPICE directives or analysis types, bloating the surface.

Completeness4/5

The surface covers schematic editing, simulation setup, execution, batch/remote runs, analysis, and export comprehensively. Minor gaps exist, such as no direct schematic deletion or fully supported live GUI control, but core workflows are complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    F
    maintenance
    A comprehensive Model Context Protocol server that connects AI assistants to Electronic Design Automation tools, enabling Verilog synthesis, simulation, ASIC design flows, and waveform analysis through natural language interaction.
    6
    112
    -
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that connects LLM assistants to real circuit simulation: LTspice and ngspice, plus direct editing of LTspice .asc schematics. Simulation results come back as structured numbers so the assistant can design, verify, and iterate on circuits.
    48
    298 PyPI
    59
    GPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Generates, simulates, and inspects LTspice circuits via MCP tools and resources, providing structured JSON interfaces for AI agents.
    MIT