Skip to main content
Glama

Fusion360 MCP Server

Beta — This project is under active development. APIs and tool behavior may change between releases. Use at your own discretion. Feedback and bug reports welcome via GitHub Issues.

MCP server that connects AI coding agents to Autodesk Fusion 360 for CAD automation.

Tested with Claude Code. Works with any MCP-compatible client — OpenCode, Codex, Cursor, or anything that speaks the Model Context Protocol.

How it works

Any MCP Client ←(stdio MCP)→ This Server ←(TCP :9876)→ Fusion360MCP Add-in ←(CustomEvent)→ Fusion Main Thread

Two components:

  1. MCP Server (this repo) — Python process that speaks MCP protocol to Claude and forwards commands over TCP

  2. Fusion360MCP Add-in (installed in Fusion's AddIns folder) — runs inside Fusion 360, executes API calls safely on the main thread

Related MCP server: Fusion 360 MCP

Prerequisites

  • uv (Python package manager)

  • Autodesk Fusion 360

  • An MCP-compatible client (Claude Code, OpenCode, Codex, Cursor, etc.)

Installation

1. Install the Fusion 360 Add-in

Quick install (symlink for development):

./scripts/install-addon.sh

Manual install:

# macOS
cp -r addon ~/Library/Application\ Support/Autodesk/Autodesk\ Fusion\ 360/API/AddIns/Fusion360MCP

# Windows (PowerShell)
Copy-Item -Recurse addon "$env:APPDATA\Autodesk\Autodesk Fusion 360\API\AddIns\Fusion360MCP"

Then start it in Fusion: Shift+S → Add-Ins → Fusion360MCP → Run

You should see [MCP] Server listening on localhost:9876 in the TEXT COMMANDS window.

2. Connect your MCP client

The MCP server is published on PyPI — no need to clone this repo.

Claude Code

claude mcp add fusion360 -- uvx fusion360-mcp-server --mode socket

Other MCP clients

The server runs over stdio, so any MCP-compatible client can launch it. The command is:

uvx fusion360-mcp-server --mode socket
{
  "mcpServers": {
    "fusion360": {
      "command": "uvx",
      "args": [
        "fusion360-mcp-server",
        "--mode", "socket"
      ]
    }
  }
}

Cross-machine setup (LAN)

If the MCP server and Fusion 360 run on different machines (e.g. MCP server on a Mac Mini, Fusion on a Windows PC), override the bind/connect address via environment variables on both sides.

On the Fusion host (where the add-in runs), bind to all interfaces before starting Fusion:

# Windows
$env:FUSION_MCP_HOST = "0.0.0.0"
# macOS / Linux
export FUSION_MCP_HOST=0.0.0.0

Then start Fusion and run the Fusion360MCP add-in. The log line Server listening on 0.0.0.0:9876 confirms the bind.

On the MCP-server host, point the client at the Fusion host's LAN IP:

# Either via CLI flag
uvx fusion360-mcp-server --mode socket --host 192.168.1.42

# Or via env var (useful in MCP client configs)
FUSION_MCP_HOST=192.168.1.42 uvx fusion360-mcp-server --mode socket

Security note: the TCP socket has no authentication. Only expose it on a trusted LAN — never bind to 0.0.0.0 on a host reachable from the public internet.

3. Verify

Call the ping tool from your client. If it returns {"pong": true}, everything is connected.

Uninstalling

  1. Remove the fusion360 entry from your MCP client config

  2. Stop the add-in in Fusion (Shift+S → Add-Ins → Fusion360MCP → Stop)

  3. Delete the add-in folder from Fusion's AddIns directory

Available Tools (89)

Scene & Query

Tool

Description

ping

Health check (instant, no Fusion API)

get_scene_info

Design name, bodies, sketches, features, camera

get_object_info

Detailed info about a named body or sketch

get_bounding_box

Axis-aligned bbox (min/max/size/center) for body or component; unions all bodies when called on a component

list_components

List all components in the design

Design Type Safety

Tool

Description

get_design_type

Check if design is in parametric or direct mode

set_design_type

Switch design type (parametric/direct recovery)

Sketching

Tool

Description

create_sketch

New sketch on xy/yz/xz plane, optional offset

draw_rectangle

Rectangle in most recent sketch

draw_circle

Circle in most recent sketch

draw_line

Line in most recent sketch

draw_arc

Arc (center + start + sweep angle)

draw_spline

Fit-point or control-point spline

create_polygon

Regular polygon (3–64 sides)

add_constraint

Geometric constraint (coincident, parallel, tangent, etc.)

add_dimension

Driving dimension (distance, angle, radial, diameter)

offset_curve

Offset connected sketch curves

trim_curve

Trim at intersections

extend_curve

Extend to nearest intersection

project_geometry

Project edges/bodies onto sketch plane

Features

Tool

Description

extrude

Extrude a sketch profile

revolve

Revolve a profile around an axis

sweep

Sweep a profile along a path

loft

Loft between two or more profiles

fillet

Round edges (all/top/bottom/vertical)

chamfer

Chamfer edges

shell

Hollow out a body

mirror

Mirror a body across a plane

create_hole

Hole feature on a body face

rectangular_pattern

Pattern in rows and columns

circular_pattern

Pattern around an axis

create_thread

Add threads (cosmetic or modeled)

draft_faces

Draft/taper faces for mold release

split_body

Split a body using a plane

split_face

Split faces of a body

offset_faces

Push/pull faces by a distance

scale_body

Scale uniformly or non-uniformly

suppress_feature

Suppress a timeline feature

unsuppress_feature

Re-enable a suppressed feature

Body Operations

Tool

Description

move_body

Translate a body by (x, y, z)

rename_body

Rename a body (searches root and all components)

boolean_operation

Join/cut/intersect two bodies

delete_all

Clear the design

undo

Undo last operation (with design-type safety guard)

Direct Primitives

Tool

Description

create_box

Box (via TemporaryBRepManager, history-less)

create_box_parametric

History-based box: sketch rectangle + dimensions + extrude. length/width/height accept numbers (cm) or string expressions referencing User Parameters (e.g. "boxL", "outer - 2*wall_t")

create_cylinder

Cylinder

create_sphere

Sphere

create_torus

Torus

Surface Operations

Tool

Description

patch_surface

Create a patch surface from boundary edges

stitch_surfaces

Stitch surface bodies into one

thicken_surface

Thicken a surface into a solid

ruled_surface

Ruled surface from an edge

trim_surface

Trim a surface with another body

Sheet Metal

Tool

Description

create_flange

Create a flange on an edge

create_bend

Add a bend

flat_pattern

Create flat pattern

unfold

Unfold specific bends

Construction Geometry

Tool

Description

create_construction_plane

Offset, angle, midplane, 3-point, tangent

create_construction_axis

Two-point, intersection, edge, perpendicular

Assembly

Tool

Description

create_component

Create a sub-assembly component

add_joint

Joint between two components

create_as_built_joint

Joint from current positions

create_rigid_group

Lock components together

Inspection & Analysis

Tool

Description

measure_distance

Minimum distance between entities

measure_angle

Angle between entities

get_physical_properties

Mass, volume, area, center of mass

create_section_analysis

Section plane through model

check_interference

Detect collisions between components

Appearance

Tool

Description

set_appearance

Assign material appearance from library

Parameters

Tool

Description

get_parameters

List all user parameters

create_parameter

Create a new parameter

set_parameter

Update a parameter value

delete_parameter

Remove a parameter

Import / Export

Tool

Description

import_mesh

Import STL/OBJ/3MF as mesh body via MeshBodies.addByFile(). Unit-aware (mm/cm/m/in/ft). Returns the mesh name and bounding box

export_stl

Export body as STL (supports bodies inside components)

export_step

Export body as STEP (supports bodies inside components)

export_f3d

Export design as Fusion archive

export

Unified dispatcher — routes to export_stl/export_step/export_f3d based on explicit format or file-extension inference

CAM / Manufacturing

Tool

Description

cam_create_setup

Create a manufacturing setup (milling/turning/cutting)

cam_create_operation

Add a machining operation (face, contour, adaptive, drilling, etc.)

cam_generate_toolpath

Generate toolpaths for operations

cam_post_process

Post-process to G-code (fanuc, grbl, haas, etc.)

cam_list_setups

List all manufacturing setups

cam_list_operations

List operations in a setup

cam_get_operation_info

Get operation details (strategy, tool, parameters)

Code Execution

Tool

Description

execute_code

Run arbitrary Python in Fusion (REPL-style)

MCP Protocol Features

  • Tool annotations — each tool is tagged with readOnlyHint, destructiveHint, and idempotentHint so MCP clients can auto-approve safe operations

  • Resourcesfusion360://status, fusion360://design, fusion360://parameters for passive state inspection

  • Resource templatesfusion360://body/{name}, fusion360://component/{name} for dynamic entity lookup

  • Promptscreate-box, model-threaded-bolt, sheet-metal-enclosure workflow templates

  • Structured errors — tool results include isError=True when the add-in reports failures

  • Mock mode--mode mock returns plausible test data without Fusion running (all responses include "mode": "mock")

Development

uv sync --dev       # install deps
uv run pytest -v    # run tests (171 tests)
uv run ruff check   # lint

Notes

  • All Fusion API units are centimeters (Fusion's internal unit).

  • One operation per tool call. Batching multiple operations crashes the add-in.

  • Commands time out after 30 seconds.

  • Add-in logs to ~/fusion360mcp.log.

  • The undo tool includes a design-type safety guard — it checks before/after and auto-redoes if the undo would switch from parametric to direct mode.

Acknowledgements

Inspired by BlenderMCP — the socket bridge architecture originated there.

Also built on ideas from the existing Fusion 360 MCP ecosystem:

License

MIT

Available Tools

80 tools
add_constraintAdd Sketch ConstraintB

Add a geometric constraint in the active sketch. Entities are referenced by index within the sketch.

ParametersJSON Schema
NameRequiredDescriptionDefault
constraint_typeYes
entity_oneNoIndex of the first sketch entity
entity_twoNoIndex of the second sketch entity (not needed for fix/horizontal/vertical)
symmetry_lineNoIndex of the symmetry line (only for symmetry constraint)
sketch_nameNoSketch name (default: most recent)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, covering basic safety. The description adds context about entity referencing by index, which is useful for understanding how to interact with the sketch. However, it lacks details on error conditions, side effects, or what happens if constraints conflict, leaving behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose and key operational detail (entity referencing). It is front-loaded with essential information and has no wasted words, making it highly concise and well-structured.

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

Completeness3/5

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

Given the tool's moderate complexity (5 parameters, mutation operation) and lack of output schema, the description is adequate but incomplete. It covers the basic action and entity referencing but misses details on usage context, potential errors, or result implications, leaving gaps for an AI agent to infer behavior.

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 80%, providing good documentation for parameters like 'entity_one' and 'constraint_type'. The description adds minimal value beyond the schema, only implying entity indexing without explaining parameter interactions or constraints like when 'entity_two' is required. Baseline 3 is appropriate given high schema coverage.

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

Purpose4/5

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

The description clearly states the action ('Add a geometric constraint') and resource ('in the active sketch'), with specific mention of how entities are referenced ('by index within the sketch'). It distinguishes from siblings like 'create_sketch' or 'draw_line' by focusing on constraints rather than creation or drawing, though it doesn't explicitly differentiate from all constraint-related tools (none listed).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, prerequisites (e.g., needing an active sketch), or exclusions. It mentions the active sketch but doesn't clarify if other tools might be needed first or when constraints are applicable in a workflow.

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

add_dimensionAdd Sketch DimensionB

Add a driving dimension to constrain sketch geometry. Value is in cm for distances, degrees for angles.

ParametersJSON Schema
NameRequiredDescriptionDefault
dimension_typeYes
valueYesDimension value (cm or degrees)
entity_oneNoIndex of first entity (point or curve)
entity_twoNoIndex of second entity (for distance/angular; not for radial/diameter)
sketch_nameNoSketch name (default: most recent)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation. The description adds useful context about units (cm for distances, degrees for angles) which isn't in the annotations. However, it doesn't disclose other behavioral traits like whether dimensions are editable after creation, if they affect sketch regeneration, or error conditions. With annotations covering basic safety, this adds some value but not rich behavioral context.

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

Conciseness5/5

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

The description is perfectly concise with two clear sentences. The first states the core purpose, the second provides crucial unit information. Every word earns its place with zero wasted text, making it easy to parse quickly.

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 tool with 5 parameters, 80% schema coverage, and no output schema, the description provides adequate but incomplete context. It covers the purpose and units well, but doesn't explain the tool's role in the sketching workflow, how dimensions interact with constraints, or what happens after dimension addition. Given the complexity and lack of output schema, more context would be beneficial.

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 80%, so the schema already documents most parameters well. The description adds unit information (cm/degrees) for the 'value' parameter, which provides helpful semantic context beyond the schema's numeric type. However, it doesn't explain the relationship between 'dimension_type' choices and other parameters (e.g., when 'entity_two' is required), leaving some gaps.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Add a driving dimension to constrain sketch geometry.' It specifies the action (add), resource (driving dimension), and context (sketch geometry). However, it doesn't explicitly differentiate from sibling tools like 'add_constraint' or 'create_sketch', which would be needed for a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over 'add_constraint' or how it relates to 'create_sketch' or other geometry tools. Without any usage context or exclusions, this is minimal guidance.

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

add_jointAdd JointB

Add a joint between two components

ParametersJSON Schema
NameRequiredDescriptionDefault
component_oneYes
component_twoYes
joint_typeNorigid

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, which the description doesn't contradict. The description adds minimal behavioral context beyond annotations—it implies creation but doesn't detail effects like persistence, error conditions, or dependencies. With annotations covering safety, a 3 reflects some added value but limited depth.

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, efficient sentence with no wasted words, front-loading the core action. It's appropriately sized for the tool's complexity, making it easy to parse quickly.

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

Completeness2/5

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

Given the tool's moderate complexity (3 parameters, no output schema), the description is incomplete. It lacks usage guidelines, detailed parameter explanations, and behavioral insights like how joints interact with components or what happens on failure. Annotations help but don't fully compensate, leaving gaps for an agent to operate effectively.

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 for undocumented parameters. It mentions 'two components' and 'joint', hinting at 'component_one' and 'component_two', but doesn't explain their format or the 'joint_type' enum meanings. This adds minimal semantics beyond the bare schema, failing to address the coverage gap adequately.

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

Purpose4/5

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

The description clearly states the action ('Add') and resource ('a joint between two components'), making the purpose evident. However, it doesn't differentiate from sibling tools like 'add_constraint' or 'create_as_built_joint', which might have overlapping functionality in a CAD/mechanical context.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. With many sibling tools (e.g., 'add_constraint', 'create_as_built_joint'), the description lacks context about prerequisites, typical scenarios, or exclusions, leaving the agent to infer usage.

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

boolean_operationBoolean OperationB

Combine two named bodies (join/cut/intersect)

ParametersJSON Schema
NameRequiredDescriptionDefault
target_bodyYes
tool_bodyYes
operationNojoin

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation, but the description adds minimal behavioral context. It implies mutation ('combine') without detailing effects like whether the original bodies are modified or new ones created, or any rate limits. With annotations covering basic safety, the description adds some value but lacks depth on behavioral traits.

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, efficient sentence with zero waste. It's front-loaded with the core action ('combine') and includes essential details (resources and operations). Every word earns its place, making it highly concise and well-structured.

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

Completeness2/5

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

Given the complexity of a boolean operation tool with 3 parameters (2 required), 0% schema coverage, no output schema, and annotations that only cover basic hints, the description is inadequate. It fails to explain parameter meanings, expected outcomes, or usage context, leaving significant gaps for an AI agent to understand and invoke the tool correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only vaguely references parameters ('two named bodies', 'join/cut/intersect'). It doesn't explain what 'target_body' and 'tool_body' represent, their formats, or the semantics of the operations beyond the enum values. This leaves key parameter meanings undocumented.

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

Purpose4/5

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

The description clearly states the verb ('combine') and the resources ('two named bodies'), specifying the operations (join/cut/intersect). It distinguishes from siblings like 'split_body' or 'stitch_surfaces' by focusing on boolean operations between bodies. However, it doesn't explicitly differentiate from all siblings, such as 'extrude' or 'loft', which might also combine geometry in different ways.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It lacks context on prerequisites (e.g., existing bodies), exclusions (e.g., when to use 'split_body' instead), or comparisons to siblings like 'stitch_surfaces'. This leaves the agent without clear usage direction.

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

cam_create_operationCreate CAM OperationB

Add a machining operation to a setup. Strategy determines the toolpath type.

ParametersJSON Schema
NameRequiredDescriptionDefault
setup_nameYesName of the parent setup
strategyYesMachining strategy
nameNoOperation name
tool_numberNoTool number from library
tool_diameterNoTool diameter (cm) — used if tool_number not specified
stepdownNoAxial depth of cut (cm)
stepoverNoRadial stepover (cm)
feed_rateNoFeed rate (cm/min)
spindle_speedNoSpindle speed (RPM)
coolantNoflood

TDQS

B3.2/5.0
Behavior3/5

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

Annotations indicate this is a mutable, non-idempotent, non-destructive operation, which the description aligns with by implying creation ('Add'). However, the description adds minimal behavioral context beyond annotations—it mentions 'Strategy determines the toolpath type' but doesn't cover error conditions, permissions, or side effects, leaving gaps in transparency.

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

Conciseness4/5

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

The description is a single, efficient sentence that front-loads the core purpose. It avoids redundancy and wastes no words, though it could be slightly more informative without losing conciseness.

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

Completeness3/5

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

Given the tool's complexity (10 parameters, no output schema) and moderate annotation coverage, the description is adequate but incomplete. It covers the basic purpose but lacks details on usage context, behavioral nuances, or output expectations, which are needed for a mutation tool with many 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?

With 90% schema description coverage, the input schema already documents most parameters well. The description adds some value by explaining that 'Strategy determines the toolpath type', which clarifies the 'strategy' parameter's role, but it doesn't provide additional semantics for other parameters beyond what's in the schema.

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

Purpose4/5

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

The description clearly states the action ('Add a machining operation to a setup') and resource ('machining operation'), distinguishing it from sibling tools like 'cam_create_setup' or 'cam_list_operations'. However, it doesn't explicitly differentiate from other CAM-related tools beyond the strategy mention, which is why it's not 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?

The description provides no guidance on when to use this tool versus alternatives, such as 'cam_generate_toolpath' or 'cam_post_process', nor does it mention prerequisites like needing an existing setup. It only states what the tool does, not when to apply it.

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

cam_create_setupCreate CAM SetupB

Create a manufacturing setup for a body. Defines the stock, coordinate system, and operation type (milling/turning/cutting).

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYesBody to machine
nameNoSetup name
operation_typeNomilling
stock_modeNorelative_box
stock_offset_sidesNoSide offset (cm)
stock_offset_topNoTop offset (cm)
stock_offset_bottomNoBottom offset (cm)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-readonly, non-idempotent, non-destructive operation. The description adds that it 'defines' setup components, which aligns with annotations. However, it doesn't provide additional behavioral context like whether this creates persistent configurations, requires specific permissions, or has side effects beyond what annotations cover.

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, efficient sentence that immediately states the tool's purpose without unnecessary words. It's appropriately sized for a creation tool with 7 parameters.

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 creation tool with 7 parameters, no output schema, and moderate schema coverage (71%), the description adequately covers the basic purpose but lacks information about return values, error conditions, or relationships to other CAM operations. The annotations help but don't fully compensate for missing output documentation.

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

Parameters3/5

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

With 71% schema description coverage, the baseline is 3. The description mentions 'stock, coordinate system, and operation type' which maps to parameters like stock_mode and operation_type, but doesn't add meaningful semantic context beyond what the schema already documents about these parameters.

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

Purpose4/5

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

The description clearly states the verb 'Create' and resource 'manufacturing setup for a body', specifying it defines stock, coordinate system, and operation type. It distinguishes from siblings like 'cam_create_operation' by focusing on setup creation rather than operation creation, but doesn't explicitly contrast with other setup-related tools.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'cam_list_setups' or 'cam_create_operation'. It mentions what the tool does but gives no context about prerequisites, timing, or when other tools might be more appropriate.

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

cam_generate_toolpathGenerate ToolpathB

Generate toolpaths for a specific operation or all operations in a setup

ParametersJSON Schema
NameRequiredDescriptionDefault
setup_nameNoSetup name (generates all its operations)
operation_nameNoSpecific operation name (overrides setup_name)
generate_allNoGenerate all toolpaths

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is not read-only, idempotent, or destructive, but the description adds minimal behavioral context. It implies a generation process but doesn't detail effects (e.g., whether toolpaths are saved, visible in the UI, or trigger simulations). No contradiction with annotations exists, but the description could better explain the tool's impact beyond the basic hints.

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, efficient sentence that front-loads the core purpose without unnecessary details. It uses clear language and avoids redundancy, making it easy to parse while conveying essential scope information.

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

Completeness3/5

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

Given the lack of output schema and annotations that only cover basic hints, the description is somewhat incomplete. It doesn't explain what the tool returns (e.g., success status, generated paths) or address potential complexities like error handling for invalid inputs. However, it adequately covers the tool's intent within the context of CAM operations.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are well-documented in the schema. The description mentions 'specific operation or all operations,' which aligns with the parameters but doesn't add significant semantic value beyond what the schema provides (e.g., clarifying interactions between 'setup_name', 'operation_name', and 'generate_all').

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

Purpose4/5

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

The description clearly states the action ('Generate toolpaths') and specifies the scope ('for a specific operation or all operations in a setup'), which distinguishes it from general CAM tools. However, it doesn't explicitly differentiate from sibling tools like 'cam_post_process' or 'cam_get_operation_info', which might involve related CAM workflows.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., requiring an existing setup or operation), exclusions, or comparisons to siblings like 'cam_post_process' for post-processing or 'cam_list_operations' for listing operations without generation.

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

cam_get_operation_infoGet CAM Operation InfoB
Read-onlyIdempotent

Get details about a specific operation (strategy, tool, parameters, toolpath status)

ParametersJSON Schema
NameRequiredDescriptionDefault
setup_nameYes
operation_nameYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe, repeatable read operation. The description adds value by specifying the types of details returned (strategy, tool, parameters, toolpath status), which provides context beyond annotations. However, it doesn't disclose other behavioral traits like error conditions, rate limits, or authentication needs.

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, efficient sentence that front-loads the purpose ('Get details about a specific operation') and specifies the key details retrieved. There is no wasted wording, and it's appropriately sized for a simple read operation.

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

Completeness3/5

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

Given the tool's low complexity (a read operation with 2 parameters), rich annotations (covering safety and idempotency), but no output schema, the description is partially complete. It specifies what details are returned, which helps, but lacks parameter explanations and usage guidelines. For a tool with good annotations but no output schema, this is adequate but has clear gaps.

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

Parameters3/5

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

Schema description coverage is 0%, so the schema provides no parameter descriptions. The description doesn't add any parameter-specific information—it doesn't explain what 'setup_name' or 'operation_name' represent, their formats, or examples. With 2 required parameters and no schema descriptions, the baseline is 3 as the description doesn't compensate for the coverage gap.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'details about a specific operation', specifying what information is retrieved (strategy, tool, parameters, toolpath status). It distinguishes from siblings like 'cam_list_operations' by focusing on details of a single operation rather than listing multiple, though it doesn't explicitly contrast with 'get_object_info' or 'get_parameters' which might overlap in domain.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid setup and operation name), exclusions, or compare it to similar tools like 'cam_list_operations' for listing or 'get_object_info' for general object details. Usage is implied by the name but not explicitly stated.

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

cam_list_operationsList CAM OperationsA
Read-onlyIdempotent

List operations within a setup

ParametersJSON Schema
NameRequiredDescriptionDefault
setup_nameYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations indicate read-only, idempotent, and non-destructive behavior, which the description does not contradict. The description adds context by specifying the scope ('within a setup'), which is not covered by annotations. However, it lacks details on output format (e.g., list structure, pagination) or any rate limits, though annotations cover safety aspects well.

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, efficient sentence with zero wasted words. It is front-loaded with the core purpose and avoids redundancy. Every part of the sentence earns its place by specifying the action and scope.

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

Completeness3/5

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

Given the tool's low complexity (1 parameter, read-only per annotations) but lack of output schema, the description is minimally adequate. It covers the basic purpose and scope but misses details like output format or error handling. With annotations providing safety context, it meets a baseline but could be more informative for agent use.

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

Parameters3/5

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

The input schema has 1 parameter with 0% description coverage, so the description must compensate. It implies 'setup_name' is required to scope the listing but does not explain its format, constraints, or examples. The description adds minimal meaning beyond the schema, meeting the baseline for low coverage without fully compensating.

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 'List operations within a setup' clearly states the verb ('List') and resource ('operations'), specifying the scope ('within a setup'). It distinguishes from siblings like 'cam_list_setups' (which lists setups rather than operations) and 'cam_get_operation_info' (which gets details of a specific operation). However, it does not explicitly mention what 'operations' refer to (e.g., CAM machining operations), leaving some ambiguity.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing an existing setup), exclusions, or comparisons to siblings like 'cam_get_operation_info' for detailed info or 'cam_list_setups' for listing setups. Usage is implied by the name and context but not explicitly stated.

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

cam_list_setupsList CAM SetupsB
Read-onlyIdempotent

List all manufacturing setups in the document

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate this is a read-only, idempotent, non-destructive operation. The description adds minimal behavioral context beyond this, stating it lists 'all' setups, which implies completeness but doesn't detail format, pagination, or error handling. No contradiction with annotations exists.

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

Conciseness5/5

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

The description is a single, clear sentence with no wasted words. It's front-loaded with the core action and resource, making it highly efficient and easy to parse.

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

Completeness3/5

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

Given the tool's simplicity (0 parameters, no output schema, and annotations covering safety), the description is adequate but minimal. It could be more complete by adding details like return format or usage context, but it's not incomplete for a basic list operation with good annotations.

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 parameters and 100% schema description coverage, the schema fully documents the lack of inputs. The description doesn't need to add parameter details, and it doesn't introduce any confusion, so it meets the baseline for this scenario.

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

Purpose4/5

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

The description clearly states the action ('List') and resource ('all manufacturing setups in the document'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'cam_list_operations' or 'list_components', which would require mentioning the specific scope of CAM setups versus other listable entities.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention context, prerequisites, or exclusions, such as whether it should be used for CAM-specific setups only or how it relates to other list tools like 'cam_list_operations' or 'list_components'.

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

cam_post_processPost ProcessB

Post-process toolpaths to generate NC code (G-code)

ParametersJSON Schema
NameRequiredDescriptionDefault
setup_nameYesSetup to post-process
operation_nameNoSpecific operation (omit to post all in setup)
post_processorNoPost processor name (e.g. 'fanuc', 'grbl', 'haas', 'linuxcnc', 'mach3')fanuc
output_folderNoOutput directory (default: ~/Desktop)
output_unitsNomm

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds value by clarifying it's a transformation step (toolpaths to G-code). However, it doesn't disclose key behavioral traits like whether it overwrites files, requires specific permissions, or has rate limits. With annotations covering basic safety, the description provides some context but lacks depth on operational 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 description is a single, efficient sentence that front-loads the core purpose with zero waste. Every word earns its place by clearly stating the tool's function and output, making it easy for an agent to parse quickly.

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

Completeness3/5

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

Given the tool's complexity (transforming toolpaths to machine code) and lack of output schema, the description is minimally adequate. It states what the tool does but doesn't cover output details (e.g., file format, error handling) or integration with siblings. With annotations providing basic hints and schema covering most parameters, it's functional but leaves gaps for a tool in a CAM 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 80%, so the schema already documents most parameters well. The description doesn't add meaning beyond the schema—it doesn't explain parameter interactions (e.g., how 'operation_name' affects output) or provide examples. This meets the baseline for high schema coverage but doesn't compensate for the 20% gap or enhance understanding.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Post-process toolpaths to generate NC code (G-code)'. It specifies the verb ('post-process') and resource ('toolpaths'), and the output ('NC code/G-code'). However, it doesn't explicitly differentiate from sibling tools like 'cam_generate_toolpath' or 'execute_code', which might handle related but different steps in the CAM workflow.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a generated toolpath first), exclusions, or how it fits into the workflow with siblings like 'cam_generate_toolpath' or 'execute_code'. This leaves the agent to infer usage from context alone.

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

chamferChamfer EdgesC

Chamfer edges of a body

ParametersJSON Schema
NameRequiredDescriptionDefault
distanceYes
body_nameNo
body_indexNo
edge_selectionNoall

TDQS

C2.8/5.0
Behavior3/5

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

Annotations indicate this is a mutable (readOnlyHint: false), non-idempotent, non-destructive operation. The description adds that it modifies edges of a body, which aligns with annotations but doesn't provide additional behavioral context like whether it creates a new feature, affects model history, or has side effects. No contradiction with annotations exists.

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

Conciseness5/5

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

The description is extremely concise—just four words—and front-loaded with the core action. There's no wasted language, making it easy to parse quickly, though this brevity contributes to gaps in other dimensions.

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 CAD modeling tool with four parameters, no output schema, and annotations covering only basic hints, the description is insufficient. It doesn't explain the operation's effect on the model, parameter roles, or expected outcomes, leaving too much for the agent to infer from the schema and context alone.

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

Parameters2/5

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

With 0% schema description coverage, the description provides no parameter information beyond what's implied by the tool name. It doesn't explain what 'distance', 'body_name', 'body_index', or 'edge_selection' mean, their units, or how they affect the chamfer operation. This leaves significant gaps in understanding the four parameters.

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

Purpose3/5

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

The description 'Chamfer edges of a body' clearly states the verb ('chamfer') and resource ('edges of a body'), making the purpose understandable. However, it doesn't differentiate this tool from similar siblings like 'fillet' (which also modifies edges) or 'bevel' operations, leaving some ambiguity about when to choose chamfering over other edge treatments.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing body), when chamfering is appropriate versus filletting, or any context-specific considerations. The user must infer usage 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.

check_interferenceCheck InterferenceB
Read-onlyIdempotent

Detect collisions between components/bodies

ParametersJSON Schema
NameRequiredDescriptionDefault
component_namesYesNames of components to check
include_coincident_facesNoCount touching faces as interference

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe, repeatable read operation. The description adds the specific behavioral context of detecting collisions/interference, which is valuable beyond the annotations. However, it doesn't describe what constitutes a 'collision' in detail, how results are returned, or any performance considerations.

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

Conciseness5/5

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

The description is extremely concise - a single sentence that directly states the tool's purpose without any unnecessary words. It's front-loaded with the core functionality and contains zero wasted language. This is an excellent example of efficient documentation.

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

Completeness3/5

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

Given the tool's moderate complexity (collision detection with 2 parameters), good annotations, and 100% schema coverage, the description is adequate but has clear gaps. The lack of output schema means the description should ideally explain what the tool returns (e.g., boolean result, collision details, interference volume), but it doesn't. For a read-only analysis tool, this represents a significant omission in completeness.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters well-documented in the schema itself. The description doesn't add any additional parameter semantics beyond what's already in the schema descriptions. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even without parameter information in the description.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('Detect') and resource ('collisions between components/bodies'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'measure_distance' or 'get_physical_properties' that might involve spatial analysis, leaving room for potential confusion about when to choose this specific collision detection tool.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for measurement, analysis, and geometry operations, there's no indication of prerequisites, typical use cases, or comparisons to tools like 'measure_distance' for proximity checks or 'get_physical_properties' for spatial properties. This leaves the agent without context for tool selection.

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

circular_patternCircular PatternC

Pattern a body around an axis

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
countYes
axisNoz
total_angleNoTotal angle to distribute copies over (degrees)

TDQS

C2.8/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds no behavioral context beyond that. It doesn't explain what 'pattern' entails (e.g., creating copies, modifying geometry), potential side effects, or performance considerations. With annotations covering basic safety, the description adds minimal value, scoring a baseline 3.

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

Conciseness4/5

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

The description is a single, efficient sentence that front-loads the core action ('pattern a body'). It avoids unnecessary words, but could be more specific (e.g., 'Create copies of a body arranged in a circle around an axis') to improve clarity without losing conciseness.

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

Completeness2/5

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

For a tool with 4 parameters, low schema coverage (25%), no output schema, and no annotations explaining behavior, the description is incomplete. It lacks details on what the tool returns, how it interacts with geometry, or error conditions, making it inadequate for an agent to use effectively without additional 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 low at 25%, with only 'total_angle' having a description. The description adds no parameter semantics beyond the schema, failing to explain 'body_name' (what body to pattern), 'count' (number of copies), or 'axis' (rotation axis). Given the coverage gap, the description doesn't compensate, resulting in a baseline 3 due to inadequate parameter clarification.

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

Purpose3/5

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

The description states the action ('pattern a body') and resource ('around an axis'), which clarifies the basic purpose. However, it's vague about what 'pattern' means (creating copies in a circular arrangement) and doesn't distinguish from sibling tools like 'rectangular_pattern' or 'mirror', which also create patterns but with different geometries.

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

Usage Guidelines2/5

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

No explicit guidance is provided on when to use this tool versus alternatives like 'rectangular_pattern' or 'mirror'. The description implies usage for circular arrangements but doesn't mention prerequisites (e.g., needing an existing body) or exclusions, leaving the agent to infer 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.

create_as_built_jointCreate As-Built JointC

Create a joint from components' current positions (easier than geometric joints)

ParametersJSON Schema
NameRequiredDescriptionDefault
component_oneYes
component_twoYes
joint_typeYesrigid

TDQS

C2.9/5.0
Behavior3/5

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

Annotations indicate the tool is not read-only, idempotent, or destructive, which the description does not contradict. The description adds context about using 'components' current positions' and being 'easier than geometric joints,' offering some behavioral insight beyond annotations, but lacks details on permissions, side effects, or response format.

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

Conciseness4/5

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

The description is a single, efficient sentence that front-loads the core purpose. It avoids redundancy and wastes no words, though it could be slightly more structured by explicitly listing key parameters or usage scenarios.

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

Completeness2/5

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

Given the tool's complexity (3 parameters, 0% schema coverage, no output schema, and annotations only covering basic hints), the description is inadequate. It lacks details on parameter semantics, behavioral traits like error handling, and does not reference sibling tools, making it incomplete for effective agent use.

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 for undocumented parameters. It mentions 'components' current positions' and 'joint,' hinting at 'component_one' and 'component_two,' but does not explain parameter meanings, the 'joint_type' enum options, or their implications, leaving significant gaps in understanding.

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

Purpose4/5

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

The description clearly states the action ('Create a joint') and the resource ('from components' current positions'), with a specific verb and target. It distinguishes itself from geometric joints by noting it's 'easier,' though it doesn't explicitly differentiate from sibling tools like 'add_joint' or 'create_rigid_group.'

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

Usage Guidelines2/5

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

The description provides minimal guidance, only implying usage when easier joint creation is needed compared to geometric methods. It does not specify when to use this tool over alternatives like 'add_joint' or 'create_rigid_group,' nor does it mention prerequisites or exclusions, leaving usage context vague.

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

create_bendCreate BendB

Add a bend to a sheet metal body

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
bend_line_sketchNoSketch with bend line
angleNoBend angle (degrees)
bend_radiusNoOverride bend radius (cm)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, which the description doesn't contradict. The description adds minimal behavioral context beyond annotations—it implies a geometric modification but doesn't specify effects like permanent model changes, error conditions, or typical use cases in CAD workflows.

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, direct sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly without unnecessary elaboration.

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 CAD modeling tool with 4 parameters, no output schema, and annotations covering basic safety, the description is minimally adequate. It states what the tool does but lacks details on typical outcomes, error handling, or integration with sibling tools, leaving gaps in contextual understanding.

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 75% (3 of 4 parameters have descriptions), providing good baseline documentation. The description doesn't add meaningful parameter semantics beyond what the schema already covers (e.g., it doesn't explain relationships between parameters like bend_line_sketch and angle).

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

Purpose4/5

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

The description clearly states the action ('Add a bend') and the target resource ('to a sheet metal body'), making the purpose immediately understandable. However, it doesn't differentiate this tool from similar sibling tools like 'create_flange' or 'fold/unfold' operations, which might also manipulate sheet metal geometry.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'create_flange' or 'fold' operations. The description lacks context about prerequisites (e.g., needing a sheet metal body and bend line sketch) or when this operation is appropriate in a design workflow.

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

create_boxCreate BoxC

Create a box primitive (non-parametric via TemporaryBRepManager)

ParametersJSON Schema
NameRequiredDescriptionDefault
lengthYes
widthYes
heightYes
center_xNo
center_yNo
center_zNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation. The description adds that it creates 'non-parametric' geometry via 'TemporaryBRepManager', which provides useful context about the creation method and persistence characteristics. However, it doesn't explain what 'TemporaryBRepManager' means in practice or how the created box interacts with the modeling environment.

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

Conciseness4/5

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

The description is a single, efficient sentence that gets straight to the point. There's no wasted verbiage, though it could potentially benefit from slightly more detail given the complete lack of parameter documentation in the schema.

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

Completeness2/5

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

For a 6-parameter creation tool with no output schema and 0% schema description coverage, the description is inadequate. It doesn't explain what the tool returns, how the created box integrates into the scene, what coordinate system is used, or provide any examples of typical usage patterns.

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

Parameters2/5

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

With 0% schema description coverage for all 6 parameters, the description provides no information about what length, width, height, or center coordinates mean. It doesn't specify units, coordinate system, orientation, or how these parameters relate to the resulting box geometry. The description fails to compensate for the complete lack of schema documentation.

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

Purpose4/5

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

The description clearly states the verb ('Create') and resource ('box primitive'), and specifies it's 'non-parametric via TemporaryBRepManager' which distinguishes it from parametric modeling approaches. However, it doesn't explicitly differentiate from sibling tools like 'create_component' or 'create_cylinder' that also create geometry.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for creating geometry (create_cylinder, create_sphere, create_torus, etc.), there's no indication of when a box primitive is appropriate versus other primitives or modeling methods.

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

create_componentCreate ComponentB

Create a new component (sub-assembly) in the design

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesComponent name
parent_nameNoParent component name (omit for root)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already indicate this is a non-readonly, non-idempotent, non-destructive operation. The description adds minimal context beyond this - it specifies 'new component (sub-assembly)' which clarifies the type of object being created, but doesn't address behavioral aspects like permissions needed, what happens on duplicate names, or response format.

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

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple creation tool and front-loads the essential 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 creation tool with good annotations (readOnlyHint=false, destructiveHint=false) and full schema coverage, the description is minimally adequate. However, without an output schema and with many similar sibling tools, it could benefit from more context about what constitutes a 'component' versus other creatable objects and what the tool returns.

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

Parameters3/5

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

With 100% schema description coverage, the schema already documents both parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema - no examples, formatting details, or clarification about the parent-child relationship implied by 'sub-assembly'.

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

Purpose4/5

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

The description clearly states the action ('Create') and resource ('new component (sub-assembly) in the design'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'create_box' or 'create_cylinder' that also create objects but of different types.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With many sibling 'create_' tools (e.g., create_box, create_cylinder, create_sketch), there's no indication of when a component is appropriate versus other object types, nor any prerequisites or exclusions mentioned.

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

create_construction_axisCreate Construction AxisC

Create a construction axis

ParametersJSON Schema
NameRequiredDescriptionDefault
methodYes
point_oneNo
point_twoNo
plane_oneNoFirst plane (for intersection)
plane_twoNoSecond plane (for intersection)
body_nameNoBody name (for edge method)
edge_indexNoEdge index on the body

TDQS

C2.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation (readOnlyHint: false, idempotentHint: false, destructiveHint: false). The description doesn't contradict these annotations, but it also adds no behavioral context beyond the basic 'create' action. No information about side effects, error conditions, or system behavior is provided, though annotations cover the safety profile adequately.

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

Conciseness5/5

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

The description is extremely concise with just three words. While it's under-specified for the tool's complexity, it's not verbose or poorly structured. Every word serves a purpose, and there's no wasted text, earning full marks for conciseness.

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

Completeness2/5

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

Given the tool's complexity (7 parameters with conditional dependencies based on 'method'), lack of output schema, and minimal annotations, the description is inadequate. It doesn't explain what a construction axis is, how it's used in CAD workflows, or provide any context about the multiple creation methods. For a tool with this parameter richness, more explanation is needed.

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 57% (4 of 7 parameters have descriptions). The description adds no parameter information beyond what's in the schema. It doesn't explain the relationship between 'method' and other parameters (e.g., that 'point_one' and 'point_two' are required for 'two_points' method), nor does it clarify the purpose of construction axes. With incomplete schema coverage, the description fails to compensate.

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

Purpose2/5

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

The description 'Create a construction axis' is a tautology that restates the name/title without adding specificity. It doesn't explain what a construction axis is, what it's used for, or how it differs from other construction tools like 'create_construction_plane' in the sibling list. The purpose is stated but lacks meaningful differentiation.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus alternatives. The description provides no context about appropriate scenarios, prerequisites, or how it relates to other tools in the extensive sibling list (e.g., when to create an axis versus a plane or sketch). This leaves the agent with no usage direction.

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

create_construction_planeCreate Construction PlaneB

Create a construction plane for sketching

ParametersJSON Schema
NameRequiredDescriptionDefault
methodYes
planeNoReference plane (for offset/angle)
offsetNoOffset distance in cm (for offset)
angleNoAngle in degrees (for angle method)
edge_nameNoEdge or axis to rotate around (for angle method)
plane_oneNoFirst plane (for midplane)
plane_twoNoSecond plane (for midplane)
point_oneNo[x,y,z] first point
point_twoNo[x,y,z] second point
point_threeNo[x,y,z] third point

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation, which the description doesn't contradict. The description adds minimal behavioral context by specifying the plane is 'for sketching', but doesn't explain what happens after creation (e.g., if it becomes active, how it interacts with other features, or any side effects). With annotations covering basic safety, this earns a baseline score for adding some purpose but lacking detailed 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 description is a single, clear sentence with no wasted words. It's front-loaded with the core action and purpose, making it efficient and easy to parse, which is ideal for conciseness.

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

Completeness3/5

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

Given the tool's complexity (10 parameters, no output schema) and rich schema coverage, the description is minimal but not incomplete. It states what the tool does but lacks context on usage, output, or integration with other tools. With annotations providing safety hints, it's adequate but leaves gaps in guiding the agent effectively.

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 high at 90%, with most parameters well-documented in the schema itself (e.g., method enum values, plane references). The description adds no parameter-specific information beyond the general purpose, so it relies on the schema. This meets the baseline for high schema coverage without adding extra value.

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

Purpose4/5

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

The description clearly states the action ('Create') and resource ('construction plane') with the purpose 'for sketching', which distinguishes it from other creation tools like create_box or create_cylinder. However, it doesn't explicitly differentiate from create_sketch, which might be a related sibling tool for sketching purposes.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context (e.g., when sketching is needed), or how it relates to sibling tools like create_sketch or create_construction_axis, leaving the agent with no usage direction.

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

create_cylinderCreate CylinderC

Create a cylinder primitive (non-parametric via TemporaryBRepManager)

ParametersJSON Schema
NameRequiredDescriptionDefault
radiusYes
heightYes
base_xNo
base_yNo
base_zNo
axisNoCylinder axis directionz

TDQS

C2.9/5.0
Behavior3/5

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

Annotations indicate this is a mutable, non-idempotent, non-destructive operation, which the description does not contradict. The description adds value by specifying 'non-parametric via TemporaryBRepManager', hinting at creation behavior without persistence or parametric features, but it doesn't detail effects like scene changes or error conditions.

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

Conciseness4/5

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

The description is a single, efficient sentence that front-loads the core action. It avoids unnecessary words, though it could be more structured by separating purpose from technical notes.

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 with no output schema and low parameter documentation, the description is incomplete. It lacks details on return values, error handling, or how the cylinder integrates into the scene, making it inadequate for full contextual understanding.

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

Parameters2/5

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

With low schema description coverage (17%), the description does not compensate by explaining parameters. It mentions 'non-parametric' but doesn't clarify what parameters like 'radius', 'height', or 'axis' mean in context, leaving semantics largely undocumented beyond the minimal schema 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?

The description clearly states the action ('Create a cylinder primitive') and specifies the resource ('cylinder'), but it does not explicitly differentiate from sibling tools like 'create_box' or 'create_sphere'. The mention of 'non-parametric via TemporaryBRepManager' adds technical context but doesn't clarify functional uniqueness among 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 guidance is provided on when to use this tool versus alternatives like 'create_box' or 'create_sphere', nor are there any prerequisites or exclusions mentioned. The description lacks context for tool selection among the many creation tools available.

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

create_flangeCreate FlangeA

Create a sheet metal flange on an edge

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
edge_indexYes
heightNoFlange height (cm)
angleNoBend angle (degrees)
bend_radiusNoBend radius (cm)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation. The description adds that it creates a flange, implying a modeling operation that modifies geometry. However, it doesn't disclose additional behavioral traits like whether it requires specific permissions, how it handles errors, or what the expected output looks like (since no output schema exists).

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly.

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 creation tool with 5 parameters, no output schema, and annotations covering basic hints, the description is minimally complete. It specifies the action and target but lacks details on usage context, error handling, or output format, leaving gaps that could hinder effective tool selection and 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 60% (3 of 5 parameters have descriptions). The description mentions 'on an edge', which hints at 'edge_index', but doesn't add meaning beyond the schema for parameters like 'body_name', 'height', 'angle', or 'bend_radius'. With moderate schema coverage, the baseline score of 3 is appropriate as the description provides minimal additional parameter context.

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

Purpose5/5

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

The description clearly states the specific action ('Create a sheet metal flange') and the target resource ('on an edge'), using precise terminology. It distinguishes this tool from siblings like 'create_bend' (which might create bends without specifying flange geometry) or 'extrude' (which creates features from sketches rather than edges).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'create_bend' or 'extrude', nor does it mention prerequisites (e.g., needing an existing body with an edge). It simply states what the tool does without contextual usage information.

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

create_holeCreate HoleB

Create a hole feature on a body face

ParametersJSON Schema
NameRequiredDescriptionDefault
diameterYes
depthYes
body_nameNo
body_indexNo
face_selectionNotop
center_xNo
center_yNo

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds minimal behavioral context beyond the basic action. It does not explain potential side effects, such as how the hole interacts with the body or if it requires specific permissions. However, it does not contradict the annotations, so it meets a baseline level with some added value from the description.

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, clear sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and efficient, making it easy for an agent to quickly grasp the core functionality.

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

Completeness2/5

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

Given the complexity of a 7-parameter tool with no output schema and 0% schema coverage, the description is insufficient. It lacks details on parameter usage, expected outcomes, error conditions, or integration with sibling tools, making it incomplete for effective agent operation in this context.

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

Parameters2/5

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

With 0% schema description coverage, the description does not compensate by explaining any parameters. It mentions 'hole feature on a body face', which hints at 'body_name' and 'face_selection', but does not clarify parameter meanings like 'diameter', 'depth', or 'center_x/y'. This leaves significant gaps in understanding how to use the tool effectively.

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

Purpose4/5

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

The description clearly states the action ('Create') and the resource ('a hole feature on a body face'), which is specific and understandable. However, it does not explicitly differentiate from sibling tools like 'create_cylinder' or 'create_sphere', which might also create features on bodies, leaving some ambiguity about when to choose this tool over others for similar purposes.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as other creation tools like 'create_cylinder' or 'create_thread'. It lacks context about prerequisites, typical scenarios, or exclusions, leaving the agent to infer usage based on the tool name and parameters alone.

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

create_parameterCreate ParameterB

Create a new user parameter

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesParameter name
valueYesNumeric value
unitYesUnit expression (e.g. 'mm', 'cm', 'in', 'deg')
commentNoOptional comment

TDQS

B3.3/5.0
Behavior3/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 (readOnlyHint=false, idempotentHint=false, destructiveHint=false). The description adds minimal behavioral context beyond this—it doesn't specify what happens on duplicate names, whether creation is immediate, or any permission requirements. It doesn't contradict annotations, but provides little extra value given their coverage.

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, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place without redundancy.

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

Completeness3/5

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

Given the lack of an output schema and the tool's mutation nature (creating a parameter), the description is somewhat incomplete. It doesn't hint at what the tool returns (e.g., success confirmation, the created parameter object, or an error). However, annotations cover safety aspects, and the schema is well-documented, making it minimally adequate but with room for improvement in output expectations.

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

Parameters3/5

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

Schema description coverage is 100%, with clear documentation for all four parameters (name, value, unit, comment). The description adds no additional parameter semantics beyond what's in the schema, such as format constraints or examples beyond the unit field's schema description. This meets the baseline for high schema coverage.

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

Purpose4/5

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

The description clearly states the action ('Create') and resource ('new user parameter'), making the purpose immediately understandable. However, it doesn't differentiate this from sibling tools like 'set_parameter' or 'get_parameters', which would require explicit comparison to achieve a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'set_parameter' (which might update existing parameters) or 'get_parameters' (which retrieves them). There's no mention of prerequisites, context, or exclusion criteria, leaving the agent with insufficient usage direction.

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

create_polygonCreate PolygonB

Draw a regular polygon in the most recent sketch

ParametersJSON Schema
NameRequiredDescriptionDefault
sidesYes
radiusYesCircumradius (cm)
center_xNo
center_yNo
center_zNo

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation, which the description aligns with by implying creation ('Draw'). However, the description adds minimal behavioral context beyond annotations—it doesn't specify if it modifies existing geometry, requires specific sketch states, or has side effects like auto-constraints.

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, efficient sentence with no wasted words. It front-loads the core action ('Draw a regular polygon') and adds necessary context ('in the most recent sketch'), making it easy to parse quickly.

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

Completeness2/5

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

Given the tool's complexity (5 parameters, creation operation), lack of output schema, and low schema coverage, the description is incomplete. It doesn't cover parameter meanings, behavioral nuances, or usage context, leaving gaps for an AI agent to infer correctly.

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

Parameters2/5

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

Schema description coverage is low (20%), with only 'radius' having a description ('Circumradius (cm)'). The description adds no parameter semantics, failing to explain 'sides' (number of polygon edges), 'center_x/y/z' (3D coordinates), or how they interact. For 5 parameters with poor schema coverage, this is inadequate.

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

Purpose4/5

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

The description clearly states the action ('Draw') and resource ('a regular polygon'), specifying it occurs 'in the most recent sketch'. It distinguishes from siblings like 'draw_circle' or 'draw_rectangle' by focusing on polygons, but doesn't explicitly differentiate from other polygon-related tools (none in the list).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives is provided. The description mentions 'most recent sketch', implying a sketch must exist, but doesn't state prerequisites or compare to other drawing tools like 'draw_circle' or 'draw_rectangle' for shape selection.

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

create_rigid_groupCreate Rigid GroupB

Lock multiple components together

ParametersJSON Schema
NameRequiredDescriptionDefault
component_namesYesNames of components to group
include_childrenNoInclude child sub-components

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, which the description aligns with by implying a creation action ('Lock'). The description adds minimal behavioral context beyond annotations—it hints at grouping behavior but doesn't detail effects like persistence, reversibility, or interaction with other operations. No contradiction with annotations exists.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words—'Lock multiple components together' directly conveys the core action. It's front-loaded and appropriately sized for the tool's complexity, making it easy to parse quickly.

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

Completeness3/5

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

Given the tool has no output schema and annotations cover basic safety (non-destructive), the description is minimally adequate. It states the purpose but lacks details on behavioral outcomes, error conditions, or integration with sibling tools. For a creation tool with 2 parameters, it meets a bare minimum but doesn't provide rich contextual guidance.

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

Parameters3/5

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

Schema description coverage is 100%, with clear parameter documentation: 'component_names' (array of strings, min 2 items) and 'include_children' (boolean, default true). The description 'Lock multiple components together' loosely relates to 'component_names' but adds no specific semantics beyond the schema, such as format examples or grouping implications. Baseline 3 is appropriate given high schema coverage.

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

Purpose4/5

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

The description 'Lock multiple components together' clearly states the tool's function with a specific verb ('Lock') and resource ('components'), and the 'rigid' aspect is implied. However, it doesn't explicitly differentiate from sibling tools like 'create_component' or 'add_joint', which could also involve component relationships, leaving some ambiguity about its unique role.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools like 'create_component', 'add_joint', or 'boolean_operation' that might handle component interactions, there's no indication of specific use cases, prerequisites, or exclusions for 'create_rigid_group'.

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

create_section_analysisCreate Section AnalysisB

Cut a section plane through the model

ParametersJSON Schema
NameRequiredDescriptionDefault
planeNoyz
offsetNoOffset from the plane (cm)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds minimal behavioral context beyond the action. It implies a creation or analysis outcome but does not detail effects like visual changes, data generation, or interaction with the model. No contradiction with annotations exists, but the description offers limited value beyond them.

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 that directly states the tool's purpose without unnecessary words. It is appropriately sized for a simple tool, making it efficient and easy to parse for an AI agent.

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

Completeness3/5

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

Given the tool's moderate complexity (2 parameters, no output schema), the description is minimally adequate but lacks depth. It covers the basic action but omits details on output format, side effects, or integration with sibling tools. With annotations providing safety hints, the description is complete enough for basic use but could be more informative.

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

Parameters3/5

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

Schema description coverage is 50% (only 'offset' has a description), and the description does not add meaning for parameters beyond the schema. It mentions 'plane' and 'offset' implicitly but provides no extra details on usage, constraints, or effects. With moderate schema coverage, the baseline score of 3 is appropriate as the description does not compensate for gaps.

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

Purpose4/5

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

The description clearly states the action ('cut a section plane') and the target ('through the model'), which is specific and distinguishes it from sibling tools like 'create_construction_plane' or 'get_object_info'. However, it does not explicitly differentiate from all siblings (e.g., 'split_body' or 'trim_surface' could involve cutting), so it falls short of a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as 'create_construction_plane' for reference geometry or 'get_scene_info' for analysis. It lacks explicit context, prerequisites, or exclusions, leaving the agent to infer usage 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.

create_sketchCreate SketchB

Create a new sketch on xy/yz/xz plane, optionally offset

ParametersJSON Schema
NameRequiredDescriptionDefault
planeNoxy
z_offsetNoOffset distance from the plane (cm)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation, which the description doesn't contradict. The description adds minimal behavioral context by mentioning the plane options and offset capability, but doesn't disclose important details like whether sketches are persistent, if they can be edited later, or what happens on failure. With annotations covering basic safety, this earns a baseline score.

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

Conciseness5/5

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

The description is extremely concise—a single sentence that's front-loaded with the core action. Every word earns its place without redundancy, making it easy to parse quickly. No unnecessary details or verbose explanations are included.

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

Completeness3/5

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

Given the tool has no output schema and annotations cover basic safety, the description is minimally complete. It identifies the action and parameters but lacks depth on usage context, return values, or error handling. For a creation tool with 2 parameters, this is adequate but leaves gaps in practical guidance.

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

Parameters3/5

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

Schema description coverage is 50% (only 'z_offset' has a description). The description mentions 'plane' and 'offset' but doesn't add meaningful semantics beyond what the schema provides—it doesn't explain what the planes represent, default behaviors, or offset implications. With partial schema coverage, the description doesn't adequately compensate, warranting a baseline score.

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

Purpose4/5

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

The description clearly states the verb ('Create') and resource ('new sketch'), specifying it occurs on specific planes (xy/yz/xz). However, it doesn't differentiate from sibling tools like 'draw_rectangle' or 'draw_circle' that might also create sketches, leaving some ambiguity about when to use this versus other drawing tools.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It mentions 'optionally offset' but doesn't explain scenarios where offsetting is beneficial or when other tools like 'create_construction_plane' might be more appropriate. No explicit when/when-not instructions are given.

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

create_sphereCreate SphereB

Create a sphere primitive (non-parametric via TemporaryBRepManager)

ParametersJSON Schema
NameRequiredDescriptionDefault
radiusYes
center_xNo
center_yNo
center_zNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already indicate this is a mutable operation (readOnlyHint: false) that's neither idempotent nor destructive. The description adds some context about being 'non-parametric via TemporaryBRepManager', which suggests a specific creation method, but doesn't elaborate on what this means behaviorally (e.g., whether the sphere can be edited later, if it's temporary, or how it integrates with the CAD environment).

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

Conciseness4/5

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

The description is a single, efficient sentence that gets straight to the point. It could potentially benefit from slightly more context about the sphere's characteristics or usage, but it doesn't waste words and communicates the core purpose effectively.

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 creation tool with no output schema and minimal annotations beyond basic mutability hints, the description provides the essential 'what' but lacks important context. It doesn't explain what happens after creation (e.g., where the sphere appears, whether it's selectable/editable, or what the return value might be). The 'non-parametric via TemporaryBRepManager' hint suggests technical specifics but doesn't make them actionable for an AI agent.

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

Parameters3/5

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

With 0% schema description coverage, the schema provides only basic type constraints. The description doesn't add any parameter information beyond what's implied by the tool name. It doesn't explain what 'radius' represents, what units are used, or what the center coordinates mean in the 3D space. However, the parameter names are self-explanatory (radius, center_x/y/z), providing some inherent clarity.

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

Purpose4/5

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

The description clearly states the verb ('Create') and resource ('sphere primitive'), specifying it's non-parametric via TemporaryBRepManager. However, it doesn't explicitly differentiate from sibling tools like 'create_box' or 'create_cylinder' beyond the sphere shape, leaving some ambiguity about when to choose this specific primitive creation tool.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'create_box' or 'create_cylinder'. The description mentions 'non-parametric via TemporaryBRepManager', but doesn't explain what this means in practical usage or when this approach is preferred over parametric alternatives.

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

create_threadCreate ThreadA

Add threads to a cylindrical face (cosmetic or modeled)

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
face_indexYesIndex of the cylindrical face
is_internalNoTrue for internal (nut) threads
thread_typeNoThread standard (e.g. 'ISO Metric profile', 'ANSI Unified Screw Threads')ISO Metric profile
thread_designationNoSize designation (e.g. 'M10x1.5')M10x1.5
thread_classNoThread class (e.g. '6g', '6H')6g
is_modeledNoTrue = physical geometry, False = cosmetic
is_full_lengthNoThread entire cylinder length
thread_lengthNoThread length in cm (only if is_full_length=false)

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 write operation (readOnlyHint=false), non-idempotent, and non-destructive. The description adds useful context about the two thread types (cosmetic vs modeled) which isn't captured in annotations, but doesn't provide additional behavioral details like permission requirements, side effects, or what happens if applied to non-cylindrical faces.

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, efficient sentence that communicates the essential purpose without unnecessary words. It's front-loaded with the core action and immediately qualifies the thread types, making it easy for an agent to parse quickly.

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 9-parameter CAD modeling tool with no output schema, the description is minimally adequate. It covers the basic purpose but lacks information about return values, error conditions, or practical usage context. The high schema coverage helps, but more guidance would be beneficial given the tool's complexity.

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

Parameters3/5

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

With 89% schema description coverage, most parameters are well-documented in the schema itself. The description adds minimal semantic context beyond what's in the schema - it mentions 'cylindrical face' which relates to face_index, and 'cosmetic or modeled' which relates to is_modeled, but doesn't provide additional interpretation or usage examples for the 9 parameters.

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

Purpose5/5

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

The description clearly states the specific action ('Add threads') and target resource ('to a cylindrical face'), with explicit qualification of thread types ('cosmetic or modeled'). It distinguishes from sibling tools like 'create_hole' or 'chamfer' by focusing specifically on thread creation functionality.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or constraints. While it specifies the target must be a cylindrical face, it doesn't explain how this differs from other face modification tools or when threads are appropriate versus other features.

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

create_torusCreate TorusB

Create a torus primitive (non-parametric via TemporaryBRepManager)

ParametersJSON Schema
NameRequiredDescriptionDefault
major_radiusYesDistance from center to tube center
minor_radiusYesTube cross-section radius
center_xNo
center_yNo
center_zNo
axisNoz

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a mutable (readOnlyHint: false), non-idempotent, non-destructive operation. The description adds that it creates a 'primitive' and uses 'TemporaryBRepManager', which suggests it might be a temporary or intermediate geometric representation, but doesn't clarify persistence, side effects, or error conditions. No contradiction with annotations exists.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core action ('Create a torus primitive') and adds technical context without redundancy. Every word serves a purpose, making it appropriately concise.

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

Completeness3/5

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

Given the complexity of a 3D modeling tool with 6 parameters, no output schema, and annotations covering basic safety, the description is minimal. It states what the tool does but lacks details on return values, error handling, or integration with sibling tools, leaving gaps for an AI agent to infer usage.

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 low (33%), with only 'major_radius' and 'minor_radius' described. The description adds no parameter details beyond what's in the schema, such as explaining 'axis' enum choices or default center values. With 6 parameters and poor schema coverage, the description fails to compensate adequately, resulting in a baseline score.

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

Purpose4/5

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

The description clearly states the action ('Create a torus primitive') and specifies the method ('non-parametric via TemporaryBRepManager'), which distinguishes it from potential parametric creation methods. However, it doesn't explicitly differentiate from sibling tools like 'create_box' or 'create_sphere' beyond the geometric shape.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'create_sphere' or 'create_cylinder', nor does it mention prerequisites, context, or exclusions. It lacks any usage context or comparison to sibling tools.

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

delete_allDelete AllA
Destructive

Clear the design (delete all timeline items)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate destructiveHint=true, readOnlyHint=false, and idempotentHint=false. The description adds value by clarifying the scope ('all timeline items') and the action ('Clear'), which aligns with annotations and provides context on what gets destroyed. No contradiction exists.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core action ('Clear the design') and specifies the target ('delete all timeline items') without any redundant information. Every word serves a purpose.

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

Completeness4/5

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

Given the tool's destructive nature, annotations cover safety (destructiveHint=true), and the description adds scope. However, with no output schema, it lacks details on return values or confirmation messages, leaving a minor gap in completeness for such a high-impact operation.

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 parameters and 100% schema description coverage, the baseline is 4. The description confirms no inputs are needed by specifying the action applies to 'all timeline items', adding clarity beyond the empty schema.

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

Purpose5/5

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

The description clearly states the verb ('Clear'/'delete') and resource ('design'/'timeline items'), specifying the scope as 'all timeline items'. It distinguishes from siblings like 'delete_parameter' by targeting the entire design rather than a specific parameter.

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 when clearing all timeline items is needed, but does not explicitly state when to use this tool versus alternatives (e.g., 'delete_parameter' for specific deletions) or provide exclusions. It offers basic context without detailed guidance.

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

delete_parameterDelete ParameterB
Destructive

Remove a user parameter

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesParameter name

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already indicate destructiveHint=true, readOnlyHint=false, and idempotentHint=false, covering key behavioral traits. The description adds minimal context beyond this, as 'Remove' aligns with destructive but doesn't elaborate on effects (e.g., irreversible deletion, impact on dependent features) or permissions needed. No contradiction with annotations exists.

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

Conciseness5/5

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

The description is a single, direct sentence with zero wasted words, making it highly efficient and front-loaded. Every word contributes to understanding the tool's purpose without unnecessary elaboration.

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

Completeness3/5

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

Given the tool's destructive nature (per annotations) and lack of output schema, the description is minimally complete but lacks depth. It doesn't explain what happens post-deletion (e.g., error if parameter doesn't exist, return value) or dependencies, though annotations cover safety aspects. For a simple deletion tool, this is adequate but not comprehensive.

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

Parameters3/5

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

Schema description coverage is 100% with one parameter ('name') clearly documented. The description doesn't add any meaning beyond the schema, such as format examples or constraints (e.g., case sensitivity). With high schema coverage, a baseline score of 3 is appropriate as the schema handles parameter documentation adequately.

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

Purpose4/5

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

The description 'Remove a user parameter' clearly states the action (remove) and resource (user parameter), making the tool's purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'delete_all' (which might delete all parameters) or 'set_parameter' (which modifies rather than removes), missing full sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., parameter must exist), exclusions (e.g., cannot delete system parameters), or compare to siblings like 'delete_all' or 'set_parameter', leaving usage context unclear.

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

draft_facesDraft / Taper FacesB

Add a draft angle to faces of a body (for mold release / injection molding)

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
angleYesDraft angle in degrees
face_selectionNoWhich faces to draftvertical
pull_direction_planeNoPlane defining the pull directionxy
is_tangent_chainNoInclude tangent-connected faces

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, which the description doesn't contradict. The description adds context about the purpose (mold release/injection molding) but doesn't disclose additional behavioral traits like whether the operation is reversible, has specific failure modes, or affects related geometry beyond the selected faces.

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

Conciseness5/5

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

Single sentence that is front-loaded with the core action and purpose, with no wasted words. Efficiently conveys the tool's function in a compact form appropriate for its complexity.

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 geometric modeling tool with 5 parameters, no output schema, and annotations covering basic safety, the description is minimally adequate. It states the purpose but lacks details on geometric constraints, error conditions, or output expectations, leaving gaps for an AI agent to infer behavior.

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

Parameters3/5

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

With 80% schema description coverage, the schema already documents parameters well (e.g., 'angle' as draft angle in degrees, 'face_selection' options). The description adds no parameter-specific semantics beyond implying 'faces' are targeted, aligning with the baseline for high schema coverage without extra value.

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

Purpose4/5

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

The description clearly states the action ('Add a draft angle') and target resource ('faces of a body'), with specific context ('for mold release / injection molding'). It distinguishes from siblings like 'chamfer' or 'fillet' by focusing on draft/taper functionality, though it doesn't explicitly compare to similar tools like 'offset_faces'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'offset_faces' or 'chamfer' for similar geometric modifications. The description mentions the application context (mold release/injection molding) but doesn't provide explicit usage scenarios, prerequisites, or exclusions.

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

draw_arcDraw ArcB

Draw an arc in the most recent sketch (center + start point + sweep angle)

ParametersJSON Schema
NameRequiredDescriptionDefault
center_xYes
center_yYes
center_zNo
start_xYes
start_yYes
start_zNo
sweep_angleYesSweep angle in degrees (positive = CCW)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation, which the description doesn't contradict. However, it adds little behavioral context beyond the basic action—no mention of effects on the sketch, error conditions, or visual feedback. With annotations covering safety, the description provides minimal additional value.

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 zero waste—every word contributes to defining the tool's purpose. It's appropriately sized for a straightforward geometric operation, avoiding redundancy or fluff.

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

Completeness2/5

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

Given the complexity (7 parameters, low schema coverage, no output schema) and annotations, the description is incomplete. It lacks details on parameter usage, expected outcomes, or integration with the sketching workflow. For a CAD tool with multiple numeric inputs, more context is needed to guide effective use.

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 low (14%), with only sweep_angle documented. The description mentions parameters generically ('center + start point + sweep angle') but adds no meaning beyond naming them—no units, coordinate system, or geometric relationships. It fails to compensate for the poor schema coverage, leaving most parameters unclear.

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

Purpose5/5

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

The description clearly states the specific action ('Draw an arc') and the resource ('in the most recent sketch'), with precise geometric parameters (center + start point + sweep angle). It distinguishes from sibling tools like draw_circle, draw_line, and draw_rectangle by specifying arc creation rather than other sketch primitives.

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

Usage Guidelines2/5

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

The description provides minimal guidance, only implying usage for arc drawing in sketches. It lacks explicit when-to-use criteria, prerequisites (e.g., requires an active sketch), or alternatives (e.g., using draw_spline for curves). No exclusions or comparisons to siblings are mentioned.

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

draw_circleDraw CircleB

Draw a circle in the most recent sketch

ParametersJSON Schema
NameRequiredDescriptionDefault
radiusYes
center_xNo
center_yNo
center_zNo

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, which the description doesn't contradict. The description adds context about operating on 'the most recent sketch', which is useful behavioral information not covered by annotations. However, it lacks details on error conditions, visual feedback, or interaction with other sketch elements.

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, clear sentence that efficiently communicates the core functionality without unnecessary words. It's appropriately sized for a simple drawing operation and front-loads the essential information.

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 geometry creation tool with 4 parameters, 0% schema description coverage, no output schema, and minimal annotations, the description is inadequate. It doesn't explain what happens after drawing (e.g., does it return an object ID?), coordinate systems, units, or how this interacts with other sketch operations. The context signals indicate significant gaps in documentation.

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

Parameters2/5

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

With 0% schema description coverage for 4 parameters, the description provides no parameter information beyond what's in the schema. It doesn't explain what 'radius', 'center_x', 'center_y', or 'center_z' mean in context, their units, or how they relate to the sketch coordinate system. The description fails to compensate for the schema's lack of 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 clearly states the action ('Draw a circle') and specifies the context ('in the most recent sketch'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling drawing tools like 'draw_arc', 'draw_line', or 'draw_rectangle', which would require 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?

The description provides minimal guidance by specifying 'in the most recent sketch', but offers no explicit when-to-use rules, alternatives, or exclusions compared to other drawing or geometry creation tools. There's no mention of prerequisites like needing an active sketch.

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

draw_lineDraw LineB

Draw a line in the most recent sketch

ParametersJSON Schema
NameRequiredDescriptionDefault
start_xYes
start_yYes
start_zNo
end_xYes
end_yYes
end_zNo

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation, which the description doesn't contradict. The description adds context about operating on 'the most recent sketch', which is useful behavioral information not covered by annotations. However, it lacks details on potential side effects, error conditions, or what happens if no sketch exists, leaving some gaps in behavioral understanding.

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

Conciseness5/5

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

The description is extremely concise with a single sentence that states the core functionality without any wasted words. It's front-loaded with the essential action and context, making it efficient for quick understanding despite its limitations in other dimensions.

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

Completeness2/5

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

Given the complexity of a 6-parameter drawing operation with no output schema and 0% schema description coverage, the description is insufficiently complete. It lacks crucial information about parameter semantics, coordinate systems, units, error conditions, and what constitutes 'the most recent sketch'. For a tool that creates geometry in a 3D environment, this leaves significant gaps in understanding how to use it effectively.

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

Parameters2/5

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

With 0% schema description coverage for all 6 parameters, the description carries full burden for explaining parameter meaning but provides no information about what start_x, start_y, start_z, end_x, end_y, or end_z represent. The description doesn't compensate for the complete lack of parameter documentation in the schema, leaving the agent guessing about coordinate systems, units, or interpretation of these values.

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

Purpose4/5

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

The description clearly states the action ('Draw a line') and specifies the target ('in the most recent sketch'), which provides a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'draw_arc', 'draw_circle', or 'draw_spline' that also draw in sketches, leaving some ambiguity about when to choose this specific drawing tool.

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

Usage Guidelines2/5

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

The description provides minimal guidance by specifying 'in the most recent sketch', which implies a prerequisite context but doesn't offer explicit when-to-use instructions or alternatives. There's no mention of when to use this versus other drawing tools (e.g., 'draw_arc' for curves) or how it relates to sibling tools like 'create_sketch', leaving the agent with little direction on tool selection.

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

draw_rectangleDraw RectangleA

Draw a rectangle in the most recent sketch

ParametersJSON Schema
NameRequiredDescriptionDefault
widthYes
heightYes
origin_xNo
origin_yNo
origin_zNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already indicate this is a mutable operation (readOnlyHint: false) that's non-destructive and non-idempotent. The description adds minimal behavioral context beyond this - it specifies the sketch context ('most recent sketch') but doesn't describe what happens if no sketch exists, whether the rectangle becomes a sketch entity, or any other behavioral details. The description doesn't contradict annotations.

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

Conciseness5/5

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

The description is a single, efficient sentence that states the core functionality without unnecessary words. It's appropriately sized for a straightforward drawing operation and front-loads the essential 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 5-parameter drawing tool with no output schema and minimal annotations, the description is incomplete. It doesn't explain what the tool returns, how errors are handled, or provide usage examples. While the purpose is clear, the lack of parameter guidance and behavioral context leaves significant gaps for an AI agent trying to use this tool effectively.

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 full burden for parameter explanation but provides none. However, the parameter names (width, height, origin_x/y/z) are self-explanatory for rectangle drawing in a 3D context. The description implies these parameters define the rectangle's dimensions and position, though it doesn't explicitly explain their meaning or units.

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

Purpose5/5

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

The description clearly states the action ('Draw') and the resource ('a rectangle'), specifying it operates 'in the most recent sketch'. This distinguishes it from sibling tools like 'create_box' or 'create_polygon' by focusing on sketch-based rectangle drawing rather than 3D primitive creation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'create_box' or 'create_polygon'. It mentions 'most recent sketch' which implies a prerequisite sketch context, but doesn't explicitly state when this tool is appropriate or what alternatives exist for different scenarios.

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

draw_splineDraw SplineA

Draw a spline in the most recent sketch. Use fit_points for a curve through points, or control_points for a control-polygon spline.

ParametersJSON Schema
NameRequiredDescriptionDefault
spline_typeYes
pointsYesArray of [x,y] or [x,y,z] points
degreeNoSpline degree (only for control_points, 3 or 5)

TDQS

A4.2/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation (readOnlyHint=false, idempotentHint=false, destructiveHint=false), which the description doesn't contradict. The description adds useful context about operating 'in the most recent sketch,' implying it modifies the current sketch state, but doesn't detail side effects like sketch activation requirements or error conditions. With annotations covering basic safety, the description adds some value but lacks rich behavioral context.

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

Conciseness5/5

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

The description is two sentences with zero waste: the first states the core action and target, and the second provides essential usage guidance for the key parameter. It's front-loaded with the main purpose and efficiently structured for quick comprehension.

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

Completeness4/5

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

Given the tool has 3 parameters with moderate schema coverage (67%), no output schema, and annotations covering basic operational hints, the description is reasonably complete. It clarifies the spline_type options and sketch context, but could improve by mentioning prerequisites (e.g., requires an active sketch) or output expectations. For a drawing tool with clear parameters, it's mostly adequate but has minor gaps.

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 67% (2 of 3 parameters have descriptions), with the description adding meaning for spline_type by explaining the difference between fit_points and control_points. It doesn't elaborate on points or degree beyond what the schema provides (points as array of coordinates, degree as 3 or 5 for control_points), but the schema coverage is moderate, and the description compensates with clear spline_type guidance, earning a score above baseline.

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

Purpose5/5

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

The description clearly states the action ('Draw a spline') and the target ('in the most recent sketch'), which is specific and unambiguous. It also distinguishes between two spline types (fit_points vs control_points), providing clear differentiation from other drawing tools like draw_line or draw_circle 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 Guidelines4/5

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

The description provides clear context for when to use each spline_type option ('Use fit_points for a curve through points, or control_points for a control-polygon spline'), which helps the agent choose between them. However, it doesn't explicitly state when to use this tool versus other curve-drawing alternatives like draw_arc or spline-related tools (none listed), nor does it mention prerequisites like needing an active sketch.

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

execute_codeExecute CodeA

Run arbitrary Python in Fusion 360. The last expression's value is returned (REPL-style). Pre-defined names: app, ui, design, component, adsk, math.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations indicate non-read-only, non-idempotent, and non-destructive operations, but the description adds valuable context: it specifies that the tool runs arbitrary Python (implying potential side effects), returns the last expression's value (REPL-style), and lists pre-defined names (app, ui, design, etc.). This clarifies execution behavior beyond annotations, though it doesn't detail error handling or security constraints.

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 purpose, followed by essential behavioral details in a single, efficient sentence. Every part adds value without redundancy, making it appropriately sized for the tool's complexity.

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

Completeness4/5

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

Given the tool's high complexity (arbitrary code execution), lack of output schema, and minimal annotations, the description is reasonably complete. It covers purpose, behavior, and parameter context, but could improve by mentioning error cases, execution limits, or safety warnings to fully guide an AI agent.

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 for the single parameter 'code', the description compensates by implicitly defining it as Python code to execute. It adds meaning by mentioning REPL-style return and pre-defined names, which help interpret the parameter's expected content. However, it doesn't specify syntax examples or constraints.

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

Purpose5/5

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

The description clearly states the specific action ('Run arbitrary Python in Fusion 360') and resource (Fusion 360 environment). It distinguishes itself from all sibling tools by being the only code execution tool, with siblings focused on CAD operations like modeling, constraints, and measurements.

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

Usage Guidelines3/5

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

The description implies usage for executing Python code within Fusion 360, particularly mentioning REPL-style behavior and pre-defined names. However, it doesn't explicitly state when to use this versus other tools (e.g., for automation vs. direct CAD operations) or provide exclusions, leaving some ambiguity.

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

export_f3dExport F3DA

Export the design as a native Fusion 360 archive (.f3d)

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathNoDestination path (default: ~/Desktop/<design_name>.f3d)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation. The description adds that it exports to a specific file format (.f3d), which is useful context beyond annotations. However, it doesn't mention potential side effects like file system changes or authentication needs.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and format.

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 tool with one parameter (fully documented in schema), no output schema, and annotations covering key behavioral hints, the description is minimally adequate. It explains what the tool does but lacks details on usage context or output behavior.

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

Parameters3/5

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

Schema description coverage is 100%, with the single parameter 'file_path' fully documented in the schema. The description doesn't add any additional parameter details beyond what the schema provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the specific action ('Export') and the resource ('the design'), specifying the output format ('native Fusion 360 archive (.f3d)'). It distinguishes from sibling tools like 'export_step' and 'export_stl' by specifying the .f3d format.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'export_step' or 'export_stl' is provided. The description states what it does but not when it's appropriate or what prerequisites might be needed.

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

export_stepExport STEPB

Export a body or component as a STEP file

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
file_pathNoDestination path (default: ~/Desktop/<name>.step)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, which the description aligns with by implying a file creation action. However, the description adds minimal behavioral context beyond this—it doesn't specify if the export overwrites existing files, requires specific permissions, or has rate limits, leaving gaps in understanding the tool's 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 description is a single, clear sentence with no wasted words, making it easy to parse and understand quickly. It's front-loaded with the core action and resource, which is ideal for efficient comprehension.

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

Completeness3/5

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

Given the tool's moderate complexity (2 parameters, no output schema) and annotations covering basic safety, the description is minimally adequate. It states the purpose but lacks details on usage, behavioral nuances, or parameter specifics, making it incomplete for fully informed tool selection and 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 50%, with 'file_path' documented but 'body_name' lacking a description. The tool description mentions 'a body or component' which clarifies the semantics of 'body_name' slightly, but it doesn't provide details on format, constraints, or examples. This adds some value but doesn't fully compensate for the schema's gaps.

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

Purpose4/5

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

The description clearly states the action ('Export') and the target resource ('a body or component as a STEP file'), making the purpose immediately understandable. It distinguishes itself from other export tools like 'export_f3d' and 'export_stl' by specifying the STEP format, though it doesn't explicitly contrast with 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?

The description provides no guidance on when to use this tool versus alternatives like 'export_f3d' or 'export_stl', nor does it mention prerequisites or context for exporting STEP files. It simply states what the tool does without indicating appropriate scenarios or exclusions.

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

export_stlExport STLB

Export a named body as an STL file

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
file_pathNoDestination path (default: ~/Desktop/<name>.stl)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds value by specifying the action (export to STL) and implying file creation. However, it does not disclose additional behavioral traits like error handling, file overwriting, or performance considerations, leaving gaps 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.

Conciseness5/5

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

The description is a single, direct sentence with no wasted words, clearly front-loaded with the core action. It efficiently conveys the essential information without unnecessary elaboration.

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

Completeness3/5

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

Given the tool's moderate complexity (export operation with 2 parameters), lack of output schema, and annotations covering basic safety, the description is minimally adequate. It states what the tool does but lacks details on output format, error cases, or integration with sibling tools, leaving room for improvement in completeness.

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

Parameters3/5

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

Schema description coverage is 50%, with 'file_path' documented but 'body_name' lacking a description. The description mentions 'a named body', which adds some context for 'body_name', but does not fully compensate for the missing schema details or explain parameter interactions, aligning with the baseline for partial coverage.

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

Purpose4/5

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

The description clearly states the verb 'Export' and the resource 'a named body as an STL file', making the purpose specific and understandable. However, it does not explicitly differentiate from sibling export tools like 'export_f3d' or 'export_step', which would require mentioning format distinctions or use cases.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as 'export_f3d' or 'export_step', nor does it mention prerequisites like needing an existing body. It lacks explicit context for selection among export or other sibling tools.

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

extend_curveExtend CurveA

Extend a sketch curve to the nearest intersection. The end nearest to the given point is extended.

ParametersJSON Schema
NameRequiredDescriptionDefault
curve_indexYesIndex of the curve to extend
point_xYesX near the end to extend
point_yYesY near the end to extend
sketch_nameNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation, which the description aligns with by implying mutation ('extend') without contradiction. However, it adds minimal behavioral context beyond annotations—no details on error conditions, rate limits, or what happens if no intersection exists—leaving gaps in understanding the tool's full 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 description is highly concise and front-loaded, using two clear sentences with zero wasted words. Every phrase ('extend a sketch curve', 'to the nearest intersection', 'The end nearest to the given point') directly contributes to understanding the tool's function 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?

Given the tool's moderate complexity (mutation without annotations covering all behaviors) and lack of output schema, the description is adequate but incomplete. It explains the core operation but omits details like return values, error handling, or interaction with other sketch tools, leaving the agent to infer some aspects from context.

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 75% schema description coverage, the schema documents three parameters well, but 'sketch_name' lacks a description. The description adds value by explaining the purpose of 'point_x' and 'point_y' ('near the end to extend') and implying 'curve_index' selects the target, though it doesn't fully compensate for the missing 'sketch_name' documentation, keeping it from 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 clearly states the specific action ('extend'), target resource ('a sketch curve'), and precise behavior ('to the nearest intersection') with the end selection logic ('The end nearest to the given point is extended'). It distinguishes from siblings like 'trim_curve' or 'offset_curve' by focusing on extension rather than cutting or offsetting.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'trim_curve' or 'offset_curve', nor does it mention prerequisites such as needing an existing sketch or intersecting geometry. It lacks explicit context for tool selection among the many sibling CAD operations.

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

extrudeExtrudeC

Extrude a sketch profile

ParametersJSON Schema
NameRequiredDescriptionDefault
heightYes
profile_indexNo
operationNonew_body
directionNopositive

TDQS

C2.4/5.0
Behavior2/5

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

Annotations indicate the tool is not read-only, idempotent, or destructive, but the description adds minimal behavioral context. It does not explain what extrusion entails (e.g., creating new geometry, modifying existing bodies based on the 'operation' parameter), potential side effects, or performance considerations. While not contradicting annotations, the description fails to provide meaningful behavioral insights beyond the basic action.

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

Conciseness5/5

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

The description is extremely concise—a single phrase—with no wasted words. It is front-loaded and efficiently states the core action, though this brevity contributes to gaps in other dimensions. Every word earns its place by directly addressing the tool's function.

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

Completeness2/5

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

Given the tool's complexity (4 parameters, including enums for 'operation' and 'direction'), lack of output schema, and minimal annotations, the description is incomplete. It does not cover parameter meanings, expected outcomes, or integration with sibling tools, leaving significant gaps for an agent to understand and use the tool effectively in a 3D modeling context.

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

Parameters2/5

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

With 0% schema description coverage, the input schema lacks parameter explanations, and the description does not compensate by detailing any parameters. It mentions 'sketch profile' but does not clarify how parameters like 'height', 'profile_index', 'operation', or 'direction' affect the extrusion process. This leaves key semantics undocumented, failing to add value beyond the bare schema.

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

Purpose3/5

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

The description 'Extrude a sketch profile' clearly states the action (extrude) and target (sketch profile), providing a basic understanding of the tool's function. However, it lacks specificity about what extrusion does (e.g., creating 3D geometry from 2D profiles) and does not distinguish it from similar sibling tools like 'revolve', 'sweep', or 'loft', which also create 3D geometry from sketches. This makes the purpose somewhat vague in context.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing an existing sketch), compare it to sibling tools like 'revolve' or 'sweep' for different 3D modeling approaches, or specify scenarios where extrusion is preferred. This absence of usage context leaves the agent without direction on tool selection.

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

filletFillet EdgesB

Round edges of a body

ParametersJSON Schema
NameRequiredDescriptionDefault
radiusYes
body_nameNoBody name (preferred)
body_indexNo
edge_selectionNoall

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation, but the description adds minimal behavioral context. It implies a geometric modification ('round edges') without specifying permanence, side effects, or what happens to the original body. No contradiction with annotations exists, but the description doesn't enrich understanding beyond the basic action.

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

Conciseness5/5

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

The description is extremely concise with just four words, front-loading the core action. There's no wasted language, though this brevity contributes to gaps in other dimensions. Every word earns its place in conveying the basic purpose.

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

Completeness2/5

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

For a 4-parameter tool with low schema coverage, no output schema, and annotations that only cover basic hints, the description is insufficient. It doesn't explain what 'round edges' means in practice, what the radius parameter does, how edge selection works, or what the tool returns. The context demands more detail for effective use.

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

Parameters2/5

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

With only 25% schema description coverage (only 'body_name' has a description), the description doesn't compensate for the undocumented parameters. It mentions 'edges' generally but doesn't explain the 'edge_selection' enum options or clarify the relationship between 'body_name' and 'body_index'. The description adds little semantic value beyond what's implied by the tool 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?

The description clearly states the action ('round edges') and target ('of a body'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'chamfer' (which also modifies edges) or 'shell' (which might involve rounding), so it doesn't fully distinguish from alternatives.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'chamfer' or other edge-modification tools. The description only states what the tool does, not when it's appropriate or what prerequisites might be needed for successful operation.

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

flat_patternFlat PatternB

Create a flat pattern from a sheet metal body

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description does not add behavioral context beyond this. It mentions creating a flat pattern, which aligns with the annotations, but fails to disclose details like potential side effects, error conditions, or performance considerations, resulting in moderate transparency.

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

Conciseness5/5

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

The description is a single, direct sentence that efficiently conveys the core action without unnecessary words. It is front-loaded and wastes no space, making it highly concise and well-structured for quick understanding.

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

Completeness3/5

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

Given the tool's complexity (creating a flat pattern from sheet metal), lack of output schema, and minimal annotations, the description is somewhat incomplete. It does not explain the result format, potential errors, or dependencies, but it adequately states the basic purpose, meeting a minimum viable level for 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?

With 0% schema description coverage for the single parameter 'body_name', the description does not provide any additional semantic information about this parameter, such as what constitutes a valid body name or examples. However, since there is only one parameter, the baseline is set to 4, but the lack of compensation for the coverage gap reduces the score to 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?

The description clearly states the action ('create') and the resource ('flat pattern from a sheet metal body'), making the purpose understandable. However, it does not explicitly differentiate from sibling tools like 'unfold' or 'create_bend', which might have related sheet metal functions, leaving room for improvement in sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as 'unfold' or other sheet metal-related siblings. It lacks context on prerequisites, constraints, or specific scenarios for application, offering minimal usage direction.

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

get_object_infoGet Object InfoB
Read-onlyIdempotent

Get detailed info about a named body or sketch

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesObject name

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe, repeatable read operation. The description adds minimal context beyond this, specifying it retrieves 'detailed info' but not elaborating on what that includes or any limitations. No contradiction with annotations exists.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and wastes no space, making it easy to parse quickly.

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

Completeness3/5

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

Given the tool's simplicity (one parameter, read-only, idempotent) and lack of an output schema, the description is minimally adequate. It specifies the resource types ('body or sketch') but doesn't detail the return format or potential errors. For a basic info-retrieval tool with good annotations, it meets the minimum viable threshold.

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

Parameters3/5

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

Schema description coverage is 100%, with the single parameter 'name' documented as 'Object name'. The description adds no additional meaning beyond this, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate as the schema handles parameter documentation adequately.

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

Purpose4/5

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

The description clearly states the verb ('Get detailed info') and resource ('about a named body or sketch'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_parameters', 'get_physical_properties', or 'get_scene_info', which also retrieve information but about different resources.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing an existing object name, or compare it to siblings like 'get_physical_properties' for different types of object details. Usage is implied only by the tool name and description.

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

get_parametersGet ParametersB
Read-onlyIdempotent

List all user parameters in the design

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 agent knows this is a safe, repeatable read operation. The description adds minimal behavioral context beyond this, as it does not specify output format, pagination, or error handling. No contradiction with annotations is present.

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, clear sentence that efficiently conveys the core purpose without any wasted words. It is front-loaded and appropriately sized for a simple tool.

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

Completeness3/5

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

Given the tool's low complexity (0 parameters, no output schema) and rich annotations, the description is minimally complete. However, it could benefit from more context, such as explaining the return format or linking to related tools, to better assist an agent in usage.

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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description does not add parameter details, which is acceptable in this case, as the baseline for 0 parameters is 4, indicating adequate handling.

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

Purpose4/5

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

The description clearly states the action ('List') and resource ('user parameters in the design'), making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'get_object_info' or 'get_scene_info', which might also retrieve information, so it lacks sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or exclusions, such as when to prefer 'get_parameter' (if it existed) or other info-retrieval tools in the list.

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

get_physical_propertiesGet Physical PropertiesB
Read-onlyIdempotent

Get mass, volume, surface area, center of mass, and density of a body

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
accuracyNomedium

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already indicate this is a read-only, idempotent, non-destructive operation, so the agent knows it's safe. The description adds value by specifying the exact properties returned, but doesn't disclose behavioral traits like performance implications of the 'accuracy' parameter, potential errors for invalid bodies, or if it works on all body types.

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, efficient sentence that front-loads the key information (what properties are retrieved). There's no wasted text, making it easy to parse quickly.

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 read-only tool with annotations covering safety, the description adequately states what it returns. However, without an output schema, it doesn't detail the return format (e.g., units, structure), and the lack of parameter explanations leaves gaps in understanding how to use it effectively.

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

Parameters2/5

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

With 0% schema description coverage, the description doesn't explain either parameter. It mentions 'body' but not the 'body_name' parameter specifically, and omits the 'accuracy' parameter entirely, failing to compensate for the schema's lack of 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 clearly states the action ('Get') and the specific properties returned (mass, volume, surface area, center of mass, density) for a body, making the purpose explicit. However, it doesn't distinguish this tool from potential measurement-related siblings like 'measure_distance' or 'measure_angle', which slightly limits differentiation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention if this is for physical bodies only, how it relates to 'get_object_info' or 'measure_distance', or any prerequisites like needing a body to exist first.

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

get_scene_infoGet Scene InfoB
Read-onlyIdempotent

Get design name, bodies, sketches, features, camera info

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate read-only, idempotent, and non-destructive behavior, so the description does not need to repeat these. However, it adds value by specifying the types of scene information retrieved (e.g., design name, camera info), which provides useful context beyond the annotations. No contradictions with annotations are present.

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, efficient phrase that lists all retrieved information without any redundant words. It is front-loaded and every word contributes directly to understanding the tool's purpose, making it highly concise and well-structured.

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

Completeness3/5

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

Given the tool has 0 parameters, rich annotations (read-only, idempotent, non-destructive), and no output schema, the description adequately covers what information is retrieved. However, it lacks details on the format or structure of the returned data, which could be helpful for an agent to interpret results, leaving room for improvement.

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 parameters and 100% schema description coverage, the schema fully documents the lack of inputs. The description does not need to cover parameters, and it appropriately focuses on the output information, earning a baseline score of 4 for not introducing unnecessary parameter 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?

The description clearly states the action ('Get') and the specific information retrieved ('design name, bodies, sketches, features, camera info'), making the purpose evident. However, it does not explicitly differentiate from sibling tools like 'get_object_info' or 'get_parameters', which limits the score to 4 instead of 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?

The description provides no guidance on when to use this tool versus alternatives such as 'get_object_info' or 'get_parameters', nor does it mention any prerequisites or context for usage. It merely lists what information is retrieved without indicating appropriate scenarios.

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

list_componentsList ComponentsB
Read-onlyIdempotent

List all components in the design

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds minimal context by implying it lists 'all' components, but does not disclose details like pagination, sorting, or return format. It does not contradict annotations, so it earns a baseline score for adding some value beyond the structured data.

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, efficient sentence with no wasted words. It is front-loaded with the core action and resource, making it easy to parse and understand quickly.

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

Completeness3/5

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

Given the tool's simplicity (0 parameters, annotations covering safety), the description is adequate but incomplete. It lacks output details (no schema provided) and does not specify scope or limitations, such as whether it returns a flat list or structured data, leaving gaps for the agent.

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 parameters and 100% schema description coverage, the schema fully documents the input (none required). The description does not need to add parameter details, and it correctly implies no filtering or arguments, earning a high baseline score for clarity in a parameter-less 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 clearly states the verb ('List') and resource ('components in the design'), making the purpose specific and understandable. However, it does not differentiate from sibling tools like 'get_object_info' or 'get_scene_info', which might also retrieve component-related data, so it lacks explicit distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or exclusions, such as whether it lists all components globally or in a specific scope, leaving the agent with no usage direction.

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

loftLoftB

Loft between two or more sketch profiles

ParametersJSON Schema
NameRequiredDescriptionDefault
profile_sketch_namesYesOrdered list of sketch names whose first profile will be lofted
operationNonew_body

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation, which the description doesn't contradict. The description adds minimal behavioral context beyond annotations—it mentions 'lofting' profiles but doesn't explain what lofting entails (e.g., creating a smooth transition surface), potential side effects, or error conditions. With annotations covering basic safety, a 3 is appropriate as the description adds some value but limited behavioral insight.

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resources, making it easy to parse quickly. Every word earns its place by conveying essential information without redundancy.

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

Completeness3/5

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

Given the tool has 2 parameters with partial schema coverage, no output schema, and annotations covering basic behavioral hints, the description is minimally adequate. It states the purpose but lacks details on usage context, parameter effects, or expected outcomes. For a modeling operation with multiple 'operation' options, more guidance would be helpful, but annotations provide some safety 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 50% (one of two parameters has a description). The description mentions 'two or more sketch profiles', which aligns with the 'profile_sketch_names' parameter's purpose but doesn't add details beyond the schema's minItems constraint. It doesn't explain the 'operation' parameter's semantics or how choices affect the loft result. Baseline 3 is correct as the schema does partial work and the description adds minimal compensation.

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

Purpose4/5

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

The description clearly states the action ('loft') and the target resources ('two or more sketch profiles'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate this from sibling tools like 'sweep' or 'ruled_surface' which might also create surfaces from profiles, leaving some ambiguity about when to choose loft over those alternatives.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'sweep' or 'extrude', nor does it mention prerequisites (e.g., needing existing sketches) or context for choosing between the 'operation' options. It simply states what the tool does without usage context.

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

measure_angleMeasure AngleB
Read-onlyIdempotent

Measure angle between two entities

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_oneYesFirst entity name (face, edge)
entity_twoYesSecond entity name

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, indicating a safe, repeatable operation. The description adds no behavioral context beyond this, such as what 'entities' refer to (faces, edges), how angles are calculated, or any limitations. It doesn't contradict annotations, but offers minimal additional insight.

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, direct sentence with zero wasted words, making it highly efficient and easy to parse. It front-loads the core purpose without unnecessary elaboration.

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

Completeness3/5

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

Given the tool's low complexity (2 parameters, no output schema) and rich annotations covering safety and idempotency, the description is minimally adequate. However, it lacks details on entity types, measurement units, or error conditions, which could aid an agent in 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 100%, with clear descriptions for both parameters ('First entity name (face, edge)' and 'Second entity name'). The description adds no extra meaning beyond the schema, such as entity selection rules or angle calculation specifics. Baseline 3 is appropriate given the schema's thoroughness.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('measure') and resource ('angle between two entities'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'measure_distance', which serves a similar measurement function but for distance rather than angle.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'measure_distance' for different measurement types or specify contexts where angle measurement is appropriate, leaving usage decisions ambiguous.

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

measure_distanceMeasure DistanceB
Read-onlyIdempotent

Measure minimum distance between two entities

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_oneYesFirst entity name (body, sketch, or point 'x,y,z')
entity_twoYesSecond entity name or point

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, indicating this is a safe, repeatable read operation. The description adds minimal behavioral context beyond this, specifying 'minimum distance' but not detailing output format, units, or error conditions. It doesn't contradict annotations, but adds limited value.

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, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core purpose and contains zero redundant information, making it easy for an agent to parse quickly.

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

Completeness3/5

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

Given the tool's moderate complexity (distance measurement between entities), the description is minimally adequate. Annotations cover safety and idempotency, and the schema fully documents parameters. However, without an output schema, the description doesn't explain return values (e.g., numeric distance, units), leaving a gap for the agent to infer or test.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters clearly documented as entity names or points. The description adds no additional parameter semantics beyond what the schema provides, such as examples of valid entities or distance calculation specifics. Baseline 3 is appropriate given the comprehensive schema.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Measure minimum distance between two entities'. It specifies the verb ('measure'), resource ('distance'), and scope ('minimum', 'between two entities'). However, it doesn't explicitly differentiate from sibling tools like 'measure_angle' or 'check_interference', which also involve measurement or spatial analysis.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'measure_angle' for angular measurements or 'check_interference' for collision detection, nor does it specify prerequisites or typical use cases. The agent must infer usage 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.

mirrorMirror BodyB

Mirror a body across a construction plane

ParametersJSON Schema
NameRequiredDescriptionDefault
mirror_planeYes
body_nameNo
body_indexNo

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds minimal behavioral context. It implies a geometric transformation but doesn't specify if it creates a new body, modifies the original, or details side effects like requiring specific plane setups. The description doesn't contradict annotations, but offers limited value beyond them.

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, direct sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core action without unnecessary elaboration, though this brevity contributes to gaps in other dimensions.

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

Completeness2/5

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

For a 3-parameter tool with no output schema and 0% schema coverage, the description is insufficient. It lacks details on parameter meanings, behavioral outcomes (e.g., what the tool returns or how it affects the scene), and doesn't leverage annotations to fill gaps, making it incomplete for effective agent use.

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

Parameters2/5

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

With 0% schema description coverage for 3 parameters, the description fails to compensate by explaining 'mirror_plane', 'body_name', or 'body_index'. It mentions 'construction plane' but doesn't clarify how it relates to the enum values (xy, yz, xz) or the other parameters, leaving semantics largely undocumented.

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

Purpose4/5

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

The description clearly states the action ('mirror') and the resource ('a body across a construction plane'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'scale_body' or 'move_body' which also transform bodies, leaving room for ambiguity in tool selection.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as 'scale_body' for resizing or 'move_body' for translation. It lacks context about prerequisites (e.g., needing an existing body) or exclusions, leaving the agent to infer usage 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.

move_bodyMove BodyB

Translate a named body by (x, y, z)

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
xNo
yNo
zNo

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds no behavioral context beyond 'Translate' (e.g., whether it moves relative to current position or to absolute coordinates, if it affects constraints, or what happens on failure). No contradiction with annotations exists, but minimal value is added.

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, efficient sentence with no wasted words. It's front-loaded with the core action and parameters, making it easy to parse quickly. Every word contributes directly to understanding the tool's function.

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

Completeness2/5

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

Given the complexity (a mutation tool with 4 parameters), lack of output schema, and 0% schema coverage, the description is insufficient. It doesn't explain return values, error conditions, or practical usage context (e.g., in a CAD environment). The annotations help but don't fully compensate for these gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It mentions parameters (x, y, z) but provides no semantics (e.g., units, coordinate system, or that 'body_name' identifies the target). This leaves key details undocumented, failing to adequately supplement 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?

The description clearly states the action ('Translate') and the resource ('a named body') with specific parameters (x, y, z). It distinguishes from siblings like 'scale_body' or 'mirror' by focusing on translation, but doesn't explicitly differentiate from tools that might also move bodies indirectly (e.g., 'create_component' could involve positioning).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., the body must exist), exclusions (e.g., not for rotating), or related tools (e.g., 'scale_body' for resizing). The agent must infer usage from the name and context alone.

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

offset_curveOffset CurveB

Offset connected sketch curves by a distance. Direction is determined by the direction_point.

ParametersJSON Schema
NameRequiredDescriptionDefault
curve_indexYesIndex of a curve in the connected loop
offset_distanceYesOffset distance (cm)
direction_xNoX of direction point
direction_yNoY of direction point
sketch_nameNoSketch name (default: most recent)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a mutable (readOnlyHint: false), non-idempotent, and non-destructive operation. The description adds that it offsets 'connected sketch curves', implying it works on 2D sketch geometry within a loop, which provides useful context beyond annotations. However, it lacks details on side effects (e.g., how it modifies the sketch), error conditions, or performance considerations, limiting its transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core action ('offset connected sketch curves') and adds a key detail ('direction is determined by the direction_point'). There is no wasted verbiage or redundancy, making it highly concise and well-structured for quick understanding.

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

Completeness3/5

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

Given the tool's moderate complexity (5 parameters, no output schema), the description is adequate but incomplete. It covers the basic purpose and direction mechanism, but lacks information on return values, error handling, or interaction with other sketch tools. With annotations providing safety cues, it meets minimum viability but could be more comprehensive for a geometric operation.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds minimal value by mentioning 'direction_point' (implied by direction_x and direction_y parameters) and that curves are 'connected', but doesn't clarify semantics like what 'curve_index' refers to in a loop or how 'sketch_name' defaults work. This meets the baseline for high schema coverage.

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

Purpose4/5

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

The description clearly states the action ('offset') and target ('connected sketch curves'), with a specific mechanism ('direction is determined by the direction_point'). It distinguishes from siblings like 'offset_faces' (which operates on faces) and 'extend_curve' (which extends rather than offsets). However, it doesn't explicitly differentiate from all similar tools (e.g., 'draw_spline' for creating curves), keeping it from a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing sketch), exclusions (e.g., not for 3D geometry), or direct comparisons to siblings like 'offset_faces' or 'draw_spline'. This leaves the agent to infer usage from context alone.

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

offset_facesOffset FacesB

Push/pull faces of a body by a distance

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
distanceYesOffset distance in cm (positive = outward)
face_selectionNoWhich faces to offsettop
face_indicesNoSpecific face indices (overrides face_selection)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, and non-destructive operation, but the description adds minimal behavioral context. It implies geometric modification without specifying effects on adjacent faces or constraints, offering some value beyond annotations but not detailed behavioral traits.

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, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded and wastes no space, making it easy to parse quickly.

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

Completeness3/5

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

Given the lack of an output schema and moderate parameter coverage, the description is minimally complete but lacks details on return values or error conditions. It provides enough to infer basic usage but falls short of fully informing an agent about outcomes or edge cases.

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

Parameters3/5

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

With 75% schema description coverage, the schema documents parameters well, including details like 'distance' direction and 'face_selection' options. The description adds no additional parameter semantics, so it meets the baseline for adequate coverage without enhancing understanding.

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

Purpose4/5

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

The description clearly states the action ('push/pull') and target ('faces of a body'), making the purpose understandable. However, it does not differentiate from sibling tools like 'extrude' or 'shell' which also modify geometry, leaving room for ambiguity in tool selection.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'extrude' or 'shell', nor does it mention prerequisites or exclusions. The description lacks context for appropriate application, relying solely on the tool name and parameters.

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

patch_surfacePatch SurfaceB

Create a patch surface from boundary edges

ParametersJSON Schema
NameRequiredDescriptionDefault
sketch_nameYesSketch with boundary curves
profile_indexNo
continuityNoconnected

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds no behavioral context beyond that. It doesn't explain what 'patch surface' means in terms of output (e.g., a new surface entity), potential side effects, or error conditions, so it relies heavily on annotations without enhancing understanding.

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, direct sentence with no wasted words, making it easy to parse and front-loaded with the core purpose. It's appropriately sized for the tool's complexity.

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

Completeness2/5

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

Given the tool's complexity (creating a geometric surface), lack of output schema, and low schema coverage, the description is insufficient. It doesn't explain the result (e.g., what a 'patch surface' is), usage constraints, or how it fits with other modeling operations, leaving significant gaps for an agent to understand and invoke it correctly.

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

Parameters2/5

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

Schema description coverage is low at 33%, with only 'sketch_name' documented. The description mentions 'boundary edges' but doesn't clarify how parameters like 'profile_index' or 'continuity' relate to creating the patch, leaving key semantics unexplained and failing to compensate for the schema's gaps.

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

Purpose4/5

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

The description clearly states the action ('create a patch surface') and the resource ('from boundary edges'), which is specific and actionable. However, it doesn't explicitly differentiate from sibling tools like 'loft', 'sweep', or 'ruled_surface', which might also create surfaces from curves, so it misses full sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a sketch with closed boundary curves) or compare to other surface-creation tools in the sibling list, leaving the agent to guess based on context alone.

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

pingPingA
Read-onlyIdempotent

Health check — returns immediately without touching Fusion API

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and idempotency. The description adds valuable behavioral context beyond annotations by specifying that it 'returns immediately' (performance characteristic) and 'without touching Fusion API' (scope limitation), though it doesn't mention response format or error 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 description is extremely concise (one short sentence) yet fully informative. Every word earns its place: 'Health check' establishes purpose, 'returns immediately' describes behavior, and 'without touching Fusion API' provides critical context. No wasted words or redundancy.

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

Completeness4/5

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

Given the tool's simplicity (0 parameters, no output schema), the description is nearly complete. It covers purpose, usage context, and behavioral constraints. The only minor gap is lack of explicit mention of what the health check actually verifies or what format the return takes, but for such a simple tool, this is acceptable.

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 parameters and 100% schema description coverage, the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and it doesn't need to compensate for any schema gaps. It correctly focuses on the tool's behavior rather than parameter details.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs ('health check', 'returns immediately') and distinguishes it from all sibling tools, which are CAD/design operations. It explicitly notes it doesn't touch the Fusion API, making its scope distinct from other tools that perform actual design operations.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool: for health checking when you need immediate feedback without affecting the Fusion API. It implicitly suggests alternatives (other tools) for actual design operations, and the context of sibling tools reinforces this distinction.

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

project_geometryProject GeometryB

Project edges or bodies onto the active sketch plane

ParametersJSON Schema
NameRequiredDescriptionDefault
source_nameYesName of body or edge to project
is_linkedNoTrue = parametrically linked to source geometry
sketch_nameNoTarget sketch (default: most recent)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds minimal behavioral context. It mentions 'projecting' which implies a transformation, but doesn't detail effects like whether it creates new sketch entities or modifies existing ones. No contradictions with annotations 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?

The description is a single, efficient sentence that front-loads the core action without unnecessary words. It directly states what the tool does, making it easy to parse and understand quickly.

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

Completeness3/5

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

Given the tool has no output schema and annotations cover basic safety (non-destructive), the description is minimally adequate. However, for a CAD operation with potential complexity (e.g., effects on sketches, error conditions), it could benefit from more context on outcomes or usage scenarios to be fully 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?

With 100% schema description coverage, the input schema fully documents parameters like 'source_name' and 'is_linked'. The description doesn't add extra meaning beyond implying projection involves a source and target, which is already inferred from parameter names. Baseline score of 3 is appropriate as the schema carries the load.

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

Purpose4/5

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

The description clearly states the action ('project') and the target ('edges or bodies onto the active sketch plane'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'offset_curve' or 'create_sketch', which might have overlapping contexts in CAD operations.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't specify if this is for converting 3D geometry to 2D sketches or how it relates to tools like 'create_sketch' or 'offset_curve'. The description lacks context on prerequisites or exclusions.

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

rectangular_patternRectangular PatternB

Pattern a body in rows and columns

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
x_countNo
x_spacingNoSpacing between columns (cm)
y_countNo
y_spacingNoSpacing between rows (cm)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a mutable (readOnlyHint=false), non-idempotent, non-destructive operation. The description adds that it patterns 'a body', implying it operates on existing geometry rather than creating new bodies from scratch. However, it lacks details on what 'pattern' entails (e.g., creates copies, maintains associations) or behavioral traits like error conditions or performance implications.

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

Conciseness5/5

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

Extremely concise with a single, front-loaded sentence: 'Pattern a body in rows and columns'. Every word contributes directly to the tool's purpose without any fluff 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?

For a 5-parameter mutation tool with no output schema and moderate schema coverage (40%), the description is minimal. It covers the core action but lacks details on inputs, outputs, error handling, or dependencies. Annotations help by clarifying mutability and safety, but more context would aid agent decision-making.

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 40% (only x_spacing and y_spacing have descriptions). The description mentions 'rows and columns', which aligns with y_count/rows and x_count/columns parameters, adding semantic context. However, it doesn't explain 'body_name' (the target) or default behaviors, leaving gaps despite partial compensation.

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

Purpose4/5

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

The description clearly states the verb ('pattern') and resource ('a body'), specifying it's done 'in rows and columns'. It distinguishes from sibling 'circular_pattern' by implying rectangular vs. circular arrangement, but doesn't explicitly differentiate from other patterning or creation tools like 'mirror' or 'create_component'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'circular_pattern', 'mirror', or array creation methods. It doesn't mention prerequisites (e.g., needing an existing body) or exclusions, leaving the agent to infer usage from context alone.

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

revolveRevolveB

Revolve a sketch profile around an axis

ParametersJSON Schema
NameRequiredDescriptionDefault
angleYes
profile_indexNo
axis_origin_xNo
axis_origin_yNo
axis_origin_zNo
axis_direction_xNo
axis_direction_yNo
axis_direction_zNo
operationNonew_body

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation, but the description adds minimal behavioral context. It implies a 3D modeling operation that creates geometry but doesn't specify effects like whether it modifies existing bodies or creates new ones, or any constraints like requiring a valid sketch. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized and front-loaded, directly stating the core action without unnecessary elaboration.

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

Completeness2/5

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

Given the complexity (9 parameters, CAD operation), lack of output schema, and minimal annotations, the description is insufficient. It doesn't explain what the tool returns, how errors might occur, or provide enough context for safe invocation in a 3D modeling environment.

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

Parameters2/5

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

With 0% schema description coverage and 9 parameters, the description provides no additional meaning beyond the schema. It mentions 'angle' and 'axis' but doesn't explain what 'profile_index' refers to, the coordinate system for axis origins/directions, or the implications of the 'operation' enum values, leaving significant gaps.

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

Purpose4/5

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

The description clearly states the action ('revolve') and target ('a sketch profile around an axis'), providing specific verb+resource. However, it doesn't explicitly differentiate from sibling tools like 'extrude', 'sweep', or 'circular_pattern' which might also involve rotational operations, so it misses full sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing sketch profile), exclusions, or compare to similar tools like 'sweep' or 'circular_pattern' in the sibling list.

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

ruled_surfaceRuled SurfaceB

Create a ruled surface from an edge or sketch curve

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
edge_indexYes
distanceNoRuled surface distance (cm)
rule_typeNonormal

TDQS

B3.2/5.0
Behavior3/5

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

Annotations indicate this is a non-readOnly, non-idempotent, non-destructive operation, implying it creates new geometry without deleting existing data. The description adds context by specifying the source ('edge or sketch curve'), but does not disclose further behavioral traits like error conditions, performance, or output format, relying on annotations for basic 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?

The description is a single, direct sentence with no wasted words, efficiently stating the tool's purpose. It is front-loaded and appropriately sized for the complexity, earning full marks for brevity and clarity.

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

Completeness2/5

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

Given the tool's complexity (creating geometry with 4 parameters), lack of output schema, and low schema coverage, the description is insufficient. It does not explain the result (e.g., type of surface created), error handling, or practical usage scenarios, leaving significant gaps for an AI agent.

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 low at 25%, with only the 'distance' parameter documented. The description mentions 'edge or sketch curve', which loosely relates to 'body_name' and 'edge_index', but does not clarify parameter meanings, formats, or interactions beyond the schema, resulting in minimal added value.

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

Purpose4/5

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

The description clearly states the action ('Create a ruled surface') and the resource ('from an edge or sketch curve'), providing a specific verb+resource combination. However, it does not distinguish this tool from sibling tools like 'loft', 'sweep', or 'extrude' that also create surfaces, missing explicit differentiation.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives, such as for generating surfaces along curves compared to other surface creation methods. It lacks context on prerequisites, exclusions, or named alternatives, leaving usage unclear.

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

scale_bodyScale BodyB

Scale a body uniformly or non-uniformly

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
scaleYesUniform scale factor
scale_xNoX scale (overrides uniform scale)
scale_yNoY scale
scale_zNoZ scale
anchor_xNoScale anchor point X
anchor_yNoScale anchor point Y
anchor_zNoScale anchor point Z

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already indicate this is a mutable operation (readOnlyHint=false), non-idempotent, and non-destructive. The description adds that scaling can be uniform or non-uniform, which provides useful context beyond annotations. However, it doesn't mention important behavioral aspects like coordinate system implications, effect on constraints/parameters, or error conditions.

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, efficient sentence that communicates the core functionality without any wasted words. It's appropriately sized for a transformation operation with good schema documentation.

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 geometric transformation tool with 8 parameters, no output schema, and moderate annotation coverage, the description is adequate but minimal. It covers the scaling modes but lacks information about coordinate systems, effect on geometry properties, or typical use cases that would help an agent understand when and how to apply this transformation correctly.

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

Parameters3/5

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

With 88% schema description coverage, the schema already documents most parameters well. The description adds the concept of uniform vs. non-uniform scaling, which helps interpret the scale vs. scale_x/y/z parameters, but doesn't provide additional syntax, format, or interaction details beyond what's in the 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 clearly states the action ('Scale') and resource ('a body'), specifying both uniform and non-uniform scaling modes. It distinguishes from sibling tools like 'move_body' or 'mirror' by focusing on scaling transformations, though it doesn't explicitly differentiate from similar transformation tools 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 Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, when scaling is appropriate versus other transformations, or how it relates to sibling tools like 'move_body' or transformation patterns.

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

set_appearanceSet AppearanceB
Idempotent

Assign a material appearance to a body, face, or component from the Fusion appearance library

ParametersJSON Schema
NameRequiredDescriptionDefault
target_nameYesName of body or component
appearance_nameYesLibrary appearance name (e.g. 'Steel - Satin', 'Aluminum - Anodized Red')
target_typeNobody
face_indexNoFace index (if target_type=face)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-destructive, idempotent mutation tool. The description adds value by specifying the source ('Fusion appearance library') and providing examples of appearance names, which helps contextualize the operation. However, it doesn't disclose additional behavioral traits like permission requirements, error conditions, or side effects.

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

Conciseness5/5

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

The description is a single, well-structured sentence that efficiently conveys the tool's purpose without redundancy. It front-loads the key action and target, making it easy to parse.

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 mutation tool with no output schema, the description is moderately complete. It covers the what and where but lacks details on outcomes, error handling, or integration with sibling tools. Given the annotations provide safety context, it's adequate but leaves gaps in operational guidance.

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

Parameters3/5

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

With 75% schema description coverage, the baseline is 3. The description adds minimal semantics by mentioning 'library appearance name' and giving examples, but it doesn't explain parameter interactions (e.g., face_index only used with target_type=face) or provide context beyond what the schema already covers.

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

Purpose4/5

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

The description clearly states the action ('Assign a material appearance') and the target ('to a body, face, or component'), with specific reference to the 'Fusion appearance library'. It distinguishes from siblings by focusing on appearance assignment rather than geometric operations or other functions, though it doesn't 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 Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context (e.g., after creating geometry), or exclusions, leaving the agent to infer usage based on the tool name and parameters alone.

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

set_parameterSet ParameterB
Idempotent

Update the value of an existing user parameter

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesParameter name
valueYesNew numeric value

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-destructive, idempotent mutation tool. The description adds value by specifying it updates 'existing' parameters, implying a prerequisite, but does not elaborate on behavioral traits like error handling or side effects beyond what annotations cover.

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, efficient sentence with no wasted words, front-loading the core action. It is appropriately sized for the tool's straightforward purpose.

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

Completeness3/5

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

Given the tool's moderate complexity (mutation with two parameters), annotations provide safety context, but the description lacks details on output or error cases. Without an output schema, it should ideally mention return values or success indicators, leaving some gaps.

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

Parameters3/5

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

Schema description coverage is 100%, with clear parameter documentation. The description adds minimal semantics by implying 'name' identifies an existing parameter and 'value' is numeric, but this is largely redundant with the schema, meeting the baseline for high coverage.

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

Purpose4/5

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

The description clearly states the action ('Update') and target ('existing user parameter'), making the purpose evident. However, it does not differentiate from sibling tools like 'create_parameter' or 'delete_parameter', which would require specifying it modifies rather than creates or removes.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'create_parameter' or 'delete_parameter'. The description lacks context about prerequisites (e.g., parameter must exist) or exclusions, offering minimal usage direction.

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

shellShell BodyB

Hollow out a body by removing a face

ParametersJSON Schema
NameRequiredDescriptionDefault
thicknessYes
body_nameNo
body_indexNo
face_selectionNotop

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a mutable (readOnlyHint: false), non-idempotent, non-destructive operation, but the description adds minimal context—it implies removal of material but doesn't specify if this creates a shell-like structure or leaves the body open. No rate limits, auth needs, or detailed behavioral traits are disclosed.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action, making it easy to parse quickly.

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

Completeness2/5

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

For a 4-parameter mutation tool with no output schema and low schema coverage, the description is inadequate. It lacks details on parameter usage, expected outcomes, error conditions, and how it fits within the CAD modeling context provided by siblings.

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

Parameters2/5

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

With 0% schema description coverage for 4 parameters, the description fails to compensate. It mentions 'removing a face' which loosely relates to 'face_selection', but doesn't explain 'thickness', 'body_name', or 'body_index', leaving key inputs undocumented.

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

Purpose4/5

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

The description clearly states the action ('hollow out a body') and the method ('by removing a face'), which is specific and distinguishes it from siblings like 'extrude' or 'thicken_surface'. However, it doesn't explicitly differentiate from similar tools like 'split_body' or 'offset_faces' that might also involve body modification.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a solid body), exclusions (e.g., not for surfaces), or compare to siblings like 'create_hole' or 'offset_faces' for hollowing operations.

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

split_bodySplit BodyB

Split a body using a plane or face

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
splitting_planeNoPlane to split with (or use splitting_body)xy
splitting_bodyNoName of a body/surface to use as splitting tool (overrides plane)
extend_toolNoExtend tool to cut through entire body

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a mutable (readOnlyHint: false), non-idempotent, non-destructive operation. The description adds that it splits a body, implying geometric modification, but doesn't elaborate on behavioral traits like whether it creates new bodies, modifies the original, or has side effects. No contradiction with annotations, but minimal value beyond them.

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, efficient sentence with no wasted words. It's front-loaded with the core action and immediately specifies the splitting methods. Every word contributes directly to understanding the tool's function.

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 geometric operation with 4 parameters, no output schema, and annotations covering basic traits, the description is minimally adequate. It states the purpose but lacks details on usage context, output (e.g., what happens to split bodies), or error conditions. Completeness is borderline given the tool's complexity.

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 75%, with clear descriptions for parameters like 'splitting_plane' and 'extend_tool'. The description mentions 'plane or face', hinting at 'splitting_body' usage, but doesn't add significant meaning beyond the schema. Baseline 3 is appropriate as the schema does most of the work.

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

Purpose4/5

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

The description clearly states the action ('Split') and the target ('a body'), and specifies the splitting methods ('using a plane or face'). It distinguishes from sibling 'split_face' by targeting bodies rather than faces. However, it doesn't explicitly differentiate from other geometric operations like 'boolean_operation' or 'trim_surface' that might also divide geometry.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing body), exclusions, or compare to siblings like 'split_face' (for faces) or 'boolean_operation' (for other cuts). The description only states what it does, not when it's appropriate.

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

split_faceSplit FaceB

Split faces of a body using a plane

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
face_indicesNoIndices of faces to split (default: all faces)
splitting_planeNoxy
extend_toolNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations indicate this is a mutable (readOnlyHint: false), non-idempotent, and non-destructive operation. The description adds minimal behavioral context beyond this, mentioning the splitting action but not detailing effects like how faces are modified, whether the operation is reversible, or any performance considerations. No contradiction with annotations exists.

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

Conciseness5/5

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

The description is a single, direct sentence with no wasted words, efficiently conveying the core action. It is appropriately sized for the tool's complexity and is front-loaded with essential information.

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

Completeness2/5

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

Given the tool's moderate complexity (4 parameters, low schema coverage, no output schema) and annotations that only cover basic hints, the description is insufficient. It lacks details on parameter meanings, expected outcomes, error conditions, or how it fits within the CAD modeling workflow, making it incomplete for effective agent use.

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

Parameters3/5

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

Schema description coverage is low (25%), with only 'face_indices' having a description. The tool description does not compensate by explaining parameters like 'body_name', 'splitting_plane', or 'extend_tool', leaving their semantics unclear beyond what the schema minimally provides (e.g., enums for 'splitting_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 clearly states the action ('split') and target resource ('faces of a body') with the method ('using a plane'), making the purpose understandable. However, it doesn't explicitly differentiate this from sibling tools like 'split_body' or 'offset_faces', which might involve similar geometric operations on CAD bodies.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites (e.g., needing an existing body), exclusions, or comparisons to sibling tools like 'split_body' or 'offset_faces', leaving the agent to infer usage scenarios.

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

stitch_surfacesStitch SurfacesB

Stitch surface bodies into a single body

ParametersJSON Schema
NameRequiredDescriptionDefault
body_namesYes
toleranceNoStitch tolerance (cm)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds minimal behavioral context. It implies a merging action but does not detail effects like geometry changes, error conditions, or output format. With annotations covering basic safety, the description adds limited value beyond them.

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, efficient sentence with no wasted words, clearly front-loading the core action. It is appropriately sized for the tool's complexity, making it easy to parse quickly.

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

Completeness3/5

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

Given the tool's moderate complexity (2 parameters, no output schema) and annotations covering basic behavior, the description is minimally adequate. It states the purpose but lacks details on usage, parameter nuances, or output expectations, leaving gaps in contextual understanding for effective agent use.

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

Parameters3/5

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

Schema description coverage is 50%, with 'tolerance' documented but 'body_names' lacking a description. The description mentions 'surface bodies' and 'single body', hinting at the purpose of 'body_names', but does not clarify parameter semantics beyond what the schema partially provides. Baseline 3 is appropriate given the schema's partial coverage.

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

Purpose4/5

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

The description clearly states the verb ('stitch') and resource ('surface bodies'), specifying the action and target. However, it does not differentiate from sibling tools like 'patch_surface' or 'thicken_surface', which also manipulate surfaces, leaving some ambiguity about when to choose this specific tool.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It lacks context about prerequisites (e.g., needing existing surface bodies), exclusions, or comparisons to siblings like 'patch_surface' or 'boolean_operation', leaving the agent without usage direction.

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

suppress_featureSuppress FeatureB

Suppress (disable) a feature in the timeline

ParametersJSON Schema
NameRequiredDescriptionDefault
feature_nameYes

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds minimal behavioral context beyond 'disable'. It doesn't clarify what 'suppress' entails (e.g., temporary vs. permanent, visibility changes, or impact on dependencies), nor does it mention permissions, side effects, or error conditions. No contradiction with annotations exists.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core action and resource without unnecessary words. It earns its place by conveying the essential purpose clearly, making it highly concise and well-structured.

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

Completeness2/5

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

Given the tool's complexity (a mutation operation with no output schema and low schema coverage), the description is inadequate. It lacks details on behavior, parameter usage, return values, or error handling, leaving significant gaps for an AI agent to understand how to invoke it correctly in context.

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

Parameters2/5

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

With 0% schema description coverage and one parameter ('feature_name'), the description provides no additional meaning about the parameter. It doesn't explain what constitutes a valid feature name, format expectations, or examples, leaving the schema to carry the full burden without compensation from 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?

The description clearly states the action ('suppress/disable') and resource ('a feature in the timeline'), making the purpose immediately understandable. It distinguishes from sibling 'unsuppress_feature' by specifying the opposite action, though it doesn't explicitly differentiate from other tools that might modify features.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'unsuppress_feature' or other modification tools. It lacks context about prerequisites, such as whether the feature must exist or be active, and doesn't mention any exclusions or typical scenarios for its application.

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

sweepSweepB

Sweep a sketch profile along a path (sketch curve)

ParametersJSON Schema
NameRequiredDescriptionDefault
profile_indexYes
path_sketch_nameYesName of the sketch containing the sweep path
path_curve_indexNo
operationNonew_body

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a mutable, non-idempotent, non-destructive operation (readOnlyHint: false, idempotentHint: false, destructiveHint: false), which the description does not contradict. The description adds minimal behavioral context beyond annotations, as it only mentions the sweep action without detailing effects like geometry creation or potential errors. However, it does not provide additional insights into rate limits, authentication needs, or specific outcomes.

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, efficient sentence that directly states the tool's action without unnecessary words. It is front-loaded with the core functionality, making it easy to parse quickly. There is no wasted verbiage, adhering well to the principle of conciseness.

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

Completeness2/5

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

Given the complexity of a 3D modeling operation with 4 parameters, low schema coverage, no output schema, and annotations that only cover basic hints, the description is insufficient. It lacks details on parameter meanings, expected outcomes, error conditions, or how it integrates with sibling tools. This leaves significant gaps for an agent to understand and invoke the tool effectively in context.

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 low at 25%, with only one parameter ('path_sketch_name') having a description. The tool description does not compensate by explaining parameters like 'profile_index', 'path_curve_index', or the 'operation' enum values (e.g., 'new_body', 'join'). This leaves key inputs poorly documented, hindering the agent's ability to use them correctly without external knowledge.

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

Purpose4/5

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

The description clearly states the action ('sweep') and the resources involved ('a sketch profile along a path (sketch curve)'), making the purpose understandable. However, it does not explicitly differentiate this tool from sibling tools like 'extrude', 'revolve', or 'loft', which also create 3D geometry from sketches, leaving some ambiguity about when to choose sweep over those alternatives.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as 'extrude' for linear paths or 'revolve' for circular ones. It also lacks information about prerequisites, like needing existing sketches, or exclusions, such as invalid path types. Without such context, the agent must infer usage from the tool name and parameters alone.

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

thicken_surfaceThicken SurfaceB

Thicken a surface body into a solid

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
thicknessYesThickness (cm)
directionNosymmetric

TDQS

B3.2/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, which the description aligns with by implying a creation action ('into a solid'). However, the description adds minimal behavioral context beyond annotations—it doesn't specify if the operation modifies the original surface or creates a new body, or any error conditions like invalid inputs.

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, direct sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core action without unnecessary elaboration.

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

Completeness2/5

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

Given the complexity of a 3D modeling operation with 3 parameters, low schema coverage (33%), no output schema, and annotations that only cover basic hints, the description is inadequate. It lacks details on input validation, output format, error handling, or how it integrates with sibling tools, leaving significant gaps for an AI agent.

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 33% (only 'thickness' has a description), and the description does not compensate by explaining parameters like 'body_name' or 'direction'. It implies 'thickness' but doesn't add meaning beyond the schema's numeric constraint and unit. With low coverage, the description falls short of fully clarifying parameter roles.

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

Purpose4/5

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

The description clearly states the action ('Thicken') and the target ('a surface body into a solid'), making the purpose immediately understandable. However, it does not explicitly differentiate this tool from other modeling operations like 'extrude' or 'shell', which could also create solids from surfaces, leaving room for sibling confusion.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'extrude' or 'shell', nor does it mention prerequisites such as needing an existing surface body. It simply states what the tool does without contextual usage information.

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

trim_curveTrim CurveA

Trim a sketch curve at its intersections. The segment nearest to the given point is removed.

ParametersJSON Schema
NameRequiredDescriptionDefault
curve_indexYesIndex of the curve to trim
point_xYesX near the segment to remove
point_yYesY near the segment to remove
sketch_nameNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations indicate this is a non-readonly, non-idempotent, non-destructive operation. The description adds valuable behavioral context by specifying that trimming occurs 'at its intersections' and removes 'the segment nearest to the given point', which clarifies how the tool behaves beyond the basic annotation information. However, it doesn't mention potential side effects like how the remaining curve segments are handled.

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

Conciseness5/5

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

The description is perfectly concise with two clear sentences that front-load the core action and then specify the selection logic. Every word earns its place with no redundancy or unnecessary elaboration, making it easy to parse quickly.

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 mutation tool with no output schema and moderate schema coverage, the description adequately explains the core operation but lacks information about return values, error conditions, or how the tool interacts with the broader sketching context. Given the annotations cover basic safety aspects, the description provides minimum viable context but could be more 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?

With 75% schema description coverage, the schema already documents most parameters well. The description adds meaningful context by explaining that point_x and point_y define 'the given point' used to determine 'the segment nearest to remove', which provides semantic understanding beyond the schema's technical descriptions. However, it doesn't address the undocumented 'sketch_name' parameter.

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

Purpose5/5

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

The description clearly states the specific action ('Trim a sketch curve at its intersections') and the outcome ('The segment nearest to the given point is removed'), distinguishing it from sibling tools like 'extend_curve' or 'offset_curve' that modify curves differently. It uses precise technical language that identifies both the resource (sketch curve) and the operation (trim at intersections).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'extend_curve', 'offset_curve', or 'trim_surface', nor does it mention prerequisites such as needing an existing sketch with curves. It simply describes what the tool does without contextual usage information.

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

trim_surfaceTrim SurfaceB

Trim a surface body with another body

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYesSurface body to trim
tool_nameYesTrimming tool body

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds minimal behavioral context. It clarifies that trimming involves two bodies (one as target, one as tool), which isn't covered by annotations. However, it lacks details on effects (e.g., whether the tool body is consumed, if the operation is reversible, or error conditions), leaving gaps in understanding the tool's 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 description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resources, making it easy to parse. Every part of the sentence contributes essential information.

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

Completeness3/5

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

Given the tool's complexity (a geometric operation with two bodies), lack of output schema, and annotations covering basic safety, the description is minimally adequate. It states what the tool does but lacks details on outcomes, error handling, or visual/geometric effects. For a tool that modifies geometry, more context on results or limitations would improve completeness.

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

Parameters3/5

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

Schema description coverage is 100%, with clear parameter descriptions in the schema. The description adds no additional meaning beyond the schema, such as explaining the relationship between 'body_name' and 'tool_name' or providing usage examples. Baseline score of 3 is appropriate since the schema adequately documents parameters.

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

Purpose4/5

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

The description clearly states the action ('trim') and the target resource ('a surface body'), specifying it's trimmed 'with another body'. It distinguishes from sibling tools like 'split_body' or 'trim_curve' by focusing on surface trimming. However, it doesn't explicitly differentiate from similar operations like 'boolean_operation' which might also involve trimming.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing existing bodies), when not to use it, or refer to sibling tools like 'boolean_operation' or 'split_body' that might handle related operations. Usage is implied but not explicitly stated.

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

undoUndoB

Undo the last operation

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, which the description aligns with by implying mutation ('undo') without destruction. However, the description adds minimal behavioral context beyond annotations—it doesn't specify what 'last operation' means (e.g., scope, limitations), whether it's reversible, or error conditions. With annotations covering safety aspects, a baseline score of 3 is appropriate as the description adds some value but lacks rich behavioral details.

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, efficient sentence ('Undo the last operation') that directly states the tool's purpose with zero waste. It's front-loaded and appropriately sized for a simple tool with no parameters, making it easy to parse quickly.

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

Completeness3/5

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

Given the tool's simplicity (0 parameters, no output schema) and annotations that cover key behavioral hints, the description is minimally complete. However, it lacks context about what constitutes an 'operation' in this CAD environment, potential limitations (e.g., only undoing certain types of changes), or expected outcomes, which could help an AI agent use it more effectively. It's adequate but has clear gaps in contextual detail.

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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is acceptable here. A baseline score of 4 is given because the schema fully handles parameters, and the description appropriately focuses on the tool's action without redundant parameter explanations.

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

Purpose3/5

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

The description 'Undo the last operation' clearly states the verb ('undo') and resource ('last operation'), making the purpose understandable. However, it doesn't distinguish this tool from potential alternatives like 'redo' or 'history' tools that might exist in other contexts, and it's somewhat vague about what qualifies as an 'operation' in this CAD environment. It avoids being a tautology of the name/title by specifying 'last operation'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., requiring a previous operation to undo), exclusions (e.g., irreversible operations), or compare it to sibling tools like 'delete_all' or 'suppress_feature' that might handle similar undo-like actions. Usage is implied by the name but not explicitly stated.

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

unfoldUnfoldB

Unfold specific bends in a sheet metal body

ParametersJSON Schema
NameRequiredDescriptionDefault
body_nameYes
bend_indicesNoIndices of bends to unfold (omit to unfold all)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, but the description adds value by specifying it unfolds bends in sheet metal, implying a geometric transformation. However, it does not detail effects like permanence, error conditions, or interaction with other features, missing richer behavioral context.

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

Conciseness5/5

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

The description is a single, direct sentence with no wasted words, front-loading the core action. It efficiently conveys the tool's purpose without unnecessary elaboration, making it highly concise and well-structured.

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 tool with two parameters, no output schema, and annotations covering basic hints, the description is minimally adequate. It specifies the domain (sheet metal) and action but lacks details on outcomes, error handling, or integration with sibling tools, leaving gaps in full contextual understanding.

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

Parameters3/5

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

Schema description coverage is 50%, with 'bend_indices' documented but 'body_name' lacking a description. The description mentions 'specific bends' and 'sheet metal body', aligning with parameters but not adding significant meaning beyond the schema. Baseline 3 is appropriate given partial schema coverage.

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

Purpose4/5

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

The description clearly states the action ('unfold') and target ('bends in a sheet metal body'), making the purpose evident. However, it does not explicitly differentiate from sibling tools like 'flat_pattern' or 'create_bend', which might have related sheet metal functions, so it misses the highest clarity mark.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'flat_pattern' or 'create_bend'. The description lacks context on prerequisites, exclusions, or typical scenarios, leaving usage unclear beyond the basic action.

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

unsuppress_featureUnsuppress FeatureB

Unsuppress (re-enable) a feature in the timeline

ParametersJSON Schema
NameRequiredDescriptionDefault
feature_nameYes

TDQS

B3/5.0
Behavior3/5

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

Annotations indicate this is a non-read-only, non-idempotent, non-destructive operation, which the description aligns with by implying a state change (re-enabling). However, the description adds minimal behavioral context beyond annotations—it doesn't specify effects on the timeline, error conditions, or permissions needed, missing opportunities for richer 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?

The description is extremely concise and front-loaded, consisting of a single, direct sentence that conveys the core purpose without any wasted words. Every part of the sentence earns its place by clearly stating the action and target.

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

Completeness2/5

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

Given the lack of output schema and low schema description coverage, the description is insufficiently complete. It fails to explain the outcome of unsuppressing a feature, potential side effects, or error handling, making it inadequate for a mutation tool with minimal structured support.

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

Parameters2/5

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

With 0% schema description coverage for the single parameter 'feature_name', the description provides no additional meaning about this parameter. It doesn't explain what constitutes a valid feature name, format, or examples, leaving the parameter semantics entirely undocumented and unhelpful for the agent.

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

Purpose4/5

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

The description clearly states the action ('Unsuppress (re-enable)') and the target resource ('a feature in the timeline'), making the purpose immediately understandable. However, it does not explicitly differentiate from its sibling 'suppress_feature' beyond the opposite action, missing an opportunity for clearer sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as its sibling 'suppress_feature' or other feature-related tools. It lacks context about prerequisites, conditions for use, or typical scenarios, leaving the agent with no usage direction.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 80 tool updatesv0.1.0
    • First observedadd_constraint
    • First observedadd_dimension
    • First observedadd_joint
    • First observedboolean_operation
    • First observedcam_create_operation
    • First observedcam_create_setup
    • First observedcam_generate_toolpath
    • First observedcam_get_operation_info
    • First observedcam_list_operations
    • First observedcam_list_setups
    • First observedcam_post_process
    • First observedchamfer
    • First observedcheck_interference
    • First observedcircular_pattern
    • First observedcreate_as_built_joint
    • First observedcreate_bend
    • First observedcreate_box
    • First observedcreate_component
    • First observedcreate_construction_axis
    • First observedcreate_construction_plane
    • First observedcreate_cylinder
    • First observedcreate_flange
    • First observedcreate_hole
    • First observedcreate_parameter
    • First observedcreate_polygon
    • First observedcreate_rigid_group
    • First observedcreate_section_analysis
    • First observedcreate_sketch
    • First observedcreate_sphere
    • First observedcreate_thread
    • First observedcreate_torus
    • First observeddelete_all
    • First observeddelete_parameter
    • First observeddraft_faces
    • First observeddraw_arc
    • First observeddraw_circle
    • First observeddraw_line
    • First observeddraw_rectangle
    • First observeddraw_spline
    • First observedexecute_code
    • First observedexport_f3d
    • First observedexport_step
    • First observedexport_stl
    • First observedextend_curve
    • First observedextrude
    • First observedfillet
    • First observedflat_pattern
    • First observedget_object_info
    • First observedget_parameters
    • First observedget_physical_properties
    • First observedget_scene_info
    • First observedlist_components
    • First observedloft
    • First observedmeasure_angle
    • First observedmeasure_distance
    • First observedmirror
    • First observedmove_body
    • First observedoffset_curve
    • First observedoffset_faces
    • First observedpatch_surface
    • First observedping
    • First observedproject_geometry
    • First observedrectangular_pattern
    • First observedrevolve
    • First observedruled_surface
    • First observedscale_body
    • First observedset_appearance
    • First observedset_parameter
    • First observedshell
    • First observedsplit_body
    • First observedsplit_face
    • First observedstitch_surfaces
    • First observedsuppress_feature
    • First observedsweep
    • First observedthicken_surface
    • First observedtrim_curve
    • First observedtrim_surface
    • First observedundo
    • First observedunfold
    • First observedunsuppress_feature

TDQS

B3.2/5.0
Disambiguation4/5

Most tools have distinct purposes, but some overlap exists, such as 'create_box', 'create_cylinder', 'create_sphere', and 'create_torus' all being primitive creation tools, which could cause minor confusion. However, the descriptions clarify their specific geometric shapes, reducing ambiguity.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, such as 'add_constraint', 'create_sketch', 'export_step', and 'measure_distance'. There are no deviations in naming conventions, making the set predictable and readable.

Tool Count2/5

With 80 tools, the count is excessive for a single server, making it overwhelming and difficult for agents to navigate efficiently. While Fusion 360 is a complex CAD/CAM system, this many tools likely includes overly granular or redundant operations that could be consolidated.

Completeness5/5

The tool set provides comprehensive coverage for Fusion 360's domain, including sketching, modeling, assembly, manufacturing (CAM), sheet metal, parameters, export, and analysis. There are no obvious gaps; it supports full CRUD/lifecycle operations and advanced workflows.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI-powered parametric CAD design in Autodesk Fusion 360 through natural language commands. Supports multiple AI backends (Ollama, OpenAI, Gemini, Claude) with intelligent routing and safety validation for geometric operations.
    14
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI-powered CAD automation in Autodesk Fusion 360 through natural language prompts. Features a modern web chat interface with multiple LLM backends for creating 3D models, sketches, and parametric designs.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to inspect and automate Autodesk Fusion 360 through MCP, providing tools for CAD modeling, CAM manufacturing, and document management.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/faust-machines/fusion360-mcp-server'

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