Skip to main content
Glama
MatteoBaisini

solidworks-mcp

solidworks-mcp

tests M8ven Trust Score

An MCP server that lets an AI assistant model parts in SolidWorks. The assistant sketches, extrudes, cuts, measures and exports through the SolidWorks COM API, in the SolidWorks window you have open, so you can watch and take over at any point.

  • Dimensions are always millimetres and degrees.

  • Works with SolidWorks in any language.

  • Starts SolidWorks if it is not running.

  • Commands run one at a time; if SolidWorks stops answering you get an error instead of a hang.

Requirements

  • Windows with SolidWorks installed and licensed

  • Python 3.11 or newer

  • An MCP client (Claude Code, Claude Desktop, Cursor, ...)

Developed and tested on SolidWorks 2026. The API calls used go back many releases, but older versions have not been tested.

Related MCP server: solidworks-mcp

Install

One-click installer (Windows)

Download SolidWorks-MCP-Setup.exe and run it. It needs no administrator rights and sets up everything for Claude Code:

  • uv and this server, pinned to the latest release (no Python or Git needed beforehand)

  • Claude Code, if it is not installed yet

  • a work folder, Documents\SolidWorks-MCP, with .mcp.json, design instructions for the assistant (CLAUDE.md), the server's tools pre-approved, and a projects folder for your parts

Then double-click SolidWorks-MCP on the desktop: Claude Code opens in the work folder and starts the server. The first time, it asks you to log in (Pro, Max, Team or Enterprise plan) and to trust the folder. The shortcut checks for a new release once a day; Start menu > SolidWorks-MCP > Repair fixes a broken install, and uninstalling keeps your work folder.

The installer is not code-signed, so Windows SmartScreen may show Windows protected your PC: choose More info > Run anyway.

To build it yourself: bash installer/build.sh (needs NSIS). Pushing a v* tag builds it on GitHub Actions and attaches it to the release.

Manual install

With uv, nothing needs installing by hand. Add the server to your MCP client configuration:

{
  "mcpServers": {
    "solidworks": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/MatteoBaisini/solidworks-mcp", "solidworks-mcp"]
    }
  }
}

With pip:

pip install git+https://github.com/MatteoBaisini/solidworks-mcp

and use "command": "solidworks-mcp" with no arguments in the client configuration.

From a clone, run install.bat (it creates .venv and installs the server in it), then use the full path of .venv\Scripts\solidworks-mcp.exe as the command.

SolidWorks and the server must run with the same privileges: do not run either one as administrator.

CLI Tools (doctor & install)

  • Diagnostics (doctor): verify SolidWorks COM connectivity, permissions, and default templates:

    solidworks-mcp doctor
  • Automated Client Setup (install): configure Claude Desktop, Cursor, or Windsurf with automatic backups of existing configurations:

    solidworks-mcp install --client claude   # or cursor, windsurf, all

Tools

Every tool declares standard MCP annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint), allowing clients to automatically authorize safe read and inspection calls while prompting for changes.

Group

Tools

Information

get_active_document_info, get_feature_tree, get_bounding_box, get_mass_properties, get_screenshot, measure, check_model

Documents

new_part, save_document, export_document

Assemblies

new_assembly, insert_component, add_mate, check_interference

Drawings

new_drawing, insert_model_dimensions

Configurations

list_configurations, activate_configuration, add_configuration

Selection

select_plane, select_face_at_point, select_edge_at_point

Sketch

start_sketch, end_sketch, sketch_line, sketch_rectangle, sketch_circle, sketch_arc, sketch_polygon, sketch_slot, sketch_ellipse, sketch_spline, sketch_fillet, sketch_offset, convert_entities, convert_point

Sketch constraints

fully_define_sketch, add_sketch_dimension, add_sketch_relation

Features

extrude, cut_extrude, revolve, rib, sweep, loft, create_plane

Finishing

fillet, chamfer, shell, hole

Sheet Metal

base_flange, edge_flange, export_flat_pattern

Patterns

linear_pattern, circular_pattern, mirror

Material

list_materials, set_material

Parameters

get_dimensions, set_dimension, suppress_feature, get_equations, add_equation, delete_equation, get_custom_properties, set_custom_property

Editing

undo, delete_feature, zoom_to_fit

Optional

execute_solidworks_macro (off by default, see Security)

A typical part is new_part → select_plane → start_sketch → sketch tools → extrude, then select_face_at_point → start_sketch → cut_extrude for pockets, hole for drilled holes, fillet / chamfer for the edges and set_material for a real mass.

How the assistant points at things:

  • Sketch tools take sketch coordinates (x, y). start_sketch reports how the sketch axes map onto the model, and convert_point converts single points.

  • Faces, edges and vertices (fillet, chamfer, shell, hole, measure, ...) are picked by a point lying on them, in model coordinates [x, y, z]. The pick is geometric, so it also finds entities hidden in the current view.

  • Features and sketches are referred to by the names in the feature tree, which every tool that creates one returns.

  • Extrusions and cuts can go blind, midplane, through all or up to a face, in two directions, with draft, and as thin walls.

  • hole drills plain, counterbored or countersunk holes, sized by diameter or by metric screw size (ISO 273 clearance, tap drill, ISO 4762 / ISO 10642 counterbores and countersinks). Threads are not modelled.

  • Linear and circular patterns run along the model axes (a hidden reference axis is added the first time) or around an edge.

Prompts & Resources

In addition to tools, the server exposes standard MCP prompts and live read-only resources:

  • Prompt design_part: Step-by-step guidance and recommended workflow for mechanical design from initial plane selection to feature creation, inspection, and export.

  • Resource solidworks://active/info: Live status, document title, file path, document type, and SolidWorks revision.

  • Resource solidworks://active/feature-tree: Current design feature tree with names and types.

  • Resource solidworks://materials: Configured material databases and categories.

Configuration

Settings live in a TOML file; every key is optional. Copy config.example.toml, which documents all of them, and tell the server where it is in one of these ways (first match wins):

  1. --config <path> on the command line

  2. the SOLIDWORKS_MCP_CONFIG environment variable

  3. solidworks-mcp.toml in the server's working directory

  4. %APPDATA%\solidworks-mcp\config.toml

For example, to keep every part in a projects folder and export STEP and STL next to the models:

[projects]
directory = "projects"       # relative to this file, or an absolute path

[export]
formats = ["step", "stl"]
directory = "../{format}"

With a projects folder set, the assistant saves each part as <project>/cad/<project>_v<N>_<description>.SLDPRT inside it, creating the folders and numbering the versions, without being told where to save each time. export_document then writes <project>/step/<part>.step and <project>/stl/<part>.stl.

A clone of this repository comes with a projects/ folder ready for this; its contents are ignored by git, so your parts are not published.

Command line

solidworks-mcp [--transport stdio|sse|streamable-http] [--port 8000] [--config PATH]

The default transport is stdio, which is what MCP clients expect when they start the server themselves. sse and streamable-http serve on http://127.0.0.1:<port> (/sse or /mcp) and are reachable from this PC only.

Security

execute_solidworks_macro lets the assistant run arbitrary Python code on your PC, with your privileges. It exists because the dedicated tools do not cover everything (assemblies, drawings, sheet metal, ...), but it is disabled unless you turn it on:

[macro]
enabled = true

Enable it only if you trust the assistant and everything it reads. The SOLIDWORKS_MCP_ALLOW_MACRO environment variable (1 or 0) overrides the file.

The assistant works in your live SolidWorks session, on whichever document is active. Save your own work before letting it model, and keep an eye on which document is in front.

Troubleshooting

  • "SolidWorks is not running (or cannot be reached)" while it is open: SolidWorks or the server is running as administrator and the other is not.

  • "got no answer from SolidWorks within 90 s": a dialog is usually waiting in the SolidWorks window, or SolidWorks is still starting. Answer the dialog and retry; raise command_timeout_s if your models are slow to rebuild.

  • "Default part template not set": set one in SolidWorks under Options > File Locations / Default Templates.

Development

git clone https://github.com/MatteoBaisini/solidworks-mcp
cd solidworks-mcp
python -m venv .venv
.venv\Scripts\pip install -e .[dev]
.venv\Scripts\pytest

The tests do not need SolidWorks. For an end-to-end check against a running SolidWorks:

.venv\Scripts\python examples\smoke_test.py         # read only
.venv\Scripts\python examples\smoke_test.py draw    # creates a plate with a hole

License

MIT

Available Tools

69 tools
activate_configurationA
Idempotent

Activates an existing configuration by name in the active part or assembly.

NameRequiredDescriptionDefault
nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare that this is a non-read-only, idempotent, non-destructive operation. The description adds the important context that activation targets an existing configuration in the active part or assembly, but it does not describe failure behavior when the name is missing or the document has no matching configuration.

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?

It is a single front-loaded sentence with no filler. Every phrase contributes to action, target, or scope.

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 simple one-parameter activation tool with an output schema and rich annotations, the description covers the core action and document scope. It could be slightly more complete by noting what happens when no matching configuration exists.

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%, so the schema only says the parameter is a string named 'name'. The description compensates partially by clarifying that 'name' refers to an existing configuration to activate, but it does not specify matching rules or formatting.

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: activate an existing configuration. It adds useful scope ('by name in the active part or assembly') but does not explicitly contrast with siblings such as list_configurations or add_configuration.

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: use it to activate an existing configuration in the active document. However, it gives no explicit when-to-use guidance, prerequisites, or alternatives for listing or adding configurations.

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

add_configurationB

Adds a new configuration to the active part or assembly document and activates it.

NameRequiredDescriptionDefault
nameYes
commentNo
descriptionNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnly=false, destructive=false, idempotent=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact beyond that: the new configuration is automatically activated. It is silent on duplicate-name handling (error vs. auto-suffix) and on the non-idempotent consequence of calling twice, which is the main risk an agent needs to know.

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 front-loaded sentence with no filler; the creation action and the activation side effect both land immediately. It is efficient, though a second short clause on naming/duplicate behavior would have earned its place.

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

Completeness3/5

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

An output schema exists, so return values need no explanation, and annotations cover the mutation profile. But with three undocumented parameters at 0% schema coverage and no statement about duplicate names or document-state preconditions, an agent still lacks what it needs 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 0% — the schema only supplies titles, no semantics for name, comment, or description. The tool description does not compensate at all: it never mentions the name parameter's requiredness or naming constraints, nor that comment and description are optional free-text metadata.

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 (adds) and resource (a new configuration) plus the scope (active part or assembly document), and adds that the new configuration becomes active. This clearly separates it from activate_configuration (switches existing) and list_configurations (reads), though it does not name those siblings explicitly.

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

Usage Guidelines3/5

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

The usage is implied: create-and-activate a configuration in the currently active document. There is no explicit guidance on prerequisites (must a document be open?), on what to do instead when the configuration already exists, or on when to prefer activate_configuration over this tool.

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

add_equationA

Adds a global variable or an equation and rebuilds. Names go in double quotes, e.g. '"width" = 80' (global variable), '"D1@Boss-Extrude1" = "width" / 2' (drives a dimension). Numbers without units take the document units.

NameRequiredDescriptionDefault
equationYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare a non-readonly, non-idempotent, non-destructive mutation. The description adds context beyond them by disclosing that the call triggers a rebuild — a meaningful side effect on the model — and by spelling out the required string syntax. It stops short of saying what happens on a duplicate name or an invalid expression.

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 action and its side effect lead, followed by two compact examples that each teach a distinct mode. Every sentence earns its place and nothing is padded.

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

Completeness4/5

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

With an output schema present, return values need no explanation, and the description covers syntax, semantics and the rebuild side effect for a single-parameter mutation. It could be stronger by noting failure modes (bad syntax, duplicate variable name) that an agent should anticipate.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must carry the single parameter, and it largely does: double-quoted names, the two accepted expression shapes, and the unit-defaulting rule for bare numbers. Only edge details (escaping, explicit units, multiple statements) are left implicit.

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

Purpose5/5

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

Specific verb plus resource ('Adds a global variable or an equation'), with the two supported modes spelled out and each illustrated by a concrete example. An agent can immediately tell this apart from get_equations and delete_equation in the sibling list.

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

Usage Guidelines3/5

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

The description distinguishes the two forms of input (global variable vs. dimension-driving equation), which is useful context, but it never states when to reach for this tool versus set_dimension or add_sketch_dimension, nor any preconditions (e.g., an open document). Usage is implied rather than guided.

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

add_mateA

Adds a geometric mate constraint between two components in the active assembly.

Specify entities either by 3D points [x, y, z] mm in assembly coordinates lying on the faces/edges, or by entity names (e.g. 'Plane1@Part1-1@Assembly1'). Supported mate types: coincident, concentric, parallel, perpendicular, tangent, distance, angle.

NameRequiredDescriptionDefault
flipNo
alignmentNoclosest
angle_degNoAngle in degrees for angle mate
mate_typeYes
distance_mmNoDistance in mm for distance mate
entity1_nameNo
entity2_nameNo
entity1_pointNo
entity2_pointNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already establish that this is a non-read-only, non-idempotent, non-destructive mutation in the active assembly. The description adds useful context about supported mate types and coordinate/name-based entity selection, but does not mention over-constraint behavior, failure modes, or persistence of the new mate.

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 purpose is front-loaded in the first sentence, followed by precise entity-specification guidance and a compact supported-type list. There is no redundant or filler text.

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

Completeness3/5

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

Output schema existence removes the need to explain return values, and annotations cover safety characteristics. However, for a nine-parameter CAD mating tool with low schema coverage, the description still omits key semantics for alignment, flip, and how entity name and point parameters interact.

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 only 22%, so the description must compensate. It explains entity selection via 3D assembly-coordinate points or qualified entity names and lists mate types, but leaves alignment, flip, and the relationship between point and name parameters unexplained.

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

Purpose5/5

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

States a specific verb and resource: adds a geometric mate constraint between two components in the active assembly. This clearly differentiates it from sketch relations, assembly creation, and component insertion in the sibling list.

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?

Implies when to use it by describing the two entity-specification modes and supported mate types, but gives no explicit when-not-to-use guidance or comparison to alternatives such as add_sketch_relation.

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

add_sketch_dimensionA

Adds a driving dimension to the open sketch and sets it to 'value' (mm, or degrees for angles).

(x, y): a point on the entity (sketch coordinates). One entity: length of a line, diameter of a circle, radius of an arc. With (x2, y2) on a second entity: distance between them, or the angle between two lines. (text_x, text_y) places the text (default: next to the entity).

NameRequiredDescriptionDefault
x_mmYes
y_mmYes
valueYes
x2_mmNo
y2_mmNo
text_x_mmNo
text_y_mmNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover mutation, idempotency, and open-world behavior. The description adds useful behavior beyond that: the dimension is 'driving', value is in mm or degrees for angles, and text placement defaults next to the entity. It does not discuss failure cases such as over-constraining the sketch.

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 compact and front-loaded with the core action, then structured by coordinate groups. Every sentence contributes semantic detail without waste.

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

Completeness4/5

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

For a 7-parameter CAD mutation tool with an output schema and annotations, the description supplies the essential coordinate semantics, units, and default behavior. It is nearly complete, though it omits edge cases like conflicting constraints or what happens if no sketch is open.

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

Parameters5/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 parameter meaning. It explains x,y as a point on the entity, x2,y2 as an optional second entity for distance/angle dimensions, value units, and text_x,text_y as optional text placement with a default. This compensates well for the bare schema titles.

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: adds a driving dimension to the open sketch. It also explains the value unit. It does not explicitly differentiate from the sibling set_dimension or add_sketch_relation, 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 Guidelines4/5

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

Clear context is given: the sketch must be open, and one-entity versus two-entity modes are described. It does not say when to use this tool instead of set_dimension or add_sketch_relation, so no exclusions or alternatives are provided.

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

add_sketch_relationB

Adds a geometric relation between sketch entities of the open sketch.

points: [[x, y], ...] one point (sketch coordinates) on each entity involved. vertex: optional, one flag per point; true picks the sketch POINT there (an end point or centre) instead of the line/arc, as needed by coincident and midpoint (point first).

NameRequiredDescriptionDefault
pointsYes
vertexNo
relationYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare the mutation profile (readOnly=false, idempotent=false, destructive=false), so the description only needs to add context; it contributes the 'open sketch' prerequisite and the point-per-entity correspondence. It says nothing about failure behaviour (e.g. an over-constrained or already-defined sketch), whether duplicates are rejected, or what side effects the relation has on the sketch's degrees of freedom.

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 core action is front-loaded in one sentence, followed by two compact parameter notes keyed to their argument names. Dense but efficient; no filler, though the vertex sentence packs several ideas into one parenthetical that could be split for readability.

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?

An output schema exists, so return values need not be explained. However, this is a mutation tool with three parameters and zero schema description coverage, and the description omits the mapping of entity count to point count per relation and any error/constraint behaviour, leaving real gaps 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 0%, so the description carries the burden; it does explain points (one sketch-coordinate point per involved entity) and vertex (one boolean flag per point, selecting an endpoint/centre instead of the curve) plus the 'point first' ordering for coincident and midpoint. The relation parameter itself is never discussed, and the point count required per relation type is left unstated.

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 first sentence gives a specific verb (adds) and resource (a geometric relation) plus a scope qualifier ('sketch entities of the open sketch'), which cleanly separates it from assembly-level add_mate and from add_sketch_dimension. It does not explicitly name a sibling as the wrong choice, but the sketch-scoped phrasing makes the boundary inferable.

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 only implied: the tool operates on 'the open sketch', so an agent can infer start_sketch must precede it, and the vertex note hints that coincident/midpoint may need point picking. There is no explicit guidance on when to use this versus add_sketch_dimension or when a relation is invalid for a given entity type.

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

base_flangeB

Creates a sheet metal base flange / tab from the open or selected sketch.

NameRequiredDescriptionDefault
depth_mmNoExtrusion depth in mm for open sketch profiles
thickness_mmNoSheet metal thickness in mm
bend_radius_mmNoInternal bend radius in mm
reverse_thicknessNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this as a non-read-only, non-destructive, non-idempotent creation operation. The description adds useful context that it consumes an open or selected sketch and creates sheet metal geometry, but it does not disclose failure conditions, whether it creates a feature in the tree, or what happens when both an open and selected sketch exist.

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?

It is a single compact sentence with no wasted words, and the key action and source are front-loaded. Nothing is repeated from the schema or annotations.

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 creation tool that depends on an existing sketch and has sibling alternatives, the description is too sparse. An output schema means return values need not be explained, but prerequisites, interaction with edge_flange, and the meaning of undocumented parameters 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?

The schema describes three of four parameters well, but the description contributes no parameter semantics at all. The undocumented 'reverse_thickness' parameter is left without explanation in either the description or the schema, and the relationship between depth and open sketch profiles is not clarified further.

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 ('Creates') and resource ('sheet metal base flange / tab'), and it identifies the required source input ('open or selected sketch'). It is clear enough to distinguish from generic sketch or extrude tools, though it does not explicitly contrast with the nearby edge_flange sibling.

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 only implied by the phrase 'from the open or selected sketch'; there is no explicit when-to-use guidance, no mention of prerequisites beyond the sketch source, and no routing to alternatives such as edge_flange or extrude.

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

chamferA

Bevels edges. edge_points / face_points as for fillet. Default: distance_mm at angle_deg (45 = equal sides). With distance2_mm > 0 the two sides are distance_mm and distance2_mm (angle ignored); flip swaps the sides of an unequal chamfer.

NameRequiredDescriptionDefault
flipNo
angle_degNoChamfer angle in degrees (0 < angle < 90)
distance_mmYesChamfer distance in mm
edge_pointsNo
face_pointsNo
distance2_mmNoSecond chamfer distance in mm

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare non-readonly, non-destructive, non-idempotent, so the safety profile is covered. The description adds genuinely useful behavioral detail beyond that: it discloses the precedence rule (distance2_mm > 0 overrides angle_deg) and what 'flip' changes, which is exactly the kind of interaction an agent needs.

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?

Front-loaded with the core verb, then compact parameter rules with no filler. The second sentence is dense and runs several clauses together, but every clause carries information.

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

Completeness4/5

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

With annotations and an output schema present, the description covers the operation and its mode-selection logic adequately for a multi-mode feature tool. Minor gaps remain around edge/face point selection and document context, but nothing that would cause a wrong call.

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

Parameters4/5

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

Schema coverage is 50%, so the description must compensate, and it does for the key numeric parameters: angle default 45 meaning equal sides, distance2_mm switching to a two-distance mode, and flip's effect. edge_points/face_points are only deferred by reference ('as for fillet'), leaving their selection semantics dependent on the sibling's 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?

The opening 'Bevels edges' states a specific operation on a specific entity, and the rest of the description clarifies the geometric meaning of the chamfer parameters. It does not explicitly contrast with the sibling 'fillet' (which rounds rather than bevels), so an agent must infer that distinction, but the verb+resource are unambiguous.

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 through parameter behavior ('Default: distance_mm at angle_deg', 'With distance2_mm > 0 ...'), which tells the agent which mode to pick, but there is no explicit when-to-use/when-not guidance and no mention of prerequisites such as an active part or a selected edge.

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

check_interferenceA
Read-onlyIdempotent

Checks the active assembly for volumetric interferences (collisions) between components.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/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 that the operation targets the active assembly and reports volumetric collisions only, but says nothing further (e.g. whether it requires an open assembly or how many components are scanned).

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 clean sentence with zero filler and the object of the check front-loaded. Its brevity costs a little specification, but nothing is wasted.

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 rich annotations, an output schema covering results, and no parameters, the definition needs little more than stating scope. Only the prerequisite (an active assembly with multiple components) and the relationship to 'check_model' are left implicit.

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 baseline is 4; there is no parameter semantics to explain and the description correctly avoids inventing any.

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 ('Checks the active assembly') and narrows the check to 'volumetric interferences (collisions) between components', which tells an agent exactly what is being tested. It does not, however, distinguish itself from the sibling 'check_model', which plausibly overlaps.

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?

Scope ('active assembly') implies the context in which it applies, but there is no explicit when-to-use / when-not-to-use guidance and no pointer to 'check_model' as the alternative for broader validation. Usage must be inferred.

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

check_modelA
Read-onlyIdempotent

Checks the active part for rebuild errors, multiple bodies, and geometry faults.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish that this is a safe, read-only, idempotent, non-destructive check. The description adds useful behavioral context by naming the specific problem classes it detects, which is meaningful beyond the annotations, though it does not describe outcomes 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.

Conciseness5/5

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

A single front-loaded sentence with no filler. Every clause adds diagnostic scope information.

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

Completeness4/5

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

With no parameters and an output schema present, the description needn't explain return values. It adequately covers what the tool inspects, though it leaves some ambiguity about the relationship with check_interference and what the agent should do based on failures.

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 has zero parameters, so there is no parameter semantics to explain; baseline is 4. The schema is empty and fully covered, and the description does not need to compensate for any undocumented inputs.

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 ('checks'), resource ('the active part'), and enumerates the exact fault classes inspected: rebuild errors, multiple bodies, and geometry faults. It is clear what the tool does, but it does not differentiate itself from the sibling check_interference, which could overlap in the mind of an agent.

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 as a diagnostic/validation step on the active part, but the description gives no explicit when-to-use conditions, prerequisites, or comparison to check_interference. There are no exclusions or alternative-tool routing instructions.

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

circular_patternA

Repeats features (names from get_feature_tree) around an axis: count copies in total (original included), spread evenly over angle_deg. axis: a model axis through the origin, or "edge" to turn around the circular or straight edge through axis_edge_point ([x, y, z] in mm, e.g. on the rim of a central hole).

NameRequiredDescriptionDefault
axisNoz
countYesNumber of copies (including original, >= 2)
reverseNo
featuresYes
angle_degNoTotal angle in degrees (0 < angle <= 360)
axis_edge_pointNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare non-read-only, non-destructive, non-idempotent, so the agent knows this mutates the model and repeat calls may stack. The description adds geometric semantics (axis through origin vs edge-based axis) but says nothing about what gets created in the feature tree, whether the original feature is consumed, or what happens on failure — meaningful gaps for a mutation tool.

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

Conciseness4/5

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

Front-loaded with the core operation, then the axis explanation as a secondary paragraph. No filler, though the line-broken formatting is a little awkward and the `reverse` omission means the size isn't the issue — content is.

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?

Output schema exists, so return values needn't be described, and annotations cover the safety profile. The description handles the trickiest parameter (edge-axis definition) well; the remaining gap is the undocumented `reverse` flag and no statement of where the resulting feature lands.

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%, and the description carries real weight for `axis` and `axis_edge_point`, which are barely documented in the schema — that is genuine added value. But `reverse` is never mentioned in either place, and `angle_deg` semantics are only implied by 'spread evenly over angle_deg'. The partial coverage and the undocumented flag pull this to a 3.

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: 'Repeats features ... around an axis', with the meaning of count (total copies, original included) and the angular spread spelled out. It is functionally distinguishable from siblings like linear_pattern or mirror, though it never names 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 Guidelines3/5

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

Useful implied guidance: features come from get_feature_tree, so the agent knows it must look up feature names first. However, there is no explicit when-to-use vs linear_pattern/mirror, and no stated precondition such as which document or body the pattern applies to.

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

convert_entitiesA

Projects edges of the model into the open sketch (Convert Entities): all the edges of each face with a point in face_points, and each edge with a point in edge_points ([x, y, z] in mm, model coordinates). The new sketch entities follow the model when it changes.

NameRequiredDescriptionDefault
edge_pointsNo
face_pointsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare a mutating, non-idempotent, non-destructive operation; the description adds genuinely new behavior by stating that 'the new sketch entities follow the model when it changes' — associative/reference geometry semantics the agent could not infer from annotations. It stops short of saying what happens if no sketch is open or if both point lists are null.

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 front-loaded sentence with the verb and target first, then the selection semantics. Slightly dense nesting ('all the edges of each face with a point in face_points') but no wasted sentences.

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?

An output schema exists so return values need not be described, and both optional parameters are explained including units and coordinate frame. The remaining gap is the implicit prerequisite of an active sketch and the all-null case, minor for a two-parameter tool.

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?

With 0% schema description coverage, the description carries the full burden and largely succeeds: face_points selects faces by containing a point, edge_points selects edges by containing a point, and the coordinates are specified as [x, y, z] in millimetres in model coordinates. It does not clarify the null default or whether both lists may be omitted.

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 ('Projects edges of the model into the open sketch') and names the CAD operation it maps to ('Convert Entities'), which is far more informative than the bare name. It is distinguishable from siblings such as sketch_offset or sketch_line, though it does not explicitly contrast itself 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 Guidelines3/5

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

The phrase 'into the open sketch' implies the prerequisite that a sketch must already be active (via start_sketch), but this is never stated as a rule or failure condition. There is no guidance on when to prefer this over sketch_offset or manual sketch_line drawing.

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

convert_pointA
Read-onlyIdempotent

Converts a point between model coordinates and the coordinates of the open sketch. to="sketch": (x, y, z) is a model point, returns its sketch (x, y) and its distance from the sketch plane. to="model": (x, y) is a sketch point (z ignored), returns the model point.

NameRequiredDescriptionDefault
toNosketch
x_mmYes
y_mmYes
z_mmNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare this as read-only, idempotent, non-destructive, and closed-world. The description adds useful behavioral context: it depends on an open sketch, ignores z when converting to model coordinates, and returns both sketch coordinates and distance from the sketch plane. It does not describe error behavior if no sketch is open.

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

Conciseness5/5

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

The description is two dense sentences with no wasted text. It front-loads the purpose and immediately clarifies the two directional cases, which are the key details an agent needs.

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

Completeness5/5

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

Given the output schema and rich annotations, the description provides everything needed: what is converted, which coordinate system each direction expects, how z is treated, and what is returned. No critical behavioral or parameter information is missing.

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

Parameters5/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 parameter meaning, and it does: to="sketch" expects a model (x, y, z) point, while to="model" expects a sketch (x, y) point and ignores z. This fully maps to the four parameters and their directional semantics.

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

Purpose5/5

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

The description states a specific verb and resource: converting a point between model coordinates and open-sketch coordinates. It also explains the two conversion directions, so the agent can distinguish this from siblings like convert_entities or measure.

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

Usage Guidelines3/5

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

The description implies when each direction applies by explaining to="sketch" and to="model" semantics, but it does not explicitly say when to choose this tool over alternatives or note any prerequisites beyond the mention of an 'open sketch'. Usage is implied rather than framed as guidance.

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

create_planeA

Creates a reference plane parallel to another one, offset_mm away (e.g. for loft profiles). reference: "front", "top", "right" or the name of a plane; or give face_point ([x, y, z] mm on a planar face) to offset from that face. flip=True puts it on the other side. Returns its name, to use with select_plane.

NameRequiredDescriptionDefault
flipNo
offset_mmYesOffset distance in mm
referenceNofront
face_pointNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare it is non-read-only, non-idempotent and non-destructive; the description adds value beyond that by explaining offset direction, that flip=True mirrors to the other side, and that the tool returns a name to feed into select_plane. It does not cover failure behavior for an invalid reference or a non-planar face_point, which keeps it off a 5.

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?

Four tight sentences: purpose and offset first, reference modes second, flip third, return value last. The loft-profile example is the only optional flourish and it usefully signals the intended workflow.

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

Completeness5/5

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

For a 4-parameter mutation with an output schema already documenting return values, the description covers the geometry semantics, both reference modes, the flip behavior and the handoff to select_plane. Nothing an agent needs in order to invoke it correctly 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?

Schema coverage is only 25% (only offset_mm is annotated), so the description has to carry the rest — and it does, giving concrete reference values, the [x, y, z] mm format for face_point and its planar-face requirement, and the meaning of flip=True. It omits that offset_mm must be strictly positive (exclusiveMinimum: 0), which is the only substantive gap.

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

Purpose5/5

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

States a specific verb and resource plus the defining constraint: a reference plane parallel to another, offset_mm away. It also names the downstream consumer (select_plane), which distinguishes it from sibling selection/creation tools without opening any schema.

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

Usage Guidelines4/5

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

Explains the two mutually exclusive reference modes — a named/base plane ("front", "top", "right" or a plane name) versus a face_point on a planar face — and where the result is used. It stops short of stating when not to use it (e.g. versus select_plane on an existing plane), so it is clear context but not full routing guidance.

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

cut_extrudeA

Extruded cut (holes, pockets) with the last sketch. through_all=True goes right through (depth_mm ignored). reverse flips the direction; flip_side removes the material OUTSIDE the profile. up_to_point ([x, y, z] in mm on a face) cuts up to that face instead. depth2_mm > 0 also cuts that far in the opposite direction. draft_angle_deg tapers the walls (inwards, or outwards with draft_outward=True).

NameRequiredDescriptionDefault
reverseNo
depth_mmNoCut depth in mm (blind)
depth2_mmNoSecond direction cut depth in mm
flip_sideNo
through_allNo
up_to_pointNo
draft_outwardNo
draft_angle_degNoDraft angle in degrees (0 to <90)

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior5/5

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

The description discloses non-obvious behavior beyond the annotations: through_all ignores depth_mm, reverse flips direction, flip_side removes material outside the profile, up_to_point cuts to a face, depth2_mm cuts in the opposite direction, and draft_angle_deg tapers walls. These details are critical for calling the mutation correctly.

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 front-loaded with the core operation and then packs parameter behavior into short, useful clauses. Every sentence adds operational information, and there is no filler.

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 complex CAD mutation tool, the description covers the operation and all parameter interactions, and the output schema handles return values. It is almost complete, though it could more explicitly state prerequisites such as having an active or last sketch and clarify relationships to extrude/hole siblings.

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

Parameters5/5

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

Schema description coverage is only 38%, but the description compensates by explaining the meaning and interaction of all eight parameters, including through_all, depth_mm, reverse, flip_side, up_to_point, depth2_mm, draft_angle_deg, and draft_outward. It adds substantial meaning beyond the sparse schema descriptions.

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 operation: an extruded cut (holes, pockets) using the last sketch. This clearly separates it from additive extrusion by naming it a cut, but it does not explicitly distinguish it from the sibling hole or extrude tools.

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

Usage Guidelines3/5

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

Usage is implied by 'holes, pockets' and 'with the last sketch', but there is no explicit guidance on when to use this instead of extrude, hole, or other cut-related siblings. No exclusions or prerequisites beyond the last-sketch reference are stated.

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

delete_equationB
Destructive

Deletes the equation with that index (see get_equations).

NameRequiredDescriptionDefault
indexYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond the annotations — it does not say whether the deletion is irreversible, what happens to dimensions or geometry driven by that equation, or whether dependent features break. For a destructive operation on a parametric model 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.

Conciseness5/5

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

One front-loaded sentence with the destructive verb first and the cross-reference tucked in a parenthetical. Nothing is wasted and nothing is padded.

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?

An output schema exists so return values need not be explained, and the annotations cover the safety profile. What is left unsaid — consequences for dependent equations and the validity range of the index — is exactly what an agent needs before firing a destructive call, so the definition is adequate but not complete.

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

Parameters3/5

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

Schema description coverage is 0% and the single 'index' parameter is bare, so the description carries the burden. It does tell the agent where the index comes from ('see get_equations'), which is real added meaning, but it never says whether the index is zero- or one-based or what happens if it is out of range.

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?

Specific verb plus resource plus identifier: 'Deletes the equation with that index'. The parenthetical '(see get_equations)' scopes it against add_equation and the broader delete_feature sibling. It stops short of an explicit 'not delete_feature' statement, so 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 Guidelines3/5

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

The pointer to get_equations implies the precondition (obtain an index first), but usage is only implied. There is no explicit statement of when to use this versus deleting a feature, and no warning about when not to call it.

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

delete_featureB
Destructive

Deletes a feature from the tree by name (see get_feature_tree).

NameRequiredDescriptionDefault
nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, so the safety profile is known. The description adds nothing beyond that: it doesn't say whether dependent/child features are also removed, whether the operation is irreversible, or what happens if the name doesn't 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 short sentence with the destructive action front-loaded and the discovery hint attached inline. No filler; only slightly thin rather than padded.

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?

Return values are covered by the output schema, so the description needn't explain them. For a destructive mutation, however, the cascade behavior and failure mode are important missing context.

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

Parameters3/5

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

Schema description coverage is 0%, so compensation was needed. The description does clarify that 'name' means a feature-tree entry and points at get_feature_tree for discovery, but gives no matching rules (case sensitivity, exact vs partial name).

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 ('Deletes a feature') plus the identifying key ('by name'), which is more informative than the bare tool name. It doesn't explicitly contrast with the sibling suppress_feature, 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 Guidelines3/5

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

The parenthetical '(see get_feature_tree)' gives a concrete prerequisite for obtaining a valid name, which is implied usage guidance. There is no statement about when to prefer suppress_feature over deletion, or any preconditions such as the feature being present.

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

edge_flangeB

Creates a sheet metal edge flange on the selected or indicated edge.

NameRequiredDescriptionDefault
angle_degNoFlange bend angle in degrees (default 90)
length_mmYesFlange length in mm
radius_mmNoBend radius in mm; 0 uses part default
edge_point_mmNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and closed-world scope, so the mutation profile is covered. The description adds the useful targeting context (acts on the selected edge or an indicated point), but says nothing about failure modes when no valid edge exists or whether it adds a feature to the feature tree that can be edited later.

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, resource, and target in order and no filler. It is efficient, though its brevity borders on under-specification rather than true crispness.

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?

An output schema exists, so return values need not be explained, and 3 of 4 parameters are documented in-schema. Missing pieces are prerequisites/error behavior and any relationship to base_flange, which matter for a non-idempotent feature-creation 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 75%, so baseline is 3. The description hints that edge_point_mm is the 'indicated edge' mechanism, which is the one parameter the schema leaves undocumented, but it gives no format or coordinate-frame detail to compensate for that 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: 'Creates a sheet metal edge flange', plus the target ('selected or indicated edge'). An agent can tell this apart from base_flange by the word 'edge', but the description never names base_flange explicitly, so sibling differentiation is 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 Guidelines3/5

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

The phrase 'selected or indicated edge' implies the prerequisite (an edge must already be selected, or supplied via edge_point_mm), but usage is only implied. There is no statement of when to choose this over base_flange, or what to do if no edge is selected.

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

end_sketchA

Closes the open sketch without creating a feature.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/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 contribution is clarifying the non-feature-creating outcome, which is genuinely useful. It does not disclose what happens to the sketch geometry after closing, nor the behavior on a repeat call 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.

Conciseness5/5

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

A single short sentence with zero filler, front-loaded on the action and followed by the key qualifier. Nothing is wasted.

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 and an output schema present, the description need not explain return values, and the core effect is covered. A note on the state requirement (a sketch must be open) and on post-close geometry would make it complete.

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 no parameter semantics to explain; the baseline for a parameterless tool applies. The description does not add misleading or missing argument details.

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 ('Closes the open sketch') and adds a scope detail ('without creating a feature') that distinguishes it from feature-creating exits like extrude or revolve. It never names its natural counterpart start_sketch, so the sibling pairing is only implicit.

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

Usage Guidelines3/5

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

The phrase 'without creating a feature' hints at when to pick this over terminating a sketch via a feature operation, but that condition is left for the agent to infer. There is no explicit statement of when to call it, ordering relative to start_sketch, or what happens if no sketch is open.

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

export_documentA
DestructiveIdempotent

Exports the active document to exchange formats, next to the document or in 'directory'. Existing files with the same name are replaced.

formats: e.g. ["step", "stl"]; omit to use the formats set by the user in the configuration (STEP by default). Supported: step, stp, iges, igs, x_t, stl, 3mf, pdf, png. directory: absolute, or relative to the folder of the document; "{format}" is replaced by the format name. Omit to use the configured directory. Created if missing. Files are named after the document. The open document is left untouched.

NameRequiredDescriptionDefault
formatsNo
directoryNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior5/5

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

The annotations flag destructiveHint=true and idempotentHint=true, and the description supplies the missing context that explains those hints: "Existing files with the same name are replaced." It also covers directory-creation behavior ("Created if missing") and the key safety fact that the open document is untouched, which the agent cannot get from annotations alone.

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 purpose and the file-replacement warning are front-loaded, and per-parameter notes are line-separated so they scan well. There is slight redundancy between the "e.g. [\"step\", \"stl\"]" example and the "Supported:" list that follows it, but the overall length is justified by the information density.

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

Completeness5/5

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

With only two optional parameters, no enums, and an output schema already present, the description must cover the format vocabulary, default resolution, path rules, and side effects; it does all four. An agent has everything it needs to invoke the tool correctly without additional context.

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

Parameters5/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 full burden, and it does: formats gets an explicit supported-value list and a default-config fallback, and directory's absolute/relative resolution, "{format}" substitution token, and auto-creation are all spelled out. This is far more than the schema provides.

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

Purpose4/5

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

"Exports the active document to exchange formats" gives a specific verb and resource, and the format list (step, stl, pdf, ...) makes the scope concrete. It does not explicitly distinguish itself from the sibling save_document or export_flat_pattern, so sibling 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 Guidelines3/5

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

The description gives conditional guidance for each parameter (omit formats to use the user's configured formats, omit directory to use the configured directory), which is useful but is parameter behavior rather than when-to-use-this-tool guidance. It never names an alternative such as save_document or export_flat_pattern, so the choice between export paths is only implied by "exchange formats".

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

export_flat_patternA
DestructiveIdempotent

Exports the flat pattern of the active sheet metal part to a DXF file. Existing files with the same name are replaced. path: absolute path or relative filename for the DXF export. Omit to export next to the part.

NameRequiredDescriptionDefault
pathNo
remove_bendsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructive=true and idempotent=true, but the description adds critical overwrite context: existing files with the same name are replaced. It does not explain the effect of remove_bends or failure modes, but it adds meaningful destructive behavior beyond annotations.

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

Conciseness5/5

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

Four short sentences, front-loaded with the action and overwrite warning, followed by useful path semantics. No filler or redundant restatement.

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?

An output schema exists and annotations cover the safety profile, so return values and destructive status need not be explained. The description still leaves remove_bends and error/precondition behavior undocumented.

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%, so the description must compensate. It fully explains path as absolute/relative or omitted to export next to the part, but never explains what the remove_bends boolean does, leaving a clear gap.

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

Purpose5/5

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

States a specific verb and resource: exporting the flat pattern of the active sheet metal part to a DXF file. The sheet-metal/DXF specificity distinguishes it from the generic export_document sibling even without naming it.

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?

Implies usage for exporting a sheet metal flat pattern and explains the path-omission behavior. It does not state when to use export_document instead or mention prerequisites/exclusions such as requiring an active sheet metal part.

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

extrudeA

Extrudes the last sketch as a solid (closing it automatically if open).

end_condition: blind = depth_mm on one side; midplane = depth_mm split on both sides; through_all = through the existing solid; up_to_surface = up to the face through up_to_point ([x, y, z] in mm, model coordinates). depth2_mm > 0 also extrudes that far in the opposite direction (not with midplane). draft_angle_deg tapers the sides (inwards, or outwards with draft_outward=True). thin_wall_mm > 0 makes a thin wall of that thickness along the profile instead of filling it; open profiles (e.g. a chain of lines) are then allowed. merge=False keeps the result as a separate body.

NameRequiredDescriptionDefault
mergeNo
reverseNo
depth_mmNoExtrusion depth in mm (blind or midplane)
depth2_mmNoSecond direction depth in mm
up_to_pointNo
thin_wall_mmNoThin wall thickness in mm (0 for solid)
draft_outwardNo
end_conditionNoblind
draft_angle_degNoDraft angle in degrees (0 to <90)

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important behavioral details: it creates a solid, auto-closes open sketches, allows open profiles only for thin-wall extrusions, and can leave the result as a separate body when merge=False. It also clarifies direction and draft behavior.

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 first sentence gives the core action and resource, and the following lines efficiently map parameter names to behavior. The structure is dense but appropriate for a nine-parameter CAD operation, with no wasted prose.

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 complex extrusion tool with nine optional parameters, the description covers most decision-relevant behavior, including end conditions, thin walls, merge behavior, and draft. It is nearly complete, though reverse and the exact effect of some combinations remain lightly specified.

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

Parameters4/5

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

Schema description coverage is 44%, so the description must compensate, and it largely does by explaining end_condition modes, depth2_mm interaction with midplane, draft direction, thin-wall behavior, and merge=False. It leaves reverse unexplained, which prevents a perfect score.

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

Purpose5/5

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

The description states a specific CAD operation: extruding the last sketch into a solid. It clearly distinguishes this from cutting sibling operations like cut_extrude by specifying that the result is a solid, and it notes automatic sketch closing.

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

Usage Guidelines3/5

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

The description implies usage after creating a sketch and explains several conditional behaviors, such as open profiles being allowed only with thin_wall_mm. However, it does not explicitly name alternatives like cut_extrude or sweep and does not state when not to use this tool.

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

filletA

Rounds edges with a constant radius. edge_points: a point on each edge ([x, y, z] in mm, model coordinates); face_points: a point on each face whose edges are all rounded. Edges tangent to the chosen ones are rounded too.

NameRequiredDescriptionDefault
radius_mmYesFillet radius in mm
edge_pointsNo
face_pointsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations mark it as a non-readonly, non-idempotent mutation, and the description adds a genuinely non-obvious side effect: tangency propagation ('Edges tangent to the chosen ones are rounded too'), which is exactly the kind of detail annotations cannot carry. It still omits failure modes (radius too large for the edge) and whether partial success is possible.

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?

Three compact sentences, front-loaded with the operation, then per-parameter semantics, then the propagation caveat. No filler and no restatement of the tool name.

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 one documented parameter, two undocumented point arrays, and an output schema present, the description covers the essentials an agent needs to call it. Only the mutual-exclusivity/at-least-one requirement for the point arrays is missing, which is a small but real hole for a 3-parameter tool.

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

Parameters4/5

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

Schema coverage is only 33% (radius only), so the description must compensate, and it does: it defines edge_points and face_points semantics plus units and coordinate frame ([x, y, z] in mm, model coordinates). The remaining gap is that it never states that at least one of edge_points/face_points must be supplied, leaving the required combination ambiguous.

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 ('Rounds edges') plus the defining constraint ('constant radius'), which cleanly separates it from the point-selection siblings (select_edge_at_point) and adjacent features. It does not explicitly contrast with chamfer or sketch_fillet, so an agent must infer the distinction, but the geometric intent is unmistakable.

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 only implied: the two alternative targeting modes (edge_points vs face_points) are described, which hints at when to use which, but the description never says when to call fillet rather than chamfer, skirt, or sketch_fillet, nor what prerequisites exist. Minimum-viable routing guidance.

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

fully_define_sketchA

Adds the relations and dimensions (measured from the sketch origin) that the open sketch needs to be fully defined, so it keeps its shape and can be edited later through its dimensions (get_dimensions / set_dimension).

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare non-read-only, non-destructive, non-idempotent, closed-world behavior. The description adds real context beyond that: the sketch is mutated by accumulating relations and dimensions drawn from the sketch origin, so the agent knows the geometry becomes dimension-driven. It is silent on failure modes (already fully defined, under-constrained leftovers), how many constraints get added, and whether calling twice duplicates anything — notable 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 well-formed sentence that front-loads the action and its effect. The trailing parenthetical naming get_dimensions / set_dimension is slightly awkward inline rather than as a separate clause, but nothing is wasted.

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?

No parameters and an output schema exists, so the definition needn't cover return values; given that, the sketch-mutation intent and the dimensions-from-origin behavior are the key facts and both are present. The remaining gap is resilience behavior — what the agent should do before calling (is a sketch open?) and whether re-running is safe.

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 description correctly describes no argument behavior, implicitly relying on ambient state (the open sketch). Baseline 4 applies; nothing is missing because there is no schema surface to explain.

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 — adds the relations and dimensions needed to make the open sketch fully defined — including the precondition that a sketch must be open. It is clear what the tool does, but it never contrasts itself with the closely related per-entity siblings add_sketch_dimension and add_sketch_relation, which an agent could easily pick by mistake.

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 ('that the open sketch needs to be fully defined') and a downstream editing path is named (get_dimensions / set_dimension), which is useful. However, there is no explicit statement of when to prefer this over add_sketch_dimension/add_sketch_relation, nor what happens if the sketch is already fully defined, so the agent must infer selection and preconditions.

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

get_active_document_infoA
Read-onlyIdempotent

Name, path and type of the active SolidWorks document, and the SolidWorks version. Starts SolidWorks if it is not running.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

The annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the bar is lower, and the description still adds a genuinely important behavioral fact beyond them: it will launch SolidWorks if it is not running, a non-trivial side effect an agent should anticipate. It does not say what happens when SolidWorks is running but no document is open (error versus empty result), which is the main remaining ambiguity.

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

Conciseness5/5

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

Two short sentences with zero filler; the primary content (what is returned) is front-loaded and the side-effect caveat follows. Nothing repeats the name or title.

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?

An output schema exists, so return values need not be spelled out, and the annotations cover safety; the description supplies the one piece of context structured data cannot express (auto-start behavior). The only gap is undefined behavior when no document is active, which matters for an agent deciding whether to call it defensively.

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 baseline is 4 and there is nothing for the description to disambiguate. No parameter text is needed and none is missing.

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 the exact resource returned — the active document's name, path, type, plus the SolidWorks version — so the agent knows precisely what data it yields, and it is clearly distinguishable from data-querying siblings like get_feature_tree or get_mass_properties. It is a noun-phrase specification of return values rather than an explicit verb, which slightly weakens the action framing.

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 rather than stated: an agent can infer this is the way to learn which document is currently open before doing document-related work. There is no explicit when-to-use, no mention of alternatives (e.g. versus a listing tool), and no stated preconditions.

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

get_bounding_boxA
Read-onlyIdempotent

Bounding box of the solid bodies of the active part: min/max on X, Y, Z and overall size, in mm.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
max_mmYes
min_mmYes
size_mmYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, so safety is fully covered. The description's real contribution is scope ('solid bodies of the active part') and units (mm), which is useful, but it does not say what happens with no active part, no solid bodies, or surface-only bodies.

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?

One tight sentence with the returned quantities and units front-loaded; every clause carries information and nothing is repeated from annotations or schema.

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?

An output schema exists, so return structure need not be restated, and the description still names the returned values and units. Scope is well bounded (active part, solid bodies only); only edge-case behavior for empty/no-active-part states 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 there is no parameter semantics to explain – baseline 4 applies. The description correctly implies the call is fully parameterless and scoped implicitly to the active document.

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: bounding box of the solid bodies of the active part, with exact outputs (min/max X/Y/Z and overall size in mm). It is clearly distinguishable from get_mass_properties and get_dimensions by content, though it never names those siblings explicitly.

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 only implied by the phrase 'of the solid bodies of the active part' – an agent can infer it queries current geometry extents, but no when-to-use vs. measure/get_dimensions guidance or prerequisites (e.g., an active part must have solid bodies) are given.

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

get_custom_propertiesB
Read-onlyIdempotent

Custom properties of the active document (description, part number, ...), as used in BOMs and title blocks.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, and an output schema exists. The description adds useful context that it targets the 'active document' and gives example properties, but does not describe return format or behavior beyond the 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.

Conciseness4/5

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

A single compact sentence, front-loaded with the resource and scope. The trailing 'as used in BOMs and title blocks' clause earns its place as domain context, though the phrasing could be slightly tighter.

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 zero params, full annotations, and an output schema, the description needs to convey only purpose and scope, which it does. The only minor gap is not distinguishing this read from the set_custom_property write sibling.

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 no parameter semantics to document; baseline 4 applies. Schema coverage is 100% and nothing is left ambiguous.

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 resource (custom properties) scoped to the active document and gives concrete examples (description, part number). However, it is phrased as a noun rather than a verb+resource and never mentions the sibling set_custom_property, leaving the read-vs-write distinction implicit.

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?

'as used in BOMs and title blocks' describes what the properties are for, not when to call this tool or how it differs from get_active_document_info or set_custom_property. No when/when-not guidance or alternative routing is provided.

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

get_dimensionsA
Read-onlyIdempotent

Dimensions of a feature or sketch (or of the whole part when 'feature' is empty), with their full names (e.g. D1@Boss-Extrude1) and values in mm or degrees, for set_dimension.

NameRequiredDescriptionDefault
featureNo

Output Schema

NameRequiredDescription
countYes
targetYes
dimensionsYes

TDQS

A4/5.0
Behavior4/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 real value on top: units (mm or degrees) and the exact dimension-name convention returned, which is what an agent needs to chain into set_dimension. No rate/limit or ordering details, hence not a 5.

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 dense sentence with no filler; the parenthetical efficiently encodes the default-parameter rule. Slight awkwardness in embedding the clause mid-sentence rather than front-loading it, but nothing is wasted.

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?

Output schema exists, so return-shape explanation is unnecessary, and the description still previews the meaningful content (names + unit-bearing values). For a one-param read tool this is close to complete; only the accepted input format for a non-empty 'feature' is left implicit.

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

Parameters4/5

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

Schema coverage is 0% and the single parameter has no description, so the description must carry the burden — and it does: 'of the whole part when feature is empty' fully explains the default ''. It doesn't clarify what string format a non-empty feature value should take (feature name vs. sketch name), which is the remaining 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+resource: reads dimensions of a feature, sketch, or the whole part, and specifies the naming format (D1@Boss-Extrude1) and units. It distinguishes scope via the 'feature is empty' clause and pairs itself with set_dimension, though it doesn't contrast against near-neighbors like measure or add_sketch_dimension.

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

Usage Guidelines4/5

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

The phrase 'for set_dimension' establishes the primary workflow (read dimensions to then modify them), and the parenthetical defines the empty-feature case explicitly. It stops short of exclusions — nothing says when to prefer measure or get_feature_tree instead.

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

get_equationsB
Read-onlyIdempotent

Global variables and equations of the active document, with their index.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/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 fully covered structurally. The description adds useful scoping context that the action applies to the active document and that results are indexed, but nothing about ordering, empty states, or what 'index' means behaviorally.

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 compact sentence with no filler. It is front-loaded with the core resource, though the fragmentary phrasing makes it slightly less crisp than a full verb-led statement.

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?

Output schema exists, so return values need no explanation here, and the zero-parameter read operation is simple. Mentioning the active-document scope and the index field is sufficient context for correct 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 the baseline is 4; the schema is empty and the description correctly adds nothing spurious. There are no parameter semantics to clarify.

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 resource (global variables and equations) scoped to the active document, which distinguishes it from write-oriented siblings like add_equation, delete_equation, and set_dimension. It reads as a noun phrase rather than a verb+object, but the retrieval intent is unambiguous.

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

Usage Guidelines2/5

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

There is no explicit statement of when to call this versus alternatives such as get_dimensions, get_custom_properties, or add_equation/delete_equation. The read-only nature is implied but no conditions 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.

get_feature_treeA
Read-onlyIdempotent

List of the features of the active document (design tree), with the type of each.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

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, and destructiveHint=false, so the safety profile is covered. The description adds that feature types are returned, but does not disclose ordering, tree nesting, whether suppressed features are included, or behavior when no document is active.

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 compact sentence with no filler. The core resource and the returned feature-type detail are both front-loaded.

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

Completeness4/5

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

Given a zero-parameter read-only tool with a full output schema and annotations, the description is largely complete. Remaining gaps are minor behavioral details such as tree ordering and handling of suppressed features.

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 baseline is 4. There are no parameter semantics to clarify beyond the already-complete empty schema.

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

Purpose4/5

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

The description states a clear resource—features of the active document's design tree—and adds that each item includes its type. It is more specific than the tool name alone, though it does not explicitly differentiate itself from nearby inspection tools such as get_active_document_info or get_dimensions.

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 implies the tool inspects the active document's feature tree, but gives no explicit when-to-use guidance, prerequisites, or alternatives. An agent must infer that this is for listing features rather than querying dimensions, properties, or document metadata.

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

get_mass_propertiesA
Read-onlyIdempotent

Mass, volume, surface area and centre of mass of the active document (part or assembly).

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
mass_kgYes
volume_cm3Yes
volume_mm3Yes
surface_area_mm2Yes
center_of_mass_mmYes

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 openWorldHint=false, so the safety profile is fully covered by structured data. The description adds the meaningful scoping detail that it reads the *active* document and handles both parts and assemblies, but says nothing about cost, caching, or failure modes. Given annotation coverage, this is an appropriate 3.

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 fragment that front-loads the returned quantities with zero filler. Every word carries information and nothing is repeated from the title or annotations.

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

Completeness4/5

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

With an output schema present, the description need not enumerate return fields, and with zero parameters there is no input to document. The only shortfall is the unaddressed interaction with 'measure' and the lack of a stated precondition for the active document.

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; baseline 4 applies. The description correctly implies no input is required by framing everything around the already-active document.

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 the specific quantities returned (mass, volume, surface area, centre of mass) and the scope (active document, part or assembly), so an agent knows exactly what the tool yields. It is a noun phrase with no explicit verb and does not differentiate itself from the nearby sibling 'measure', which is a plausible overlap an agent must resolve on its own.

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, and the sibling list contains 'measure', 'get_bounding_box', and 'get_dimensions', which an agent could reasonably confuse with this. The 'active document' qualifier implies a precondition but never says it explicitly (e.g. what happens if no document is active).

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

get_screenshotA
Idempotent

PNG image of the active model, to check the result visually. Changes the view orientation (unless view='current') and zooms to fit; the model is not modified.

NameRequiredDescriptionDefault
viewNoisometric

TDQS

A3.8/5.0
Behavior4/5

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

The description adds useful behavior beyond the annotations: it changes view orientation unless view='current', zooms to fit, and does not modify the model. This clarifies the side-effect profile while remaining consistent with readOnlyHint=false and destructiveHint=false.

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 are front-loaded with the tool’s output and purpose, followed immediately by the important side effects. Every sentence earns its place.

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 simple one-parameter screenshot tool with annotations and no output schema, the description is nearly complete: it states the return type, visual-check purpose, view behavior, zoom behavior, and that the model is not modified. Only minor parameter enum details are left implicit.

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%, so the description must carry parameter meaning. It explains the special behavior of view='current' and implies orientation changes for other views, but it does not explain the other enum values or the default isometric view.

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: producing a PNG image of the active model for visual verification. It distinguishes the tool’s output from sibling model-inspection tools like get_mass_properties or check_model, though it does not explicitly name alternatives.

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

Usage Guidelines3/5

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

The phrase 'to check the result visually' implies when to use the tool, but the description does not give explicit when-not-to-use guidance or name alternative inspection tools such as check_model or zoom_to_fit.

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

holeA

Drills round holes into a planar face, perpendicular to it.

centers: the hole centres [[x, y, z], ...] in mm, model coordinates, all on the SAME face (the face is found through the first one). size: metric screw size ("M3" ... "M24") with fit: close / normal / loose clearance hole (ISO 273) or tapped = tap drill diameter (no thread is modelled); or give diameter_mm. depth_mm or through_all=True. style: counterbore / countersink for socket head screws; with a metric size their dimensions are standard (ISO 4762 / ISO 10642, 90 degrees), otherwise give them.

NameRequiredDescriptionDefault
fitNonormal
sizeNo
styleNosimple
centersYes
depth_mmNoHole depth in mm (0 if through_all)
diameter_mmNoHole diameter in mm (0 if using metric size)
through_allNo
counterbore_depth_mmNoCounterbore depth in mm
countersink_angle_degNoCountersink angle in degrees (0 < angle < 180)
counterbore_diameter_mmNoCounterbore diameter in mm
countersink_diameter_mmNoCountersink diameter in mm

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare the generic non-readonly/non-destructive profile; the description adds real behavior beyond that — no thread is modelled for tapped holes, metric sizes carry standard ISO 4762/ISO 10642 head dimensions, and the face is derived from the first center point. It stops short of saying what happens on failure (centers off-face) or the cut direction/start.

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?

Front-loaded purpose sentence, then per-parameter lines in the order an agent would reason about them (centers, size/fit, depth, style). Slightly compressed prose in the last clause, but no sentence is wasted.

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 an 11-parameter feature-creation tool with an output schema present, the description covers the decision-relevant inputs (size vs diameter, through vs depth, style variants) well. Minor gaps remain on the counterbore/countersink dimension parameters and error conditions, but nothing critical to a correct call 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?

Schema coverage is 55% across 11 parameters, so description carries real burden and does: centers format and coordinate system, size as metric designation, fit semantics (ISO 273 clearance vs tapped drill diameter), depth_mm or through_all=True, and style with standard counterbore/countersink dimensions. The explicit counterbore_/countersink_diameter_mm and angle parameters are only gestured at via 'otherwise give them'.

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 plus the geometric constraint: 'Drills round holes into a planar face, perpendicular to it.' An agent knows exactly what geometry results. It does not, however, distinguish itself from siblings like cut_extrude or sketch_circle+cut, so 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 Guidelines3/5

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

Usage is implied rather than stated: the note that all centers must lie on the SAME face, found via the first center, tells the agent when the tool is applicable. There is no explicit 'use this instead of cut_extrude' guidance or stated prerequisites such as an existing part/document.

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

insert_componentB

Inserts a part or sub-assembly component into the active assembly at (x, y, z) mm.

NameRequiredDescriptionDefault
pathYes
x_mmNo
y_mmNo
z_mmNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnly=false, idempotent=false, and destructive=false, so the safety profile is covered. The description adds that placement is in millimeters and that the insertion targets the active document, but says nothing about whether a new instance/reference is created, what happens on repeat calls, or what the operation requires of the source part.

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?

One compact sentence that front-loads the action, the object, the target document, and the units. Nothing 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?

An output schema exists, so return values need not be described, and annotations cover safety. The remaining gap is the required 'path' argument's format/source and any prerequisite check on an active assembly, which the description does not supply.

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% – the schema exposes only titles. The description clarifies the x/y/z units (mm) but never explains the required 'path' parameter (presumably a file path to the part/sub-assembly) or the 0 defaults. With zero schema coverage, the single most important parameter is left 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?

States a specific verb and resource ('Inserts a part or sub-assembly component') plus the target container ('active assembly'). This distinguishes it from siblings like new_part and new_assembly, though it does not name any sibling explicitly.

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?

'Active assembly' implies the prerequisite that an assembly document must already be open, which is useful implied guidance. However, there is no explicit when-to-use vs. when-not, and nothing tells the agent how this differs from new_assembly or new_part in a workflow.

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

insert_model_dimensionsA

Inserts model dimensions marked for drawing across all views in the active 2D drawing.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds genuine scope information — the insert fans out across ALL views in the active drawing, not a selected view — but says nothing about what happens on repeat invocation, which matters given idempotentHint=false (duplicate dimensions are likely).

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 sentence with zero filler, front-loaded with the action and immediately followed by its scope of effect. Nothing to cut.

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

Completeness4/5

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

With an output schema present, return values need not be explained, and with no parameters the call signature is trivial. The remaining gap is precondition/failure context — what happens if no drawing is active or no dimensions are marked, and whether re-running duplicates dimensions.

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 baseline is 4. The description adds no parameter semantics, but none are needed; the only implicit input is the active document and the marked-dimension state in the model.

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 and resource ("Inserts model dimensions") and scopes it precisely ("marked for drawing across all views in the active 2D drawing"). It is distinguishable from the dimension siblings (get_dimensions, set_dimension, add_sketch_dimension) by its drawing-view import semantics, though it never names an alternative explicitly.

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 rather than stated: the agent must infer that a 2D drawing must be active and that dimensions must already be marked in the model before calling. There is no explicit when-not-to-use guidance and no routing to sibling tools such as get_dimensions or add_sketch_dimension.

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

linear_patternA

Repeats features (names from get_feature_tree) in a row along a model axis: count copies in total (original included), spacing_mm apart, towards + (or - with reverse). direction2/count2/spacing2_mm add a second direction for a grid.

NameRequiredDescriptionDefault
countYesNumber of copies along direction 1 (including original, >= 2)
count2NoNumber of copies along direction 2 (>= 1)
reverseNo
featuresYes
reverse2No
directionYes
direction2No
spacing_mmYesSpacing between copies in mm
spacing2_mmNoSpacing between copies in direction 2 in mm

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

The annotations already establish that this is a non-readonly, non-destructive, non-idempotent operation. The description adds important behavioral semantics beyond that: count includes the original, reverse controls the negative direction, and the second direction produces a grid rather than a single row.

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 tightly written sentences, front-loaded with the core action and extended only to explain the optional grid direction. There is no wasted wording.

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?

An output schema exists, so the description need not document return values, and the annotations cover the safety profile. The description is complete for the main pattern operation, with only minor gaps around reverse2 and the exact meaning of direction2's empty default.

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

Parameters4/5

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

Schema description coverage is only 44%, so the description must carry weight. It compensates well by explaining features as names from get_feature_tree, count as total including the original, spacing_mm, reverse direction, and the second-direction grid parameters; only reverse2 and some default behavior remain 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?

The description states a specific verb and resource: it repeats selected features in a linear row along a model axis, including grid behavior via a second direction. This clearly distinguishes it from circular patterning by geometry, though it does not explicitly name a sibling alternative.

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 useful setup context, notably that feature names come from get_feature_tree and that direction2/count2/spacing2_mm create a grid. However, it does not state when to use this tool instead of circular_pattern or mirror, nor does it give exclusions or prerequisites for patterning.

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

list_configurationsA
Read-onlyIdempotent

Lists all configurations in the active part or assembly document, indicating the active one.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/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 adds real value beyond them by scoping results to the active document and noting that the active configuration is marked in the output, which affects how the agent interprets results.

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; the scope constraint and the active-configuration flag both land immediately.

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

Completeness4/5

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

With an output schema present, return values need no prose, annotations cover safety, and there are no parameters, so the description is nearly complete. The only residual gap is that it is silent on whether parent/sub-configurations are included or how an empty-configuration list behaves.

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 there is nothing to disambiguate and the schema requires no explanation. The description correctly spends no words on parameters and instead directs attention to the document scope.

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?

Specific verb ('Lists') plus resource ('all configurations') and an explicit scope ('active part or assembly document'), with the added detail that the active one is flagged. It is naturally distinguishable from add_configuration and activate_configuration, though it never names a sibling to compare against.

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 only implied: an agent can infer 'call this to discover what configurations exist before activating one,' but the description states no when-to-use condition, no prerequisites, and no alternative tools. Nothing misleading, just unstated.

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

list_materialsA
Read-onlyIdempotent

Materials available in the SolidWorks material databases, filtered by 'search' (part of the name or category, e.g. "6061", "steel", "abs"). Use the exact name with set_material.

NameRequiredDescriptionDefault
searchNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/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 the non-obvious matching semantics - that 'search' matches a substring of either the name or the category. It does not state what an empty search returns (presumably the full catalog), which is the one behavioral detail an agent would want.

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

Conciseness5/5

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

Two sentences, zero filler. The capability and its filter semantics come first, and the downstream usage instruction comes last, which is the correct front-loading order for a lookup 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?

An output schema exists, so return values need not be explained, and for a single optional-string read tool the description covers what the agent needs to call it correctly. The only gap is the default/empty-search behavior, which matters because the parameter is not required.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must carry the parameter, and it does: 'search' filters on part of the name or category, with concrete examples ('6061', 'steel', 'abs'). It omits that the parameter defaults to empty and what that means, and does not mention case sensitivity.

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 the resource (materials in the SolidWorks material databases) and the scoping operation (filtered by 'search'), which an agent can distinguish from the mutating sibling set_material. It is specific enough to act on, though it never uses a list/retrieve verb of its own, relying on the tool name for that.

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

Usage Guidelines4/5

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

It gives clear routing in one clause: 'Use the exact name with set_material', which tells the agent this is the discovery step preceding set_material and that the returned name must be reused verbatim. There is no explicit statement of when not to use it (e.g. when the material name is already known), so it stops short of a 5.

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

loftA

Loft through two or more closed profiles drawn on different planes (see create_plane), in order. guide_sketches: optional guide curves touching every profile. cut=True removes material instead of adding it. Close the sketches first (end_sketch).

NameRequiredDescriptionDefault
cutNo
guide_sketchesNo
profile_sketchesYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations cover safety (readOnly=false, destructive=false, openWorld=false), and the description adds substantive behavioral detail beyond them: the cut=True flag reverses material addition into removal, profiles must be closed, and guide curves must touch every profile. It leaves failure behavior and feature-creation effects unstated, so it stops short of full disclosure.

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?

Three dense sentences with the core operation first, then the optional parameter, then the boolean modifier and prerequisites. Every clause carries information an agent would otherwise have to guess; nothing is restated from the schema or annotations.

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?

An output schema exists, so return values need no explanation, and all three parameters plus the sketch-closing prerequisite are covered. What remains thin is error/validity behavior (what happens if profiles are not coplanar-compatible or guides miss a profile) and the format of the sketch arguments.

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?

With 0% schema description coverage, the description carries the load and does it well: cut is explained by effect, guide_sketches by its geometric constraint ("touching every profile"), and profile_sketches by cardinality and ordering ("two or more ... in order"). It does not say what format the sketch identifiers take, which keeps it off a 5.

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?

"Loft through two or more closed profiles drawn on different planes" gives a specific verb (loft) and the exact geometric resource, and the parenthetical reference to create_plane clarifies the plane requirement. It does not, however, distinguish itself from the closest sibling sweep, which an agent would plausibly weigh against it.

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

Usage Guidelines3/5

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

The description supplies real prerequisites ("Close the sketches first (end_sketch)", "see create_plane") that imply when the tool can be called. But it never says when to prefer loft over sweep/extrude/revolve, nor when a loft is inappropriate, so usage is inferred rather than stated.

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

measureA
Read-onlyIdempotent

Measures one entity (area, length, diameter...) or the distance and angle between two, picked by a point lying on each ([x, y, z] in mm, model coordinates). Replaces the current selection.

NameRequiredDescriptionDefault
type1Noface
type2Noface
point1Yes
point2No

Output Schema

NameRequiredDescription
area_mm2No
delta_mmNo
angle_degNo
length_mmNo
radius_mmNo
diameter_mmNo
distance_mmNo
is_parallelNo
perimeter_mmNo
is_perpendicularNo
center_distance_mmNo
normal_distance_mmNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds two behaviors the annotations cannot express: the call 'replaces the current selection' (a UI side effect) and coordinates are in mm/model space, which matters for agent-side coordinate construction. It does not cover error behavior for points that miss geometry, but with annotations carrying the safety profile this is solid.

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 tightly packed sentences, front-loaded with the primary capability, followed by the side-effect warning. No filler or 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?

An output schema exists, so return values needn't be explained, and the coordinate convention is covered. Gaps remain for a 4-parameter tool: the type1/type2 discriminators and the requirement that point2 be provided to get distance/angle are left to inference rather than stated.

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 0%, so the description carries the burden and does explain point1/point2 as [x, y, z] in mm model coordinates lying on the target geometry. However, type1/type2 (enum face/edge/vertex, defaulting to face) are never mentioned, so a quarter of the parameters — and the ones that determine what 'point lying on' means — are 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 (measures) plus the two modes it supports: a single entity (area, length, diameter) or distance/angle between two points selected on geometry. An agent can tell what it does without opening the schema. No sibling is named, but no other tool in the list measures geometry, so the risk of confusion is low.

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

Usage Guidelines3/5

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

The two modes are described, which implies when each applies (one point = single entity, two points = distance/angle), but there is no explicit when-to-use/when-not guidance and no comparison to related siblings such as get_bounding_box, get_dimensions, or get_mass_properties that could also answer measurement-ish questions.

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

mirrorB

Mirrors features (names from get_feature_tree) about a plane: "front", "top", "right", a plane name, or the planar face through face_point ([x, y, z] in mm).

NameRequiredDescriptionDefault
planeNoright
featuresYes
face_pointNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

Annotations already indicate this is a non-read-only, non-idempotent, non-destructive operation. The description adds no behavior beyond the basic purpose: it does not say whether the original features remain, whether new features are created, or what happens to dependent geometry.

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 definition is a single front-loaded sentence with no wasted text. It packs the operation, source of feature names, plane options, and face-point format efficiently.

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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. Still, for a feature-creating mutation tool, the description is thin on behavioral consequences and usage context relative to sibling pattern/feature 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?

Schema description coverage is 0%, so the description must carry parameter meaning. It does this well for all three inputs: features are names from get_feature_tree, plane accepts front/top/right or a named plane, and face_point is an [x, y, z] point in mm.

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 and resource: "Mirrors features ... about a plane." It is clearly distinguishable from generic pattern tools, though it does not explicitly contrast itself with linear_pattern or circular_pattern.

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?

It implies the tool's use for mirroring existing features and helpfully points to get_feature_tree for source names. However, it gives no explicit when-to-use guidance versus pattern tools and does not state prerequisites such as selecting a plane or face first.

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

new_assemblyB

Creates a new empty assembly in SolidWorks using the default or given assembly template.

NameRequiredDescriptionDefault
template_pathNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/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 that the result is an empty assembly (no components) built from a template, but says nothing about where the document is created, whether it becomes the active document, or how failures (missing template) behave.

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 resource, no filler. It is appropriately sized, though it leaves room for a short clause on preconditions at no real cost.

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?

An output schema exists, so return values need not be explained. However, for a document-creation tool with zero-required, zero-documented parameters, the description omits the created document's name/location and whether it is left open as the active document - gaps an agent would care about.

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%, so the schema alone leaves template_path opaque. The phrase 'default or given assembly template' does clarify that an omitted template falls back to the default, which is real added meaning for the single parameter, though it gives no hint about path format or overriding behavior.

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 ('Creates') and resource ('new empty assembly in SolidWorks'), which separates it from new_part and new_drawing in the sibling list. It does not explicitly name those siblings, but the resource noun is distinctive enough that an agent can route correctly.

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 (e.g. must be invoked before insert_component/add_mate), and does not contrast with new_part or new_drawing. Usage is only implied by the word 'new'.

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

new_drawingB

Creates a new 2D drawing from the currently active part or assembly document. Generates 3 standard 3rd-angle projection views (Front, Top, Right) and an Isometric view.

NameRequiredDescriptionDefault
template_pathNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/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. The description adds the non-obvious behavior that three standard views and an isometric view are auto-generated, but it stays silent on side effects such as whether the new drawing becomes the active document, whether it is persisted, or what happens if no document is open.

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 with the creation action front-loaded and the generated-view detail immediately after. Nothing is padded or redundant.

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?

An output schema exists, so return values need not be described, and the view set is well covered. Still missing for a document-creating tool are the template_path semantics and any statement about state changes or failure when no active document exists.

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 optional parameter template_path (default empty string) is never mentioned in the description. An agent cannot tell from either source what the empty default means (fallback default template?) or what format a path should take, 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.

Purpose4/5

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

Specific verb plus resource: "Creates a new 2D drawing from the currently active part or assembly document," and it goes further to state exactly what the output contains (Front/Top/Right 3rd-angle projections plus an Isometric view). The resource is clearly distinguishable from new_part and new_assembly, though it never names those siblings explicitly.

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?

"From the currently active part or assembly document" implies the prerequisite that an active document must exist, and that other document sources are not accepted. However, there is no explicit when-to-use/when-not guidance and no pointer to related tools such as save_document or export_document for the resulting drawing.

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

new_partB

Creates a new empty part from the default SolidWorks part template.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare it is a non-read-only, non-destructive, non-idempotent operation, so the safety profile is covered. The description adds that the part is 'empty' and comes from the 'default template', which is useful, but it omits whether the new part becomes the active document or whether an existing open document is affected.

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. Every word (verb, resource, emptiness, template source) carries 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?

An output schema exists, so return values need no explanation, and with no parameters the surface area is small. However, for a document-creation tool the description should say whether the new part becomes the active document and whether any existing document state is impacted, which it does not.

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; baseline 4 applies. Schema coverage is 100% and the argument object is empty, consistent with 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?

Names a specific verb ('Creates') and resource ('new empty part') and specifies the source ('default SolidWorks part template'). The resource noun 'part' cleanly separates it from new_assembly and new_drawing, though it never explicitly acknowledges those 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 statement of when to use this versus new_assembly/new_drawing, no prerequisites (does SolidWorks need to be running?), and no note about what happens if a document is already open. The agent must infer all usage context 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.

revolveA

Revolves the last sketch around the construction line it contains (create it with sketch_line construction=True). cut=True removes material instead of adding it.

NameRequiredDescriptionDefault
cutNo
angle_degNoRevolve angle in degrees (0 < angle <= 360)

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly=false, destructive=false, non-idempotent), so the description is free to add the implicitly stateful 'last sketch' scope and the material-removal semantics of cut=True — both are genuinely useful and not in the structured fields. Minor residual: no mention that angle defaults to a full 360 revolve and that results are appended as a new feature, so it doesn't fully explain effects.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core action and its precondition, then the one non-obvious flag. No filler and nothing redundant with the schema.

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

Completeness5/5

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

An output schema exists so return values need no explanation; the schema documents angle bounds; the description covers the stateful precondition and the undocumented cut flag. For a 2-parameter feature-creation tool this is sufficient to call it correctly.

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

Parameters4/5

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

Schema coverage is only 50% (cut has no description), and the description compensates by explaining that cut=True removes material rather than adding it — the single most important semantic for that flag. angle_deg is already documented in the schema with bounds, so nothing further is required there.

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 (revolve the last sketch) plus the geometric precondition (a construction line inside that sketch). It is clearly distinguishable from sweep/loft/extrude siblings by name and operation, though it never explicitly contrasts itself 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 Guidelines4/5

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

Gives real prerequisites: the sketch must be the last one and must contain a construction line, with the exact recipe (sketch_line construction=True) for satisfying that. It also explains the cut=True mode. What's missing is any explicit guidance on when to use revolve vs sweep/loft or when cut mode is preferred.

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

ribA

Rib from the last sketch: usually an open line between walls of the part, drawn on a plane through the middle of the rib. thickness_mm is the total thickness, centred on the sketch unless one_side=True. direction: parallel = material grows in the sketch plane, normal = perpendicular to it. flip_material flips the side towards which material is added if the rib does not reach the part.

NameRequiredDescriptionDefault
one_sideNo
directionNoparallel
thickness_mmYesRib thickness in mm
flip_materialNo
draft_angle_degNoDraft angle in degrees (0 to <90)

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/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 mutation. The description adds useful behavioral detail about thickness centering, material growth direction, and flip behavior when the rib does not reach the part.

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 front-loaded with the core definition and then moves efficiently through the non-obvious parameter semantics. It is appropriately sized for a CAD feature tool and every sentence adds information.

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

Completeness4/5

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

Given the presence of an output schema and annotations, the description covers the key geometric behavior and most parameters. It could be stronger by briefly clarifying draft_angle_deg or the active-sketch prerequisite, but it is largely complete for correct 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?

Schema description coverage is only 40%, so the description must compensate. It explains thickness_mm, one_side, direction, and flip_material well; draft_angle_deg is left to the schema, which does provide a basic description and bounds.

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 CAD feature, 'Rib from the last sketch', and explains the geometric basis of a rib. It is clear enough to distinguish from siblings like extrude or fillet, but it does not explicitly name alternatives or contrast its role 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 Guidelines3/5

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

The description implies the usage context by saying the rib usually comes from an open line between walls drawn on a mid-plane sketch. It does not explicitly say when to use this tool instead of extrude, sweep, or other feature tools, nor does it state prerequisites beyond 'last sketch'.

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

save_documentA
DestructiveIdempotent

Saves the active document. With 'path' (e.g. C:\projects\part.SLDPRT, .step, .stl, .pdf...) saves/exports to that file: the format is taken from the extension. When the user has set a projects folder, relative paths are confined to it and missing folders inside it are created. If the target file already exists, overwrite must be True or the save is rejected.

NameRequiredDescriptionDefault
pathNo
overwriteNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

Beyond the annotations (which already flag destructive=true and idempotent=true), the description discloses non-obvious behavior: format is inferred from the extension, relative paths are confined to the projects folder, missing folders are auto-created, and the save is rejected on an existing file unless overwrite is True. The one gap is that it never explains what happens when path is omitted (the documented default).

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 core action is front-loaded, then path semantics, then the overwrite rule — a sensible order with no filler. The parenthetical extension list is slightly noisy but earns its place by showing the format-inference behavior concretely.

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

Completeness4/5

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

With an output schema present, return values need not be described, and annotations cover the safety profile; the description fills in the operational edges (format inference, sandboxing, overwrite rejection). The unexplained empty-path default and the ambiguous boundary with export_document are the remaining gaps.

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

Parameters5/5

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

Schema coverage is 0%, so the description must carry the full load, and it does: 'path' is explained as a save/export target whose format derives from the extension, plus relative-path confinement and folder creation; 'overwrite' is explained as a hard requirement for existing files. Both parameters gain meaning unavailable in the bare schema.

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

Purpose4/5

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

States a specific verb and resource ('Saves the active document') and immediately qualifies it with export semantics keyed off the file extension. It does not, however, differentiate itself from the sibling export_document, which overlaps substantially with the 'exports to that file' behavior described here.

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?

Gives concrete preconditions for the overwrite parameter and the relative-path/projects-folder rule, which guides invocation. But it offers no guidance on when to choose this tool over export_document or why omit path entirely, leaving the main routing decision implicit.

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

select_edge_at_pointA
Idempotent

Selects the edge of the part passing through the point (x, y, z) in mm, model coordinates. append=True adds it to the current selection. Tools such as fillet and chamfer take the points directly, so this is mostly useful to check that a point really lies on an edge.

NameRequiredDescriptionDefault
x_mmYes
y_mmYes
z_mmYes
appendNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Adds real behavioral context beyond annotations: the coordinate system is model mm, and append=True accumulates into the current selection (implying default replaces it), which the schema does not encode. The hint that it can be used to 'check that a point really lies on an edge' also implies it may fail to find a match, though the failure behavior itself is never stated.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the action and coordinate convention, then the parameter behavior, then the usage caveat. No filler or restatement of the tool name.

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?

An output schema exists, so return values need not be explained; the description covers units, selection-state side effect, and the practical caveat. The only gap is what happens when no edge passes through the point (error vs. empty selection), which matters for a tool sold as a validation check.

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

Parameters4/5

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

Schema coverage is 0% (bare titles like 'X Mm'), so the description must carry the burden — and it does, establishing that the three coordinates are a single point in mm model coordinates and defining append's effect. It omits what happens when append is omitted (default false) and any tolerance for the point match.

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

Purpose5/5

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

Opens with a specific verb and resource ('Selects the edge of the part') plus the selection criterion ('passing through the point (x, y, z)'). This is enough to distinguish it from sibling select_face_at_point and from sketch/feature tools without opening a schema.

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

Usage Guidelines4/5

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

Explicitly frames the use case and discourages misuse: fillet/chamfer take points directly, so this is mainly for verifying a point lies on an edge. It stops short of naming select_face_at_point as the alternative for face selection, so it isn't fully exhaustive.

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

select_face_at_pointA
Idempotent

Selects the face of the part passing through the point (x, y, z) in mm, model coordinates. Use get_bounding_box to find the coordinates of the outer faces.

NameRequiredDescriptionDefault
x_mmYes
y_mmYes
z_mmYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare non-destructive, idempotent, non-open-world behavior, so the safety bar is low. The description adds that coordinates are in model space and millimetres, but says nothing about behavior when no face lies at the point, or whether an existing selection is replaced or added to.

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

Conciseness5/5

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

Two sentences, no filler; the operation and its units are stated first, with the prerequisite hint second. Every clause earns its place.

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?

An output schema exists, so return values need not be described, and the tool is inherently simple with three required scalars. The remaining gap is failure-mode behavior, which would matter for an agent probing internal geometry.

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

Parameters4/5

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

Schema coverage is 0% and the properties carry only titles, so the description is the sole source of semantics. It supplies the two things that matter: the units (mm) and the coordinate system (model coordinates), which prevents an agent from passing drawing or screen coordinates.

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 ('Selects the face of the part') and qualifies it by an exact geometric condition (passing through a point). The face-vs-edge distinction from the sibling select_edge_at_point is implicit in the resource name but never called out explicitly.

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

Usage Guidelines4/5

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

Gives a concrete prerequisite workflow: use get_bounding_box first to find coordinates of the outer faces, which tells the agent how to obtain valid arguments. It does not say when to avoid this tool, e.g. when selecting internal faces or when no geometry exists at the point.

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

select_planeA
Idempotent

Selects a plane: one of the base planes "front" (XY), "top" (XZ), "right" (YZ), which works with SolidWorks in any language, or a plane by name (e.g. one made by create_plane).

NameRequiredDescriptionDefault
planeYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already tell the agent this is non-destructive and idempotent but not read-only, i.e. it changes selection state. The description adds a genuinely useful behavioral fact — base plane names are locale-independent ("works with SolidWorks in any language"). It does not describe what happens on an invalid name or what the selection state becomes.

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 front-loaded sentence that packs the allowed values and the named-plane path without wasted words. Slightly long and the parenthetical axis labels interrupt the flow, but it is efficient.

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?

An output schema is present, so return values need not be explained, and annotations cover the safety profile. The description supplies the only real gap (valid values for the single argument). A note about required context (active document/selection) would close the remaining 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?

Schema description coverage is 0% and the single required parameter is an unconstrained string, so the description carries the full burden — and it does: it lists the three base plane names with their axis mappings and explains that other plane names (e.g. from create_plane) are accepted. Only the exact matching rules (case sensitivity, quoting) are left unstated.

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

Purpose5/5

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

States a specific verb+resource ("Selects a plane") and enumerates exactly what can be selected. It also implicitly distinguishes itself from create_plane, the sibling that makes a plane rather than selecting one.

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

Usage Guidelines3/5

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

The description implies the two usage modes — passing a built-in base plane name or a named plane created elsewhere ("e.g. one made by create_plane"). It does not say when to prefer this over alternatives like start_sketch or select_face_at_point, nor does it state any preconditions (e.g. an active document).

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

set_custom_propertyA
DestructiveIdempotent

Sets a custom property of the active document (created if missing). Replaces the current value. An empty value deletes it.

NameRequiredDescriptionDefault
nameYes
valueYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is known. The description still adds real value beyond that: it discloses upsert behavior when the property is missing and, critically, that an empty value is a delete path — an agent would not infer that from the schema.

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

Conciseness5/5

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

Two short sentences, front-loaded with the action and followed by the two behavioral facts that matter (upsert, empty-deletes). No filler whatsoever.

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 2-parameter mutation with an output schema, the definition covers the essential risk (deletion via empty value) and creation behavior. Only minor gaps remain, such as name-matching rules and permission requirements on the active document.

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%, so the description must carry the burden. It explains the 'value' side (empty string means delete) but says nothing about 'name' — case sensitivity, allowed characters, or whether it matches an existing property by exact name.

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 ('Sets a custom property of the active document') and scopes it to the active document, which separates it from generic siblings. It is clearly distinct from the read-only get_custom_properties, though it never names that counterpart.

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 only implied: the upsert semantics ('created if missing') tell an agent it need not check existence first, which is a useful cue. But there is no explicit when-to-use / when-not phrasing or reference to alternatives such as get_custom_properties for reading values.

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

set_dimensionA
DestructiveIdempotent

Changes a dimension (name from get_dimensions, e.g. "D1@Boss-Extrude1") to 'value' (mm, degrees for angles, a plain number for counts such as pattern instances) and rebuilds.

NameRequiredDescriptionDefault
nameYes
valueYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=true, idempotentHint=true), so the bar is lower, and the description still adds real value by disclosing that the model is rebuilt after the change. It stops short of saying what happens when the name is wrong or the rebuild fails (e.g. downstream feature breakage), which matters for a destructive edit.

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?

One sentence, front-loaded with the action and the identifier format, with the unit rules folded into a parenthetical that earns its space. No restatement of the tool title or filler.

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?

An output schema and rich annotations cover the return value and safety profile, and the description covers sourcing the name, units, and the rebuild side effect. The remaining gap is error/failure behavior and whether the value is absolute rather than a delta.

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

Parameters5/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 both parameters and it does: 'name' is defined by format and provenance, and 'value' is defined by unit depending on dimension type (mm, degrees for angles, unitless for pattern counts). That is exactly the information an agent cannot infer from the bare number/string types.

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

Purpose5/5

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

Specific verb ('Changes') plus resource ('a dimension') plus the exact identifier syntax used by the CAD API ("D1@Boss-Extrude1"). Naming get_dimensions as the source of the name makes it unambiguously distinct from the sibling tools that create dimensions (add_sketch_dimension, insert_model_dimensions).

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

Usage Guidelines4/5

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

It gives the prerequisite workflow implicitly but clearly: the dimension name must come from get_dimensions. It does not, however, exclude or contrast with the dimension-creating siblings (add_sketch_dimension, insert_model_dimensions) or sketching-time dimensioning, which an agent could plausibly reach for instead.

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

set_materialA
DestructiveIdempotent

Assigns a material to the active part (exact name, see list_materials), so that get_mass_properties gives the real mass.

NameRequiredDescriptionDefault
nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already disclose that the tool is non-readonly, destructive, idempotent, and closed-world. The description adds useful behavioral context by explaining the effect on mass properties and the need for an exact material name, but it does not mention that assigning a material may overwrite or destroy existing material settings.

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. The core action, prerequisite, and downstream benefit are all presented directly.

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 simple one-parameter mutation tool with annotations and an output schema, the description is largely complete: it names the target, the required exact-name prerequisite, and the reason to use it. The main gap is that it does not explicitly warn about overwriting an existing material, though the destructiveHint annotation covers that.

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

Parameters4/5

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

Schema coverage is 0%, so the description must carry the burden for the single `name` parameter. It does so meaningfully by specifying that the value must be an exact material name and by pointing to list_materials, though it does not describe case sensitivity or formatting.

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

Purpose5/5

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

The description states a specific verb and resource: it assigns a material to the active part. It also distinguishes the tool from related siblings by referencing list_materials for names and get_mass_properties for the downstream effect.

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

Usage Guidelines4/5

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

It gives clear prerequisite guidance by saying to use an exact name from list_materials, and implies the tool should be used before relying on get_mass_properties. It does not explicitly state when not to use it or discuss alternative workflows.

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

shellA

Hollows the part leaving walls thickness_mm thick. open_face_points: a point on each face to remove ([x, y, z] in mm), e.g. the top of a box; none gives a closed hollow part. outward=True adds the walls outside the current surfaces.

NameRequiredDescriptionDefault
outwardNo
thickness_mmYesWall thickness in mm
open_face_pointsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false). The description adds real geometric insight beyond that — that outward=True grows the part outward rather than inward — which matters for downstream dimensions. It does not say the operation consumes/modifies the existing solid irreversibly or what happens on failure, so a 3 is right with annotations carrying safety.

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?

Three short, dense sentences with the core action front-loaded and each remaining clause doing unique work on a different parameter. No filler or repetition of the schema.

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?

An output schema exists, so return values need no explanation, and annotations cover the safety profile. The remaining gap is operational context — which body is shelled, whether a pre-selection is required, and error/constraint behavior — but for a three-parameter feature operation this is close to complete.

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

Parameters4/5

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

Schema coverage is only 33%, so the description must compensate, and it largely does: open_face_points is explained as a list of [x, y, z] points in mm, one per face to remove, with a box-top example and the null-means-closed-hollow case. outward is explained behaviorally. Only thickness_mm is left to the schema, which already documents 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?

Specific verb plus resource: 'Hollows the part leaving walls thickness_mm thick' tells an agent exactly what geometry operation this performs. It is clearly distinct from siblings like fillet, chamfer or extrude, though it never names or contrasts an alternative explicitly.

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 only implied through parameter behavior — 'none gives a closed hollow part' and 'outward=True adds the walls outside the current surfaces' do tell the agent how to pick a mode. But there is no statement of prerequisites (an active part / existing solid body must exist) or when to prefer shell over another approach.

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

sketch_arcC

Draws an arc given centre, start point and end point (mm).

NameRequiredDescriptionDefault
end_x_mmYes
end_y_mmYes
start_x_mmYes
start_y_mmYes
center_x_mmYes
center_y_mmYes
counterclockwiseNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare that this is a non-read-only, non-destructive, non-idempotent, closed-world mutation. The description adds that coordinates are in millimetres, which is useful context. However, it does not disclose prerequisites, the effect of the optional counterclockwise flag, or any other behavioral constraints 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?

The one-sentence description is front-loaded and contains no wasted words. It is appropriately compact, though its brevity contributes to missing important parameter and usage details.

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

Completeness2/5

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

For a sketch mutation with 7 parameters and 0% schema description coverage, the description is too thin. It does not state that an active sketch is required, does not explain the counterclockwise option, and does not clarify how the start and end points determine the arc sweep. Output schema exists, so return values need not be described.

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. It identifies the roles of centre, start and end points and mentions units, but it completely omits the optional counterclockwise parameter and does not clarify coordinate system or orientation semantics. This is insufficient for a 7-parameter geometry tool.

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: drawing an arc from centre, start and end points. It is clearly distinguishable from sibling sketch tools such as sketch_line or sketch_circle by the arc geometry. It does not explicitly mention that this must occur inside an active sketch, which keeps it from 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 sketch_arc versus alternatives such as sketch_spline, sketch_circle or sketch_polygon. It also omits prerequisites like requiring an active sketch. Only the geometry itself implies intended usage.

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

sketch_circleA

Draws a circle in the open sketch, given centre and DIAMETER (mm).

NameRequiredDescriptionDefault
center_x_mmNo
center_y_mmNo
diameter_mmYesCircle diameter in mm

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/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 mutation, so the safety profile is covered. The description adds the 'open sketch' context requirement, which is genuinely useful. However, it does not warn that repeating the call creates a duplicate circle (the annotation says idempotentHint=false) nor what happens to the active sketch.

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?

One sentence, zero filler, with the distinguishing detail (diameter, not radius) and the unit front-loaded. Nothing could be removed without losing meaning.

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?

An output schema exists, so return values need not be described, and annotations cover the mutation profile. But for a 3-parameter sketch tool with 33% schema coverage, the description leaves the centre-coordinate defaults and the sketch-precondition consequences unstated, which is a meaningful gap 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 description coverage is only 33% – only diameter_mm is documented in the schema, while center_x_mm and center_y_mm have bare titles and default values of 0. The description compensates partially by tying 'centre' to a coordinate pair and stressing DIAMETER rather than radius, but it never states that the centre defaults to the origin, leaving real ambiguity.

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?

Specific verb+resource ('Draws a circle') with a stated scope ('in the open sketch') and the key unit/semantics ('DIAMETER (mm)'). It lets an agent distinguish it from sketch_arc or sketch_ellipse by shape, though it does not explicitly name those siblings.

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

Usage Guidelines3/5

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

The phrase 'in the open sketch' implies the precondition that a sketch must already be active (i.e. start_sketch must have run), but this is left implicit. There is no explicit statement of when to prefer this over sketch_arc/sketch_ellipse or what to do if no sketch is open.

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

sketch_ellipseA

Draws an ellipse in the open sketch, given its two diameters (mm). rotation_deg turns the major axis counterclockwise from the sketch X axis.

NameRequiredDescriptionDefault
center_x_mmNo
center_y_mmNo
rotation_degNo
major_diameter_mmYesMajor diameter in mm
minor_diameter_mmYesMinor diameter in mm

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare a non-destructive, non-idempotent mutation in a closed world, so the safety profile is covered. The description adds that geometry is placed into the active sketch, but says nothing about what happens if no sketch is open, whether repeated calls stack duplicate ellipses, or what the result contains.

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 tight sentences with zero filler; the action and its unit-bearing inputs come first and the rotation convention follows. Every clause carries information.

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

Completeness4/5

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

Output schema exists so return values need no explanation, and annotations cover the mutation profile. Units and rotation convention are stated; the only real gap is the unstated default origin for the optional center parameters.

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 40%, leaving center_x_mm, center_y_mm and rotation_deg undocumented in the schema. The description compensates for rotation_deg by defining its convention (counterclockwise from sketch X axis) but does not explain that center defaults to the sketch origin or what coordinate frame centers use.

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 (draws) and resource (ellipse) plus the context ('in the open sketch') and the defining inputs (two diameters). An agent can distinguish it from sketch_circle/sketch_rectangle by the geometry named, though no sibling is explicitly referenced.

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?

'In the open sketch' implies the prerequisite of an active sketch session, but nothing states that start_sketch must precede it or which alternative sketch primitives to prefer for other shapes. Usage is only implied, not directed.

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

sketch_filletA

Rounds the corner of the open sketch at (x, y) (the point where two entities meet) with the given radius (mm).

NameRequiredDescriptionDefault
radius_mmYesFillet radius in mm
corner_x_mmYes
corner_y_mmYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare this is a non-destructive, non-idempotent mutation. The description adds that it operates on an open sketch and requires two meeting entities, but does not disclose failure behavior, geometric constraints, or what happens if the radius exceeds available space.

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 redundant clauses. Every phrase contributes useful information about the operation.

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

Completeness4/5

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

Given the simple three-parameter signature, existing annotations, and an output schema, the description covers the essential operation and prerequisite well. It leaves some edge-case behavior unstated, but not enough to prevent correct 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?

Schema coverage is only 33%, so the description must compensate. It meaningfully clarifies that (x, y) is the corner where two entities meet and confirms the radius unit, though it does not further specify coordinate system or radius constraints.

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

Purpose5/5

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

The description states a specific verb and resource: rounding a corner in an open sketch. It also identifies the geometric target as the point where two entities meet and distinguishes this from the solid-body sibling `fillet` by scoping the operation to a sketch.

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

Usage Guidelines4/5

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

Usage context is clear: it applies to an open sketch at a corner where two entities meet, and requires a radius. However, it does not explicitly state when to prefer this over `fillet` or what to do if no suitable corner exists.

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

sketch_lineA

Draws a line in the open sketch between two points (mm). construction=True creates a construction line (e.g. the axis of a revolve).

NameRequiredDescriptionDefault
x1_mmYes
x2_mmYes
y1_mmYes
y2_mmYes
constructionNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare it is a non-read-only, non-destructive, non-idempotent mutation, so the safety profile is covered. The description usefully adds the mm unit convention and the meaning of construction=True, but does not state failure modes (e.g. what happens with no active sketch) or persistence behavior.

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 core action and geometry, followed by the one non-obvious flag. No filler.

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?

An output schema exists, so return values need not be explained. For a simple geometric primitive the description covers the essentials, though it could note the active-sketch precondition and coordinate frame to be fully self-sufficient.

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 0%, so all five parameters rely on naming alone, though x1/y1/x2/y2 are self-evident. The description adds value for two of them by specifying mm units and explaining construction's purpose with an example, but offers nothing beyond naming for the coordinate pairs (ordering, coordinate frame).

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

Purpose5/5

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

Names a specific verb (draws) and resource (a line) with scope (in the open sketch) and the defining geometry (between two points in mm). This clearly separates it from siblings like sketch_arc, sketch_spline, or sketch_rectangle.

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?

'In the open sketch' implies the start_sketch prerequisite, and the construction example ('axis of a revolve') hints at when to use the flag. However, it never states exclusions or how to choose between this and other sketch primitives explicitly.

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

sketch_offsetA

Offsets the chain of connected sketch entities passing through (x, y) by distance_mm. reverse=True offsets to the other side; both_sides=True offsets to both sides.

NameRequiredDescriptionDefault
x_mmYes
y_mmYes
reverseNo
both_sidesNo
distance_mmYesOffset distance in mm

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/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 mutation, so the description is not carrying the safety burden alone. It adds the meaningful side-selection semantics of reverse and both_sides, but omits whether the original entities are retained and whether all entities through the point are offset or only the connected chain.

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

Conciseness5/5

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

Two sentences, zero filler, with the core operation stated first and the flag semantics following. Nothing to trim.

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?

An output schema exists, so return values need not be described, and the low schema coverage is largely offset by the description's flag explanations. The remaining gap is context requirements (active sketch / selected document) for a mutation of this kind.

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

Parameters4/5

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

Schema coverage is only 20% (just distance_mm), so the description must compensate — and it does: it explains that (x, y) is the point selecting the entity chain, and defines reverse and both_sides behavior. Only the mm units/mutual exclusivity of the two flags is left implicit.

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 (offsets) and a precisely scoped resource: the chain of connected sketch entities passing through a given point. That scope detail distinguishes it from other sketch-editing siblings, though it never names an alternative 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?

Explains the modifier flags but gives no guidance on when to use this versus other sketch tools, nor any prerequisite such as requiring an active sketch (start_sketch/end_sketch are siblings). The agent must infer invocation context.

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

sketch_polygonB

Draws a regular polygon (e.g. hexagon: sides=6) inscribed in a circle of the given diameter (mm).

NameRequiredDescriptionDefault
sidesYesNumber of sides (>= 3)
center_x_mmNo
center_y_mmNo
rotation_degNo
circumscribed_diameter_mmYesInscribed circle diameter in mm

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare a non-read-only, non-destructive, non-idempotent, closed-world creation operation, so safety is covered. The description contributes the geometry interpretation — the diameter refers to the circle the polygon is inscribed in, which matters because the schema field text ('Inscribed circle diameter') is ambiguous. It says nothing about preconditions such as needing an active sketch or where the geometry 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?

One front-loaded sentence with a concrete example (hexagon: sides=6) and units, no filler. It is efficient, though the brevity shades into under-specification rather than pure concision.

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

Completeness5/5

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

An output schema exists, so return values need no explanation, and the annotations cover the mutation profile. What remains is geometry meaning, which the description supplies, so it is adequately complete for a 5-parameter sketch primitive.

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 40%, with sides and circumscribed_diameter_mm documented but center_x_mm, center_y_mm, and rotation_deg carrying no descriptions (only defaults). The description usefully clarifies the diameter's frame of reference, offsetting part of the gap, but it adds nothing about the positional or rotation 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?

States a specific verb (Draws) and resource (regular polygon) plus the geometric construction rule (inscribed in a circle of the given diameter). An agent can distinguish it from sketch_circle or sketch_line by the polygon semantics. It does not explicitly name a sibling to disambiguate against, which keeps it off 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 at all: no mention that it must be called inside an active sketch (start_sketch/end_sketch), no exclusions, and no pointer to alternatives for other primitive shapes. The agent must infer the sketching workflow 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.

sketch_rectangleA

Draws a rectangle in the open sketch, given centre and size (mm).

NameRequiredDescriptionDefault
width_mmYesRectangle width in mm
height_mmYesRectangle height in mm
center_x_mmNo
center_y_mmNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already disclose readOnlyHint=false, destructiveHint=false, openWorldHint=false, and idempotentHint=false, so the safety profile is covered. The description adds the useful operational constraint that drawing happens inside the currently open sketch, but it says nothing about where the geometry lands on the sketch plane, what happens if the region already has geometry, or the units assumption for the center coordinates when only width/height are documented.

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 sentence with zero filler, front-loaded with the action and resource. Nothing in it is redundant with the schema or annotations.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the tool has only four flat numeric parameters. What is missing is behavioral detail the description should carry: it doesn't state that a sketch must already be open in a specific way, what happens on failure, or how the two undocumented center coordinates are interpreted.

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 only 50%: width_mm and height_mm are documented in the schema, while center_x_mm and center_y_mm have neither a description nor an obvious meaning beyond their defaults of 0. The description's '(given centre and size (mm))' confirms the unit system for all four arguments and legitimizes the two undocumented center parameters, but it does not explain the coordinate origin or how the centre relates to the sketch plane.

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 ('Draws a rectangle') and names the scope ('in the open sketch') and units (mm). It contrasts implicitly with siblings like sketch_circle or sketch_line by naming the geometry, though it never explicitly differentiates itself from those tools.

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

Usage Guidelines3/5

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

The phrase 'in the open sketch' implies the prerequisite that a sketch must be active, but there is no explicit when-to-use guidance, no mention of what to do if no sketch is open, and no reference to the sibling sketch tools (sketch_circle, sketch_line, etc.) that an agent might confuse it with.

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

sketch_slotA

Draws a straight slot (two half circles joined by lines) in the open sketch, given the centres of its two ends and its width (mm).

NameRequiredDescriptionDefault
x1_mmYes
x2_mmYes
y1_mmYes
y2_mmYes
width_mmYesSlot width/diameter in mm

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/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 edit confined to the model (openWorldHint=false), so the safety profile is covered. The description adds that it operates on the currently open sketch and uses mm units, but it does not say what happens if no sketch is active, whether a new sketch is created, or how the created geometry is returned.

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?

One sentence, front-loaded with the verb and shape, then the interpretation of the parameters. No filler or redundancy.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the geometry/units are covered. However, for a stateful sketch-editing tool the description omits the active-sketch precondition detail and any failure mode, leaving gaps an agent may hit in practice.

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

Parameters4/5

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

Schema coverage is only 20% (just width_mm), so the description must compensate — and it does meaningfully: x1/y1/x2/y2 are identified as the centres of the two slot ends rather than generic points, which is a real semantic detail absent from the bare 'X1 Mm' schema titles. It still leaves the pairing/units per coordinate implicit, so not a 5.

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 ('Draws a straight slot') and even defines the geometry (two half circles joined by lines), which distinguishes it from sibling primitives like sketch_rectangle and sketch_circle by shape. It does not name any sibling explicitly, so differentiation is implicit 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 Guidelines3/5

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

'In the open sketch' implies the prerequisite that a sketch must already be active, but there is no explicit guidance such as 'call start_sketch first' or when to prefer a slot over an offset/rectangle. Usage is inferable but not stated.

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

sketch_splineA

Draws a smooth spline through the points [[x, y], ...] of the open sketch (mm, at least 2). Repeat the first point at the end to close it.

NameRequiredDescriptionDefault
pointsYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/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 mutation. The description adds useful behavioral context: it operates on the open sketch, uses millimeter coordinates, requires at least two points, and can be closed by repeating the first point.

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

Conciseness5/5

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

The description is two tightly written sentences with no filler. The core action is front-loaded, followed immediately by critical input and closure semantics.

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

Completeness5/5

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

For a single-parameter sketch-entity creation tool with an output schema, the description covers the active-sketch prerequisite, coordinate format, units, minimum point count, and closure rule. Nothing essential for correct invocation is missing.

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

Parameters5/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 parameter meaning. It does so fully by specifying the expected [[x, y], ...] format, units in mm, the minimum point count of 2, and the closing behavior.

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

Purpose5/5

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

The description states a specific verb and resource: drawing a smooth spline through points of the open sketch. This clearly distinguishes it from sibling sketch tools such as sketch_line, sketch_arc, and sketch_polygon.

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

Usage Guidelines3/5

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

The phrase 'of the open sketch' implies the prerequisite that a sketch must be active, but there is no explicit guidance on when to use a spline over sibling tools like sketch_arc or sketch_polygon, nor any exclusions.

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

start_sketchA

Opens a new sketch on the selected plane or face.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare non-read-only, non-idempotent, non-destructive. The description adds only the implicit state dependency (a plane or face must already be selected), with no mention of failure behavior when nothing is selected or whether an in-progress sketch is affected.

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. Nothing could be removed without losing information.

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

Completeness3/5

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

For a zero-param initiation tool with annotations and an output schema, this is roughly adequate, but it omits the selection prerequisite, error conditions, and the natural follow-on (sketch_* / end_sketch), which an agent would need to chain this correctly.

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 does usefully note that the target comes from the current selection rather than an argument, which explains why the schema is empty.

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 ('Opens a new sketch') plus the target context ('selected plane or face'), which distinguishes it from end_sketch and the sketch_* drawing primitives. It stops short of naming a sibling explicitly, so an agent must infer the boundary itself.

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?

Implies the prerequisite via 'selected plane or face' but never says to call select_plane / select_face_at_point first, nor when to prefer this over new_part or other construction entry points. Usage is inferred rather than stated.

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

suppress_featureA
DestructiveIdempotent

Suppresses (temporarily removes from the model, keeping it in the tree) or, with suppressed=False, restores a feature.

NameRequiredDescriptionDefault
nameYes
suppressedNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false; the description usefully adds that the change is reversible and that the feature is preserved in the tree, which softens what 'destructive' means here. It does not cover what happens to dependent/downstream features when a parent is suppressed, or the error case when the name doesn't match.

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?

One sentence, front-loaded with the primary verb and the parameter-driven variant arriving exactly where it is needed. The parenthetical is dense with useful meaning rather than filler.

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?

An output schema exists, so return values need not be described, and the mutation semantics, reversibility and boolean toggle are all covered for a two-parameter tool. The remaining gap is failure behavior (invalid feature name, suppression of a feature with children), which matters given destructiveHint=true.

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%, so the description must carry both parameters. It handles 'suppressed' well (default true, set False to restore) but leaves 'name' implicit — it never states whether this is a bare feature name, a tree path, or a unique identifier, which is the most likely source of invocation error.

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 (suppresses / restores) and resource (a feature), and explains the mechanism: removal from the model but retention in the feature tree. It also documents the inverse operation via suppressed=False. It stops short of naming delete_feature as the alternative, which is the one sibling an agent could easily confuse this 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?

The parenthetical 'keeping it in the tree' implicitly tells the agent this is the reversible option versus a permanent delete, and the suppressed=False branch clearly signals the restore use case. However, no sibling is named and no explicit 'use delete_feature for permanent removal' guidance is given, so the agent must infer the routing.

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

sweepA

Sweeps a profile along a path (pipes, springs, handles, grooves).

path_sketch: name of the sketch with the path (open or closed curve). profile_sketch: name of the closed profile sketch, drawn on a plane crossing the start of the path; or leave it empty and give circle_diameter_mm for a round section. cut=True removes material instead of adding it. Close the sketches first (end_sketch).

NameRequiredDescriptionDefault
cutNo
path_sketchYes
profile_sketchNo
circle_diameter_mmNoDiameter in mm for circular sweep profile (0 if using profile_sketch)

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare a non-read-only, non-destructive, non-idempotent operation, so the safety bar is partly covered. The description adds real behavioral detail: default behavior adds material while cut=True removes it, and the sketch-state prerequisite that otherwise causes failure. It does not mention what feature/body the result attaches to, but that is minor.

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?

Four compact lines, front-loaded with what the tool makes and then per-parameter notes. Tight and readable; the parenthetical examples could arguably be trimmed but they add disambiguation value.

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

Completeness4/5

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

Output schema exists, so return values need not be described. For a 4-parameter feature-creation tool the description covers purpose, prerequisites, parameter alternatives, and add-vs-cut semantics — enough to call it correctly. A note on which body/feature the result joins, or behavior on self-intersecting paths, is the only 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?

Schema description coverage is only 25% (only circle_diameter_mm is documented), so the description must compensate and largely does: it explains path_sketch accepts open or closed curves, profile_sketch must be a closed sketch on a plane crossing the path start, the empty-profile/circle_diameter_mm fallback, and the meaning of cut. Only units and the default-0 semantics for circle_diameter_mm live solely in the schema.

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

Purpose5/5

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

States a specific verb+resource ('Sweeps a profile along a path') and gives concrete CAD use cases (pipes, springs, handles, grooves) that distinguish it from sibling features like extrude, revolve, loft, and rib. An agent can tell what it produces without opening 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 Guidelines4/5

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

Explicitly states prerequisites: sketches must be closed first (end_sketch), and the profile must lie on a plane crossing the path start. Also offers the alternative of leaving profile_sketch empty and using circle_diameter_mm. It does not compare sweep against loft/revolve/rib when both could apply, so it stops short of full alternative routing.

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

undoC
Destructive

Undoes the last operations in SolidWorks.

NameRequiredDescriptionDefault
stepsNoNumber of steps to undo (>= 1)

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is covered. The description adds nothing beyond that — it doesn't say whether undo is document-scoped, whether it can be reversed, or what happens when there is nothing left to undo.

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 verb front-loaded and zero waste. It is not under-specified enough to be a conciseness failure, though 'operations' (plural) is slightly at odds with the default single step.

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

Completeness3/5

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

Output schema exists and annotations cover the destructive nature, so the core is covered. Still, for a destructive mutation the description omits scope and reversal behavior, leaving the agent to infer how undo interacts with the document history.

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

Parameters3/5

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

Schema coverage is 100% with a single well-documented 'steps' parameter, so the schema carries the meaning. The description's plural 'operations' loosely hints at multi-step undo but adds no format or limit details beyond the schema.

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

Purpose4/5

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

States a specific verb ('Undoes') and resource ('the last operations in SolidWorks'), which is unambiguous and distinct from all listed siblings. It does not explicitly differentiate itself, but no sibling overlaps, so the purpose reads clearly.

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?

Provides no guidance on when to use undo versus other corrective actions (e.g., delete_feature, suppress_feature) or when not to use it. 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.

zoom_to_fitA
Idempotent

Fits the view to show the whole model.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, and readOnlyHint=false. The description usefully clarifies that this is a view operation, which explains why a non-read-only tool has no model-side destructive effect, but it does not add further behavioral detail such as whether selection, orientation, or camera state are affected.

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 redundant or filler content. Every word contributes to identifying the action.

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

Completeness5/5

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

For a zero-parameter viewport command with an output schema and informative annotations, the description is sufficient. There is no parameter behavior or return-value detail that must be explained in the description.

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 parameter semantics are not a meaningful source of ambiguity. The description does not need to explain parameter usage, and there is no schema gap to compensate for.

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 and resource: fit the view to show the whole model. It is unambiguous about what action is performed, though it does not explicitly contrast itself with adjacent view or inspection tools such as get_screenshot or check_model.

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 rather than stated: an agent can infer it should call this when the model should be brought fully into view. There are no explicit when-to-use, when-not-to-use, or alternative-tool instructions.

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. 69 tool updatesv0.1.0
    • First observedactivate_configuration
    • First observedadd_configuration
    • First observedadd_equation
    • First observedadd_mate
    • First observedadd_sketch_dimension
    • First observedadd_sketch_relation
    • First observedbase_flange
    • First observedchamfer
    • First observedcheck_interference
    • First observedcheck_model
    • First observedcircular_pattern
    • First observedconvert_entities
    • First observedconvert_point
    • First observedcreate_plane
    • First observedcut_extrude
    • First observeddelete_equation
    • First observeddelete_feature
    • First observededge_flange
    • First observedend_sketch
    • First observedexport_document
    • First observedexport_flat_pattern
    • First observedextrude
    • First observedfillet
    • First observedfully_define_sketch
    • First observedget_active_document_info
    • First observedget_bounding_box
    • First observedget_custom_properties
    • First observedget_dimensions
    • First observedget_equations
    • First observedget_feature_tree
    • First observedget_mass_properties
    • First observedget_screenshot
    • First observedhole
    • First observedinsert_component
    • First observedinsert_model_dimensions
    • First observedlinear_pattern
    • First observedlist_configurations
    • First observedlist_materials
    • First observedloft
    • First observedmeasure
    • First observedmirror
    • First observednew_assembly
    • First observednew_drawing
    • First observednew_part
    • First observedrevolve
    • First observedrib
    • First observedsave_document
    • First observedselect_edge_at_point
    • First observedselect_face_at_point
    • First observedselect_plane
    • First observedset_custom_property
    • First observedset_dimension
    • First observedset_material
    • First observedshell
    • First observedsketch_arc
    • First observedsketch_circle
    • First observedsketch_ellipse
    • First observedsketch_fillet
    • First observedsketch_line
    • First observedsketch_offset
    • First observedsketch_polygon
    • First observedsketch_rectangle
    • First observedsketch_slot
    • First observedsketch_spline
    • First observedstart_sketch
    • First observedsuppress_feature
    • First observedsweep
    • First observedundo
    • First observedzoom_to_fit

TDQS

B3.4/5.0

Scored across 69 tools

Disambiguation4/5

Most tools have clearly distinct purposes across sketching, features, assemblies, drawings, and metadata. There is minor overlap between save_document/export_document and some dimension-related tools, but the descriptions generally make boundaries clear.

Naming Consistency4/5

The set is overwhelmingly snake_case and operation-oriented, with predictable prefixes such as get_, add_, select_, and sketch_. A few names are single verbs or noun-like sheet-metal operations, but the convention remains readable and mostly consistent.

Tool Count2/5

Although SolidWorks is a broad domain, 69 tools is a very heavy surface for an agent to manage and select from reliably. Many operations are justified, but the set exceeds a practical MCP scope and likely needs grouping or progressive disclosure.

Completeness4/5

Coverage is strong across parts, assemblies, drawings, sketches, features, sheet metal, configurations, equations, properties, and export. Minor lifecycle gaps remain, such as opening/closing existing documents, deleting or editing mates/configuration entries, and moving existing assembly components.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs to automate SolidWorks (open/save parts, modify dimensions, export STEP) via COM, and optionally generate geometry using build123d code-CAD with PNG previews.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to control a running SOLIDWORKS session through its COM API, with tools for sketching, feature creation, assemblies, and visual feedback via screenshots.
    22
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to build, measure, verify, and correct parametric SolidWorks parts and assemblies locally via the COM API, supporting operations like sketching, extruding, modeling, dimensioning, material assignment, export, and assembly mating.
    MIT