self-host-fusion360-mcp
Provides tools for driving Autodesk Fusion 360, enabling AI agents to create and modify 3D models, sketches, assemblies, CAM operations, and file exports.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@self-host-fusion360-mcpCreate a 50mm cube in a new design and export it as STL."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
self-host-fusion360-mcp
A self-hosted, unified MCP server that lets Claude (or any MCP client) drive Autodesk Fusion 360 on your own machine.
简体中文 · Full manual · Tool reference · Troubleshooting

An L-bracket built entirely from a Claude conversation through this MCP — base + wall + boolean join + fillets + 4 mounting holes + mass check + export. See scripts/demo_conversation.py.
It unifies the best ideas from the community Fusion-MCP projects into one well-documented, foolproof package: bilingual docs (中/英), a Windows one-click installer, Docker one-command run, mm-first units, a shared auto-generated token, ~100 tools (plus a generic-API escape hatch for full coverage), auto-create-document, and a doctor that tells you exactly what's wrong. No Fusion subscription required — it works with the free personal-use license too.
✅ Validated against a real Fusion 360 install (Jan 2026 build, Python 3.14): a 57-step coverage test and a full bolt-circle-flange build pass end-to-end, with numerically-verified mass/volume. See Development & testing.
How it works (read this first)
Fusion's adsk.* API can only be called inside Fusion, on its main thread — no external process can touch it directly. So this project has two parts:
┌────────────────┐ MCP (stdio / http) ┌─────────────────────┐ HTTP + token ┌──────────────────────────┐
│ Claude │ ─────────────────────▶ │ MCP server │ ──────────────▶ │ Fusion add-in (in-process)│
│ Desktop / Code │ ◀───────────────────── │ (this repo, server/) │ ◀────────────── │ (this repo, addin/) │
└────────────────┘ │ native OR Docker │ │ 127.0.0.1, main thread │
└─────────────────────┘ └─────────────┬────────────┘
│ adsk.* API
┌─────▼─────┐
│ Fusion 360 │
└───────────┘⚠️ Fusion cannot run in Docker. It is a desktop GUI app. Docker only containerizes the MCP server; the add-in must run inside Fusion on the host. In Docker the server reaches the host add-in via
host.docker.internal. This is the single most common point of confusion — the installer anddoctorkeep reminding you.
Related MCP server: Fusion Toolsmith MCP
Features
Two transports —
stdio(Claude Desktop / Claude Code) andstreamable-http(Docker / remote).~100 tools — one-call primitives (box/cylinder/sphere), sketches (rect/circle/line/arc/polygon/spline, on construction planes or body faces) with constraints & dimensions for robust parametric sketches, extrude/revolve/sweep/loft, fillet/chamfer/shell/holes/draft/scale, split/offset faces, threads, rectangular & circular patterns, mirror, boolean combine, parameters, body ops, construction planes, appearances, surfaces (patch/thicken/ruled/stitch), inspection (physical properties, min-distance, angle, interference, face listing), timeline edit (undo/redo/suppress), export (STL/STEP/F3D/DXF), viewport screenshots Claude can see, units, assembly (components, joints, rigid groups), and CAM (setups, operations, tool assignment, toolpaths, G-code post).
Generic API escape hatch —
fusion_api_call/fusion_api_introspect/fusion_api_docsreach anyadsk.*method by path (full coverage for anything not covered by a curated tool). Gated behind allow_arbitrary_code.Auto-create document — build tools make a new design if none is open; no community server does this.
mm-first — every dimension is millimetres; the cm conversion is done once, at the boundary (no 10× bugs).
Tool annotations — read-only/destructive/idempotent hints so clients can auto-approve safe calls.
Foolproof setup — auto-generated shared token (never copied by hand), safe Claude-config merge (your other servers are preserved), idempotent installer, UTF-8/GBK handling for Chinese Windows.
Web config dashboard —
fusion-mcp webuiopens a local browser UI to see status, edit settings, manage the token, and generate/apply MCP client config for multiple AIs (Claude Desktop/Code, Cursor, VS Code, generic, remote HTTP). Loopback-only, zero new deps.doctor— bilingual diagnostics that pinpoint connection/token/version problems.Mock mode — run the server, tests, and Docker image with no Fusion installed.
Bilingual docs — everything in English and 简体中文.
Safe by default — the arbitrary-code tool is off unless you explicitly enable it.
Quickstart
Option A — Windows one-click (recommended)
Install Fusion 360 and Python 3.10+ (tick Add to PATH).
Double-click
install/windows-install.bat(or runinstall/windows-install.ps1in PowerShell). It copies the add-in into Fusion, generates the token, installs the server, and merges your Claude Desktop config.Start Fusion 360, open a design, then go to Utilities → ADD-INS → Scripts and Add-Ins, select Fusion360MCP, and click Run (set it to Run on Startup to skip this next time).
Fully quit and reopen Claude Desktop. Ask: "Create a 20×20×10 mm box in Fusion and add 2 mm fillets."
Option B — Docker (server in a container)
The add-in still installs on the host (steps 1–3 above, or just copy addin/Fusion360MCP/ into your Fusion API/AddIns folder). Then:
cp .env.example .env # set FUSION_MCP_TOKEN to the host token (~/.fusion-mcp/token)
docker compose up -d # server listens on http://localhost:8765/mcp
docker compose run --rm fusion-mcp fusion-mcp doctor # verifyAdd it to Claude as a custom (remote/HTTP) connector pointing at http://localhost:8765/mcp.
Option C — Manual / cross-platform
pip install -e . # or: pip install -e ".[http,dev]"
cp addin/Fusion360MCP -> <Fusion>/API/AddIns/ # copy the add-in folder
fusion-mcp doctor # diagnose
fusion-mcp run # stdio (configure your client to launch this)See the full manual for the exact Claude config JSON and the Fusion AddIns paths.
Web config dashboard
fusion-mcp webui # opens http://127.0.0.1:8088 in your browserA local, loopback-only page to: check bridge status, edit add-in settings, view/
regenerate the token, and generate or one-click-apply MCP client config for
Claude Desktop, Claude Code, Cursor, VS Code, a generic client, or a remote/HTTP
connector. Adding a future AI = one entry in fusion_mcp.clientconfig.CONNECTORS.

Configuration
All optional; defaults shown. See .env.example.
Variable | Default | Meaning |
|
| Where the server reaches the add-in ( |
|
| Shared bearer token (resolution order) |
|
|
|
|
| HTTP bind (http transport) |
|
| Expose |
|
| Run without Fusion |
Safety & limitations
Verify everything. Claude is great at prismatic/parametric parts and repetitive edits, weaker at organic/freeform surfaces. A 0.1 mm slip breaks a fit — review (and ideally print) before trusting output.
The connector mutates your live model. Save a version before batch operations.
fusion_run_scriptruns arbitrary Python in Fusion; it is disabled unless you opt in.The bridge binds to
127.0.0.1and requires a bearer token. Read docs/TROUBLESHOOTING before exposing it to Docker/other hosts.License limits: IGES/SAT export is blocked on personal-use Fusion licenses (the bridge returns a clear hint); STEP/STL/F3D work on all licenses. 3MF has no Fusion API and is not exposed — use STL for 3D printing.
CAM prerequisites: the
cam_*tools require the Manufacturing workspace to have been opened once (so the CAM product exists); they return a clear hint otherwise. Most operation strategies also need a cutting tool assigned before a toolpath will generate.
Component targets & explicit threads
Component creation keeps its existing default of activating the new component:
fusion_create_component(name: str, activate: bool = True) -> dict. Pass
activate=False when the occurrence should be created without changing the current
build target, then select and inspect the target explicitly:
fusion_create_component(name="Thread demo", activate=False)
fusion_set_active_component(name="Thread demo") # name="root" is the default
fusion_get_active_component() # read-only
fusion_set_active_component() # reset to rootThe target wrappers are fusion_set_active_component(name: str = "root") -> dict
and fusion_get_active_component() -> dict. The full thread signature is
fusion_thread(body: Union[int, str], face: int, internal: bool = False, modeled: bool = True, thread_type: str = "ISO Metric profile", designation: Optional[str] = None, thread_class: Optional[str] = None, handedness: str = "right") -> dict. Omit designation to use Fusion's
diameter-based recommendation, or select a catalog entry explicitly:
fusion_thread(
body="M8 left shaft",
face=2,
modeled=True,
designation="M8x1.25",
handedness="left",
)
fusion_list_threads(component="Thread demo") # component=None uses the active targetFusion's catalog spelling is authoritative for thread_type, designation, and
thread_class; an explicit designation/class is validated against that catalog.
Only handedness="right" and handedness="left" are supported (case and outer
whitespace are normalized), and an unsupported value fails before thread mutation.
fusion_list_threads(component: Optional[str] = None) -> dict is read-only and reports
the actual feature metadata Fusion exposes, with null fields and
capability_notes when the installed API cannot expose a property.
Development & testing
Everything below was used to validate the project against a real Fusion 360 install.
# 1) Call any op directly against the live bridge (reads ~/.fusion-mcp/token)
python scripts/rpc.py health
python scripts/rpc.py primitive.box '{"width":20,"depth":20,"height":20}'
# 2) Comprehensive coverage test (fresh doc -> ~57 checks across every tool)
python scripts/smoketest.py
# 3) Realistic end-to-end part: a bolt-circle flange (+ inspection & export)
python scripts/demo_flange.py # writes screenshots/flange.png
# 4) Mock unit tests (no Fusion needed)
python -m pytest -qHot-reload loop (no Fusion restart). The add-in entry purges its package
modules on Stop→Run, and a dev-only system.reload op re-imports all op code —
including _common — in place. So the edit→test cycle is:
cp -r addin/Fusion360MCP/. "$APPDATA/Autodesk/Autodesk Fusion 360/API/AddIns/Fusion360MCP/"
python scripts/rpc.py system.reload # live-reload edited add-in code
python scripts/smoketest.py # re-testOnly changes to the HTTP/bridge layer (bridge/, config.py, __init__.py)
need a Fusion Stop→Run; op edits are picked up by system.reload.
Status & roadmap
Done (v0.6.0) — every tool below validated against a real Fusion 360 install (Jan 2026 build, Python 3.14):
Workspace discipline — the agent works in the document you already have open:
fusion_new_documentrefuses while a document is open unless it passesconfirm=true(settingguard_new_document), so strayUntitleddocuments stop piling up. Finish up from the agent side withfusion_save_document/fusion_save_document_as/fusion_close_document(save=true|false)/fusion_close_other_documents— a never-saved document is written into a real project automatically, no interactive dialog.Active component — build a multi-part model in ONE document:
assembly.activate_componentmakes later sketch/feature/primitive ops target that component (each part isolated, existing bodies untouched); default is the root component.Auto-dismiss blocking dialogs — an external guard process closes save/recover/server-verification/stray modals that would otherwise freeze Fusion (they hold the GIL, so an in-process watchdog can't); safe WM_CLOSE-first, only when an op is stuck or the title matches a nuisance allowlist.
system.restart— full in-process reload (incl. bridge/__init__) over RPC, so code changes apply without a manual Fusion Stop→Run.Two-part architecture (in-Fusion add-in bridge + external MCP server); stdio and streamable-http transports; mock mode (no Fusion needed).
~100 tools: primitives; sketches with constraints & dimensions; extrude/ revolve/sweep/loft; fillet/chamfer/shell/hole/draft/split/offset-faces/thread/ scale; rectangular & circular patterns; mirror; boolean combine; surfaces (patch/thicken/ruled/stitch); parameters; body ops; construction planes; appearances; inspection (mass, min-distance, angle, interference, face listing); timeline edit (undo/redo/suppress); export (STL/STEP/F3D/DXF); viewport screenshots; units; assembly (components, joints incl. by-face, rigid groups); CAM (setups, operations, auto tool-assignment, toolpaths, G-code post).
Generic API escape hatch (
api.call/introspect/docs, gated) for full coverage.Auto-create-document, mm-first units, mutation
_deltafeedback, bilingual hints.Foolproof Windows installer, Docker,
doctor, hot-reload dev loop.Web config dashboard (
fusion-mcp webui) + multi-AI connector registry.28 mock tests; full bilingual docs.
Roadmap / TODO:
CAM end-to-end validated (needs Manufacturing workspace + tool library): setup → operation → toolpath → G-code.
Curated sheet-metal creation — currently blocked by the Fusion API (no create methods on FlangeFeatures/BendFeatures); revisit if Autodesk exposes it. (Only
create_flat_patternon existing SM bodies works today.)Joints by edge / axis, joint limits & motion.
Drawings (2D drawing docs, auto views) + richer DXF/PDF export.
"Apply config" write-through for Cursor / VS Code (not just Claude Desktop).
One-click webui launcher (
.bat) + optional system-tray.macOS installer (
.command) at parity with the Windows installer.Publish to PyPI (
uvx fusion-mcp) + signed release.Tests for the webui API + more op-level mocks.
More AI connectors as the ecosystem grows.
Project layout
addin/Fusion360MCP/ In-Fusion add-in (pure stdlib): HTTP bridge + main-thread dispatch + ops
server/fusion_mcp/ MCP server: FastMCP app, tools, client, doctor, CLI
install/ Windows installer, token gen, safe Claude-config merge
docs/ Bilingual manual, architecture, tool reference, troubleshooting
scripts/ Dev helpers: rpc.py, smoketest.py, demo_flange.py, doctor, gen_tools_doc
tests/ Mock-driven tests (no Fusion needed)License
MIT — see LICENSE. Not affiliated with or endorsed by Autodesk or Anthropic.
Available Tools
108 toolsfusion_api_docsARead-only
Get the Autodesk cloudhelp URL for an API class or member (e.g. 'ExtrudeFeatures.createInput').
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not contradict annotations (readOnlyHint=true, etc.). It only restates the purpose without adding behavioral context beyond what annotations already provide. Baseline score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with an example, no wasted words, and purpose is front-loaded. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema, clear annotations), the description is complete enough. It explains the purpose and gives a useful example. Some may expect mention of return type, but not strictly necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'name' has no schema description, but the description provides an example ('ExtrudeFeatures.createInput') which clarifies the expected format, adding significant value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'Autodesk cloudhelp URL for an API class or member', with a concrete example. It is distinct from siblings which are mostly CAD operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies using this tool to retrieve help URLs for API classes or members, but does not provide explicit when-to-use, when-not-to-use, or alternatives. Suitable for implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_api_introspectARead-only
Inspect the live Fusion API: list a class's (or an object path's) properties
and method signatures. target is a class name (e.g. 'ExtrudeFeatures') or a
path ('rootComponent.bRepBodies'); query filters member names. Use this to
discover the exact API to drive via fusion_api_call.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| target | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint; description adds that it inspects the live API and lists signatures, providing context beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with main action, parameter explanations, and usage guidance. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While no output schema exists, the description explains what the tool lists (properties and method signatures). Slightly lacking on return format but adequate for a discovery tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% with no descriptions, but the description provides detailed explanations for both parameters (target with examples, query with filtering), fully compensating for missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool inspects the live Fusion API to list properties and method signatures, with specific verb-resource pairing. It distinguishes from sibling fusion_api_docs by mentioning live inspection and direct usage to drive fusion_api_call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using this tool to discover the exact API for fusion_api_call, providing clear context for when to use. Does not explicitly state when not to use or mention alternatives, but context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_as_built_jointB
Create an as-built joint (keeps both components in their current place).
| Name | Required | Description | Default |
|---|---|---|---|
| component_one | Yes | ||
| component_two | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutation and non-destructive behavior. Description adds the key trait of keeping components in place but lacks details on permissions, reversibility, or consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence front-loads the core purpose. Efficient but could benefit from structured presentation for multiple aspects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool with 2 string params and no output schema, the description covers the main action but omits prerequisites and potential side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description provides no additional meaning for component_one and component_two beyond their names. Full burden on description to explain parameters, which it fails to do.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates an as-built joint that keeps both components in place, distinguishing it from a regular joint which typically moves components to align.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 fusion_joint. The description implies context but gives no exclusions or explicit when-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_body_infoARead-only
Inspect one body by index or name, including its current operative ID, component, topology counts, volume, visibility, and bounding box.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds useful behavioral context by enumerating the fields returned by the inspection, which goes beyond the annotations and helps the agent understand what the tool reveals. It stops short of describing edge cases or exact return formatting, but is strong for a read-only query.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the action first, then the selection method, then the concrete content of the inspection. There is no filler, repetition, or unnecessary context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only inspection tool with no output schema, the description covers nearly everything an agent needs: what to pass and what will be returned. It gives the returned field categories explicitly. It could be more complete by noting exact output structure or failure behavior, but the current definition is sufficient for correct usage in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only describes 'body' as an integer or string, with 0% coverage. The description compensates by explaining that the parameter can be an index or a name, mapping the two schema types to meaningful selection modes. It could add detail such as index base or name resolution rules, but the core semantics are clearly conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Inspect one body') and a resource with selection scope ('by index or name'), then lists the exact data returned: operative ID, component, topology counts, volume, visibility, and bounding box. This distinguishes it from siblings like fusion_get_body, fusion_bounding_box, and fusion_physical_properties without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives such as fusion_get_body, fusion_bounding_box, or fusion_physical_properties. There are no stated exclusions or conditions, so an agent must infer when this aggregate inspection tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_bounding_boxARead-only
Get the overall bounding box of the whole design, in millimetres.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint true, indicating safe read. The description adds that it returns the bounding box in millimeters, which is useful context but not substantial 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no unnecessary words. Front-loaded with the core action and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description provides essential information: what it returns and unit. It could mention the return format, but it is sufficient for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'bounding box of the whole design', and specifies the unit 'millimetres'. This is specific and distinguishes it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. Usage is implied from the purpose, but without explicit context, the agent lacks direction on selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_boxA
Create a box (cuboid): width(X) x depth(Y) x height(Z) in mm, centered on
the XY origin and rising in +Z. Auto-creates a document if none is open.
For a cube, pass equal width/depth/height. Pass component (a component name
from fusion_create_component) to build the box INSIDE that component — useful
for building assembly parts to then joint together.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| name | No | ||
| depth | Yes | ||
| width | Yes | ||
| height | Yes | ||
| component | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations by stating that it auto-creates a document if none is open and that the box is centered on the XY origin rising in +Z. Annotations indicate mutability and side effects, and the description complements them without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at three sentences, starting with core functionality and adding useful tips without extraneous information. Every sentence adds value and improves clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers orientation, auto-document creation, and component usage, it omits explanations for parameters 'x', 'y', and 'name', and does not specify the result (e.g., body or feature). Given the complexity of 7 parameters and no output schema, more detail is needed for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description partially compensates by explaining width, depth, height as dimensions and the 'component' parameter for assembly use. However, it does not clarify the purpose of parameters 'x', 'y', and 'name', leaving gaps in parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a box (cuboid) with specific dimensions and orientation, differentiating it from shape tools like cylinders or spheres. The verb 'Create' and resource 'box' are precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use the tool, such as building assembly parts inside a component and the shortcut for cubes. However, it does not explicitly state when not to use it or mention alternative tools, so it aligns with 'clear context, no exclusions'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_cam_create_operationA
Add an operation to a setup by strategy (e.g. face, pocket2d, adaptive2d,
contour2d, drill, bore). Optional tool_diameter/stepdown/stepover in mm.
Note: most strategies need a tool assigned before a toolpath will generate.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| setup | Yes | ||
| stepdown | No | ||
| stepover | No | ||
| strategy | Yes | ||
| tool_diameter | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: it creates an operation, optional parameters are specified, and it warns that tool assignment is needed for toolpath generation. Annotations already indicate side effects (openWorldHint=true, destructiveHint=false), and no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences, front-loaded with the core action and key parameter, with an important note. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters and no output schema, the description adequately covers the main points. It could be improved by explaining that 'setup' refers to a setup ID and perhaps the return value (e.g., operation ID). Overall, it's reasonably complete for an agent to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains strategy with examples, and notes that tool_diameter, stepdown, and stepover are optional with units in mm. However, the required 'setup' parameter and optional 'name' are not described, which is a gap given 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Add an operation to a setup by strategy' with specific examples (face, pocket2d, adaptive2d, contour2d, drill, bore). This distinguishes it from sibling tools like fusion_cam_create_setup and fusion_cam_generate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when you need to add a CAM operation to an existing setup. It provides a prerequisite note: 'most strategies need a tool assigned before a toolpath will generate.' No explicit when-not-to-use or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_cam_create_setupC
Create a CAM setup around a body. operation_type: milling/turning/cutting.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| name | No | ||
| operation_type | No | milling |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, consistent with a write operation. The description adds no behavioral context beyond the creation action, such as side effects, required permissions, or document modifications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, efficiently stating the core purpose. It is front-loaded with the main action. While concise, it could include more detail without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and low parameter coverage, the description is too minimal. It does not explain what a CAM setup is, what the 'body' parameter requires, or the outcome of creation. A creation tool for a complex domain needs more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It provides examples of allowed values for operation_type (milling/turning/cutting), which adds meaning beyond the schema. However, it does not explain the 'body' or 'name' parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a CAM setup around a body, and mentions operation_type examples. However, it does not distinguish from sibling tools like fusion_cam_create_operation, which also creates something. The purpose is clear but lacks differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description does not provide context about prerequisites or exclusions. Users must infer usage from 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.
fusion_cam_generateA
Generate toolpaths: one operation in a setup, a whole setup, or all=true.
| Name | Required | Description | Default |
|---|---|---|---|
| all | No | ||
| setup | No | ||
| operation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the scoping behavior (operation, setup, all) and the fact that it generates toolpaths, which aligns with readOnlyHint=false. However, it lacks details on side effects, required document state, or what 'generate' entails (e.g., computation vs. saving). Annotations partially cover safety but not depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 12 words, front-loading the core purpose. Every word earns its place, with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and is part of a CAM workflow, the description covers the main use cases but is incomplete. It omits prerequisites, exactly what generation does (compute/save?), and how to handle multiple specified parameters. Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 0%, the description compensates by explaining the relationship between parameters: 'one operation in a setup, a whole setup, or all=true.' This adds significant meaning beyond the schema, though it doesn't cover edge cases like conflicting parameter combinations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Generate' and the object 'toolpaths', and specifies the scope: one operation in a setup, a whole setup, or all. This distinguishes it from sibling tools like fusion_cam_post_process and fusion_cam_create_*.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use the tool versus alternatives, nor does it mention prerequisites or context. It only implies usage by stating what it does, without exclusion criteria or sequencing advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_cam_list_operationsARead-only
List operations in a CAM setup (name, has_toolpath, is_valid).
| Name | Required | Description | Default |
|---|---|---|---|
| setup | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, destructiveHint=false) already indicate a safe read operation. The description adds nothing beyond confirming it lists operations, which does not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It efficiently conveys the core action and data fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, the description covers the relevant return fields. However, it lacks information about error conditions or prerequisites like whether the setup must exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and only one parameter 'setup' exists. The description references 'in a CAM setup' but does not explain what the setup parameter is or its format, leaving ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists operations in a CAM setup and specifies the fields returned (name, has_toolpath, is_valid). It distinguishes from siblings like fusion_cam_list_setups and fusion_cam_list_tools by resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. Usage is implied as a simple list operation, but no alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_cam_list_setupsARead-only
List CAM setups and their operations. Requires the Manufacturing workspace to have been opened once in Fusion.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds the prerequisite about the Manufacturing workspace, which is useful context beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first defines purpose, second gives prerequisite. No extraneous words. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and annotations covering safety, the description is complete enough. It states the action and a required condition. Could mention return format, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema description coverage is 100%. Per guidelines, 0 parameters yields a baseline of 4. No additional parameter info is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists CAM setups and their operations, which is a specific verb and resource. It differentiates from siblings like fusion_cam_list_operations (lists operations) and fusion_cam_create_setup (creates setups).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a prerequisite (Manufacturing workspace opened once), but does not explicitly compare to alternatives or state when not to use. The usage context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_cam_list_toolsBRead-only
List cutting tools from the local tool library (for assigning to operations).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds no further behavioral context (e.g., pagination, performance, or data freshness).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence and front-loaded with the main action. However, it sacrifices parameter information, which would be valuable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter and good annotation coverage. However, the description omits the return format and does not explain the parameter, leaving some gaps for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, and the description does not mention the 'limit' parameter at all. It fails to add meaning beyond the schema, leaving the agent without guidance on how to use the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists 'cutting tools from the local tool library' with a specific purpose 'for assigning to operations'. It includes a specific verb and resource, and distinguishes from sibling list tools like fusion_cam_list_operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a hint on when to use ('for assigning to operations'), but provides no explicit guidance on when not to use it or comparison with other list tools like fusion_cam_list_operations or fusion_cam_list_setups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_cam_post_processC
Post-process a setup (or one operation) to a G-code file on the host (default ~/fusion-mcp-exports/nc). post_processor is a generic post name.
| Name | Required | Description | Default |
|---|---|---|---|
| setup | Yes | ||
| units | No | mm | |
| operation | No | ||
| output_folder | No | ||
| post_processor | No | fanuc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations indicate a write operation, the description does not disclose side effects (e.g., file overwriting), required permissions, or error conditions. It mentions a default output folder but does not clarify behavior when the folder exists or when outputs already exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundancy. However, the second sentence ('post_processor is a generic post name') is somewhat ambiguous and could be integrated more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and minimal description, the tool lacks crucial information: how the G-code file is named, error scenarios, locale/units handling, and what happens when operation is null. The description is insufficient for effective tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description only loosely explains setup, operation, and post_processor. It does not define units, output_folder (despite mentioning a default path that conflicts with schema's null default), or provide parameter format/constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Post-process') and resource ('a setup (or one operation)'), with a specific output (G-code file) and a default location. This distinguishes it from sibling tools like fusion_cam_create_operation or fusion_cam_generate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or when not to use it. The mention of post-processing setup or operation is implicit but does not contrast with similar tools like fusion_cam_generate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_chamferB
Chamfer edges of a body by distance mm. edges='all' or a list of indices.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| edges | No | all | |
| distance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral traits beyond what annotations already provide. Annotations indicate it is not read-only (readOnlyHint=false) and not destructive (destructiveHint=false), but chamfering is inherently destructive—the description does not clarify this contradiction or explain side effects, permission needs, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that front-loads the purpose. It is concise with no filler. However, it could be slightly more structured by separating the edges and distance clarifications.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and no output schema, the description covers the core functionality but lacks return value information (e.g., success status or modified body handle), prerequisites (body must exist), and edge indices context. It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage; the description adds meaning for two parameters: edges can be 'all' or a list of indices, and distance is in mm. The body parameter remains unexplained (integer or string ID), so there is some gap, but overall the description significantly enhances understanding of parameter values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (chamfer), the resource (edges of a body), and the key parameter (distance). It distinguishes the tool from most siblings by naming a specific geometric operation, but it does not explicitly differentiate from fusion_fillet which performs a similar edge modification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like fillet or other edge operations. The description does not mention prerequisites, typical use cases, or scenarios where this tool is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_circular_patternA
Pattern a body around axis x/y/z: count copies spread over angle degrees.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | z | |
| body | Yes | ||
| angle | No | ||
| count | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds that it creates copies over an angle, which aligns with non-destructive hints, but doesn't provide additional behavioral context beyond what annotations already indicate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with key verb, resource, and parameters, no redundant information, highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core functionality and main parameters, but could mention default values for axis and angle for completeness, though not critical given the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema coverage, description explains axis options (x/y/z), that count is copies, and angle is in degrees, adding significant meaning beyond schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Pattern a body around axis x/y/z' with specific verb and resource, and distinguishes from siblings like fusion_rectangular_pattern by the circular nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for circular patterns but lacks explicit guidance on when to use versus alternatives like fusion_rectangular_pattern, and no exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_close_documentADestructive
Close a document — save=true saves it first, save=false discards unsaved changes.
Closes the active document unless document names another open one. With
save=true a never-saved document is written into the active Fusion project
first (use name / project to choose where); if that save fails the
document is left open rather than losing the work.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| save | Yes | ||
| project | No | ||
| document | No | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, but the description goes beyond that by explaining the safety behavior: with save=true and never-saved documents, it attempts to write to the active project and leaves the document open if saving fails, avoiding data loss. This is critical behavioral information that annotations do not provide, making the tool's side effects and failure mode clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three sentences) and front-loaded with the core behavior (save true/false). It efficiently packs critical information about document selection, saving location, and failure handling without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema being present, the description explains the main outcomes (document closed vs. left open) and error behavior. However, it lacks details on edge cases like closing the only open document or what happens if the named document doesn't existiments. Given the tool's complexity and the richness of annotations, this is acceptable but not perfect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate, and it does: it explains that 'document' names another open document to close (rather than active), and that 'name'/'project' choose where to save a never-saved document. It does not explain 'description' or the default behavior of other parameters, but the key ones are covered, so a slight gap remains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's primary function: closing a document with a flag to save or discard changes. It also explains the two possible behaviors (save vs. discard) and the context of the active document. This distinguishes it clearly from sibling tools like fusion_save_document and fusion_close_other_documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use save=true vs save=false (to persist changes or discard them). It also hints at the alternative for closing multiple documents (fusion_close_other_documents is a sibling). However, it doesn't explicitly state 'use fusion_save_document when you want to save without closing' or other exclusions, so it falls short of being fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_close_other_documentsADestructive
Close every open document EXCEPT the active one — handy for tidying up after stray documents accumulated. save=false discards their unsaved changes.
| Name | Required | Description | Default |
|---|---|---|---|
| save | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly discloses the destructive consequence: 'save=false discards their unsaved changes.' This goes beyond the destructiveHint annotation by specifying exactly what is destroyed and under which condition. The description is consistent with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the first front-loads the action and purpose, the second adds the critical parameter consequence. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter destructive bulk operation, the description fully covers what happens, the scope (all other documents), and the risk (unsaved data loss). No output schema exists, and return values are not needed for correct invocation. Complete enough for an agent to use safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero schema description coverage, the description must carry parameter meaning. It explicitly explains the behavior of save=false (discards unsaved changes), which is the default and most important case. It only implies save=true behavior, but this is easily inferable and the single parameter is adequately covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Close every open document EXCEPT the active one') with a clearly defined resource and scope, making it unmistakable what the tool does. The phrase also differentiates it from siblings like fusion_close_document, which closes a single document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context ('handy for tidying up after stray documents accumulated') that helps an agent decide when to invoke it. It does not explicitly mention alternatives or when-not-to-use, but the scope distinction from sibling tools is implicit and sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_combineADestructive
Boolean-combine a target body with one or more tool bodies (by index or name). operation: join (union), cut (subtract tools from target), or intersect. Set keep_tools=true to preserve the tool bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| tools | Yes | ||
| target | Yes | ||
| operation | No | join | |
| keep_tools | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds value by explaining the effect of keep_tools=true to preserve tool bodies, providing behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no filler, and immediately communicates the core purpose. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers key aspects but lacks information on return values, what happens to the target body, and error conditions. Given no output schema, more context would help the agent understand the full effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description compensates by explaining the operation parameter (join, cut, intersect) and the keep_tools parameter. However, it does not fully detail the 'tools' parameter's array format or the 'target' parameter's meaning beyond 'by index or name'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs boolean combinations (join, cut, intersect) on a target body with tool bodies. This distinguishes it from sibling tools like delete, move, or scale, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for boolean operations on bodies but does not explicitly specify when to use it versus alternatives such as fusion_split_body or fusion_scale_body. No direct guidance on prerequisites or context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_create_componentB
Create a component occurrence, optionally making it the build target.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| activate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-read-only, non-idempotent operation; the description adds that creation can optionally set the build target. It does not elaborate on open-world side effects or document context, but it does not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence conveys the core action and the optional parameter behavior with no redundant words. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not explain return behavior, prerequisites such as an active document, or what 'name' should refer to. For a creation tool, the missing operational context leaves an agent to rely on unstated assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate for parameter meaning. It clarifies the 'activate' parameter via 'optionally making it the build target', but it gives no additional meaning for the required 'name' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Create a component occurrence') and names the distinct optional behavior of making it the build target. No sibling tool covers the same create-occurrence operation, so it is clearly distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool instead of related component tools such as fusion_set_active_component or fusion_list_occurrences. The description does not state prerequisites, exclusions, or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_create_flat_patternA
Create a flat pattern from an EXISTING sheet-metal body. Note: Fusion's API cannot create sheet-metal flanges/bends (model those interactively).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, so description adds the key behavioral limitation that the API cannot create flanges/bends. This adds context beyond annotations but does not fully describe behavior like return values 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences (21 words), front-loaded with the core purpose, and includes a critical note. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers purpose and a key limitation. However, the lack of parameter format guidance and any description of what the flat pattern creation entails (e.g., new feature added) leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It adds that the body must be 'sheet-metal' and 'EXISTING', but provides no guidance on how to specify the body (e.g., ID or name), leaving the parameter ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's action ('Create a flat pattern') and the specific resource ('EXISTING sheet-metal body'). It distinguishes from siblings by focusing on flat patterns, a unique capability among the listed tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('from an EXISTING sheet-metal body') and notes a limitation about flanges/bends, but does not explicitly compare to alternatives or state when not to use. Guidance is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_create_parameterB
Create a new user parameter (e.g. name='width', expression='40 mm').
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| unit | No | mm | |
| comment | No | ||
| expression | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-read-only and non-destructive behavior. Description adds minimal context beyond the example.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with example, front-loaded verb, no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on return value, effect on design, duplicate handling, or prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It hints at name and expression via example but omits unit and comment semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('Create') and resource ('new user parameter'), with a concrete example that distinguishes it from sibling tools like fusion_set_parameter or fusion_get_parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool instead of siblings, no prerequisites or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_create_sketchA
Create an empty sketch on a base plane (xy/xz/yz) or construction-plane index.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| plane | No | xy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description's 'Create' aligns with readOnlyHint=false and does not contradict any annotation. It adds the useful detail that the sketch is empty, but it does not disclose side effects such as whether a document must be open or whether the new sketch becomes the active target for subsequent sketch tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundant wording. It conveys the essential action, target resource, and parameter semantics efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter create operation with no output schema, the description is largely complete. The main missing context is the expected working state (e.g., active document) and whether the created sketch becomes active for later geometry tools, but these are not critical to invoking the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description clarifies the plane parameter by explaining that xy/xz/yz are base planes and an integer is a construction-plane index, which is meaningful given the anyOf schema. However, it gives no guidance on the 'name' parameter, leaving a gap in an otherwise low-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create') with a clear resource ('empty sketch') and location ('base plane (xy/xz/yz) or construction-plane index'). The word 'empty' and the plane focus distinguish this from sibling sketch tools like fusion_create_sketch_on_face and the geometry-drawing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context: create an empty sketch on a plane before adding geometry. However, it does not explicitly state when to choose this over fusion_create_sketch_on_face or mention any exclusions, so the guidance remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_create_sketch_on_faceA
Create a sketch ON a planar face of a body. Get the face index from fusion_list_faces (is_planar=true). Sketch coordinates are then local to that face.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| face | Yes | ||
| name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate mutation (readOnlyHint=false) and non-destructive nature. The description adds that coordinates are local to the face, which is useful. It does not disclose potential errors or side effects, but given annotation coverage, it is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no extraneous words. The key information is front-loaded: the action and prerequisite.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no output schema, the description covers purpose and a usage hint but omits details on return values and the 'name' parameter. Adequate but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description partially compensates by explaining the 'face' parameter's origin and coordinate locality. However, it does not explain the 'body' or 'name' parameters, leaving gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'create', the resource 'sketch on a planar face', and differentiates from siblings like fusion_create_sketch by specifying the face constraint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly suggests using fusion_list_faces to obtain the face index, providing a prerequisite step. However, it does not explicitly state when not to use this tool or mention alternatives beyond the implicit sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_cylinderA
Create a cylinder of height mm and radius OR diameter mm, centered
on the XY origin. Auto-creates a document if none is open.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| name | No | ||
| height | Yes | ||
| radius | No | ||
| diameter | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate openWorldHint=true and readOnlyHint=false, consistent with creating a new object. The description adds value by revealing the auto-document creation behavior, which is not apparent from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the purpose and key parameters without extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with no output schema, the description covers the core functionality and key parameters. It could improve by clarifying the x,y parameters and the interaction between radius and diameter, but is largely adequate for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description compensates by explaining height, radius, and diameter parameters and their relationship. However, it omits the x, y, and name parameters, leaving their roles unclear (though x,y default to 0, consistent with centered origin).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a cylinder with specified height and radius/diameter, centered at the XY origin. It distinguishes from other shape-creation tools like fusion_box and fusion_sphere.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions auto-creating a document if none is open, providing context on when the tool can be used without a document. However, it does not explicitly compare to sibling tools like fusion_box or fusion_revolve for alternative shape creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_delete_allADestructive
Delete every timeline feature, clearing the design. Destructive.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reinforces the destructiveHint annotation by stating 'Destructive.' and adds that it clears the design. However, it does not disclose potential irreversible effects or confirmations. With annotations already marking it destructive, the additional behavioral context is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence conveys the core purpose without unnecessary words. Every part is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and a simple destructive action, the description is mostly complete. It could mention that deletion is permanent or that the design is reverted, but current wording suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the description does not need to explain them. Baseline score of 4 is appropriate as there is nothing missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Delete every timeline feature, clearing the design.', clearly identifying the action and scope. It distinguishes from sibling tools like fusion_delete_body or fusion_delete_parameter which target specific elements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., selective deletions or undo). Only 'Destructive.' is present, which is already indicated by the destructiveHint annotation. Lacks context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_delete_bodyADestructive
Delete exactly one body and verify the resulting model state. Destructive. This does not delete sketches, features, or construction geometry.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive and non-idempotent behavior. The description adds useful context beyond annotations: it promises to 'verify the resulting model state' and specifies that it does not delete sketches, features, or construction geometry. This gives the agent a clearer picture of side effects, though it does not detail failure scenarios or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core action and outcome. Every sentence adds value: the first defines the operation and result, the second clarifies scope. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is reasonably complete for a destructive tool given annotations, but it leaves a key gap: the meaning of the 'body' parameter is unexplained, which is critical for correct invocation. It also does not address what happens if the body does not exist or how verification is performed. Without an output schema, more detail on expected outcomes would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no additional meaning for the 'body' parameter. It does not clarify whether the integer/string refers to an ID, name, or index, nor how to obtain it. The description says 'exactly one body' but that is behavioral, not semantic. The tool description fails to compensate for the schema's lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Delete exactly one body') and adds scope clarification ('This does not delete sketches, features, or construction geometry.'). While it does not name a sibling tool, the scope disclaimers effectively distinguish it from other deletion or modification tools, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: this tool deletes a single body and verifies the model state. It implicitly excludes multiple-body deletion with 'exactly one'. However, it does not explicitly name alternatives (e.g., fusion_delete_all) or state when not to use this tool, so it does not fully meet the 5-level criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_delete_parameterADestructive
Delete a user parameter by name (model parameters cannot be deleted).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true. The description confirms deletion and adds the constraint about model parameters, but does not disclose additional behavioral traits like error handling 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise, and front-loaded with the key action. It avoids unnecessary words, though a bit more detail could be added without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required param, no output schema), the description covers the main purpose and constraint. However, it lacks details on behavior when parameter doesn't exist or success/failure indicators.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema documentation coverage is 0%. The description only says 'by name' but does not explain the format, case sensitivity, or how to obtain the parameter name. The schema provides no description for 'name'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'delete', the resource 'user parameter', and adds a constraint 'model parameters cannot be deleted'. This distinguishes it from sibling tools like create_parameter or set_parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a condition (model parameters cannot be deleted) but does not explicitly guide when to use this tool over alternatives or when not to use it. It implies usage for user parameters only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_document_infoARead-only
Summarize the active document: display units, counts of bodies, components, sketches and parameters, save state, and the active component.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as read-only and non-destructive, so the bar is lower. The description adds context about what is reported (units, counts, save state, active component) but discloses no additional behavioral traits like side effects or performance characteristics. It is consistent with the readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the verb and resource ('Summarize the active document') and then lists the information items. There is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must communicate what the tool returns, and it does enumerate the key data points. It is slightly vague about the level of detail and about whether counts are recursive across the whole document, but it is sufficient for a zero-parameter summary tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the schema is an empty object with 100% coverage, so the description carries no burden of explaining parameters. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Summarize the active document' and enumerates the specific contents (units, counts of bodies/components/sketches/parameters, save state, active component). It is distinct from the list tools and getters, though it doesn't explicitly differentiate itself from the sibling 'fusion_summary'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied by the verb 'Summarize' – an agent would call this for a high-level overview. However, it provides no explicit guidance about when to choose this over alternatives like fusion_list_bodies or fusion_summary, and no when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_draftA
Apply draft to faces of a body. angle deg; pull-direction plane xy/xz/yz. faces is a list of face indices (from fusion_list_faces) or omitted for all.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| angle | Yes | ||
| faces | No | ||
| plane | No | xy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a write operation (readOnlyHint=false) with potential side effects (openWorldHint=true). The description adds context about angle units and plane selection but does not disclose failure modes or reversibility. It does not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose, second provides parameter details. No redundant information, and critical details are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 the mutation nature of the tool, the description covers essential aspects: purpose, angle, plane, and faces behavior. It does not explain return values or error conditions, but for a drafting operation this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries full burden. It explains that angle is in degrees, plane is a string (xy/xz/yz), and faces is a list of indices from fusion_list_faces or null for all. Body is not elaborated, but the description adds significant meaning to three of four parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Apply draft to faces of a body,' identifying the specific operation. It distinguishes from sibling tools like fusion_fillet and fusion_chamfer by using the verb 'draft', though it does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage hints such as angle in degrees and plane options (xy/xz/yz), and notes that faces can be omitted for all. However, it does not offer guidance on when to use draft over alternatives like fillet or chamfer, relying on implied context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_export_dxfB
Export a sketch to a 2D DXF file (e.g. for laser cutting / drawings).
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| sketch | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it's not read-only (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds no further behavioral details such as file overwrite behavior, path handling, or side effects beyond stating the export action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one short sentence) and front-loaded with essential information. However, it is slightly too brief, missing details that could be added without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 2 parameters, no output schema, and moderate complexity (file export), the description is incomplete. It does not explain file save location, return value, or prerequisites like a valid sketch. More context is needed for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only mentions 'sketch' without explaining that it's a required parameter expecting an ID or name. The 'path' parameter is entirely undocumented. No parameter semantics are conveyed beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Export a sketch to a 2D DXF file' with an example use case (laser cutting/drawings). It distinguishes itself from sibling export tools by specifying 2D DXF format and application.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for laser cutting or 2D drawings but does not explicitly state when to use this tool over other export siblings (e.g., fusion_export_stl, fusion_export_step). No exclusion criteria or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_export_f3dC
Export a native Fusion archive (.f3d), preserving the full design tree.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and openWorldHint=true, suggesting potential side effects. The description adds only that it 'preserves the full design tree' but does not disclose where the file is saved, whether it overwrites, or any other behavioral traits beyond what annotations already suggest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise and front-loaded, but it is too brief given the tool's context, lacking necessary details about parameters and usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter, no output schema, and many sibling export tools, the description only covers purpose. It fails to explain parameter behavior, return value, or provide enough context for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'path' is optional with default null, and the schema coverage is 0%. The description provides no explanation of what the path does, what happens if null, or expected format, failing to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'native Fusion archive (.f3d)', and distinguishes it from other export tools by mentioning 'preserving the full design tree', which indicates a specific use case not covered by sibling export tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a native Fusion archive is needed, but does not provide explicit guidance on when to use this tool versus alternatives like fusion_export_step or fusion_export_stl, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_export_igesA
Export the whole design to IGES (.igs). Note: IGES export is restricted on personal-use Fusion licenses — prefer STEP for CAD interchange.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the license restriction, which is a behavioral constraint, but does not explain other traits like whether it modifies the document, creates a file, or handles the path parameter. Annotations provide readOnlyHint=false and openWorldHint=true, but the description adds little beyond the restriction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two sentences with no unnecessary words. It is front-loaded with the tool's purpose and efficient in its use of space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description adequately covers purpose and usage, it is incomplete due to the lack of parameter documentation. For an export tool, understanding the path parameter is crucial. The absence of an output schema is acceptable, but the missing parameter info is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain the 'path' parameter at all. With 0% schema description coverage, the description carries the full burden of clarifying parameter semantics, but it fails to do so, leaving the agent guessing about its purpose (likely an output file path).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports the whole design to IGES format (.igs), using a specific verb and resource. It distinguishes itself from sibling export tools like fusion_export_step by mentioning the format and license restriction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: it notes that IGES export is restricted on personal-use Fusion licenses and recommends preferring STEP for CAD interchange. This helps the agent decide when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_export_stepB
Export the whole design to STEP (.step), the best format for CAD interchange.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Export the whole design', which is non-destructive and aligns with annotations (destructiveHint: false, readOnlyHint: false). However, it adds no further behavioral context such as file overwrite behavior, permission requirements, or output format details beyond the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the core function. However, it omits crucial parameter details, which would improve clarity without significantly increasing length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple export tool with one optional parameter and no output schema, the description fails to specify the meaning of the 'path' parameter or the behavior when it is null. It also lacks guidance on file destination or format specifics, making it incomplete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one optional parameter 'path' with no description, and the parameter coverage is 0%. The description does not explain the parameter's purpose or default behavior (e.g., where the file is saved if path is null). This is a significant gap given the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports the entire design to STEP format, naming the specific file extension and asserting its suitability for CAD interchange. This provides a specific verb (Export) and resource (design to STEP), distinguishing it from sibling export tools like DXF, F3D, IGES, and STL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for CAD interchange (mentioning 'best for CAD interchange') but does not explicitly state when to use this tool versus alternatives like DXF or STL. No guidance on prerequisites, exclusions, or direct comparisons with siblings is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_export_stlA
Export to STL (for 3D printing). Optional body (else whole design);
refinement low/medium/high. Saved on the host (default ~/fusion-mcp-exports).
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| path | No | ||
| refinement | No | medium |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutability (readOnlyHint=false) and potential side effects (openWorldHint=true). Description adds that it saves to the host with a default path, but does not explain file overwrite behavior or require an open document, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. Essential info is front-loaded: purpose, optional body, refinement options, and save location. Every word counts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should cover the return or outcome. It states the file is saved, which is helpful, but does not mention what the tool returns (e.g., success message, path). It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It explains 'body' and 'refinement' well, but 'path' is omitted. This partial coverage results in a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Export to STL (for 3D printing)', which is a specific verb and resource. It distinguishes from sibling export tools like export_dxf and export_f3d by format and purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions optional 'body' parameter to select a specific part, otherwise exports the whole design, and refinement levels. Does not explicitly compare with other export tools, but the context of 3D printing makes it clear when STL is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_extrudeB
Extrude a sketch profile by distance mm. operation: new/join/cut/
intersect. direction: positive/negative/symmetric. profile: index or 'all'.
| Name | Required | Description | Default |
|---|---|---|---|
| sketch | Yes | ||
| profile | No | all | |
| distance | Yes | ||
| direction | No | positive | |
| operation | No | new |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide the read-only and destructive hints, but the description itself adds little behavioral context. It does not explain that extrusion creates or modifies a 3D body, that a cut operation removes material, or what happens to the original sketch. The listed operation/direction values mostly repeat the input schema's enum rather than revealing behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact, with no filler or redundancy. It front-loads the main action and then packs the key parameter semantics into two short clauses, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five parameters, no output schema, and no schema-level descriptions, the description is too incomplete for safe autonomous use. It omits return values, prerequisites like an active sketch, whether the operation creates a new body or modifies the existing one, and how profile indices are resolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates well by explaining the distance unit (mm), profile as an index or 'all', and enumerating direction and operation choices. However, the required 'sketch' parameter is not directly explained, and the precise meaning of profile indexing remains ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb and resource: extrude a sketch profile by a distance in mm. It lists operation, direction, and profile options, making the core purpose understandable. However, it does not explicitly differentiate from related modeling tools like revolve, sweep, or loft, though the name and action make the distinction mostly implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor are there any prerequisites such as requiring an active sketch or component. The description only enumerates parameter options, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_filletA
Round edges of a body by radius mm. edges='all' (default) or a list of
edge indices.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| edges | No | all | |
| radius | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, indicating mutation. The description adds the unit (mm) and the default for edges, but does not detail if the body is modified in-place, what happens with invalid edge indices, or any side effects. This is acceptable but adds minimal value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action. No redundant words or phrases, making it highly efficient for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and low schema coverage, the description covers the key operational aspects but omits return behavior (success/failure) and the nature of the 'body' parameter. It is adequate but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the burden. It explains the unit for radius and the default/list behavior for edges, compensating well. However, the required 'body' parameter is left undefined (no type or source hint), so not all parameters are fully clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Round edges of a body by `radius` mm' uses a specific verb ('round') and clearly identifies the resource (edges of a body). It implicitly differentiates from sibling tools like fusion_chamfer, making the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., fusion_chamfer). It does not specify prerequisites, limitations, or context for edge index usage, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_fit_viewAIdempotent
Zoom/fit the view to show the whole model.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint and other traits. The description adds no behavioral context beyond what annotations state, missing details like side effects or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise and front-loaded. Every word is necessary. Zero wasted space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameter-less tool with clear annotations and a simple purpose, the description is fully sufficient. No output schema needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. Description adds no parameter information, but schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Zoom/fit the view') and the resource ('to show the whole model'). It distinguishes from sibling tools like fusion_set_view which allows custom view settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage when wanting to see the entire model, but does not explicitly state when to use versus alternatives like fusion_set_view. No exclusions or 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_get_active_componentARead-only
Return the current build target; subsequent build operations target it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds behavioral meaning by explaining that the returned value represents the target for subsequent build operations, which goes beyond the structured hints. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no fluff. The verb is front-loadedhol and every word earns its place, delivering the essential meaning in fourteen words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter getter with strong annotations, the description covers the core semantic and operational relevance. The only minor gap is the lack of an explicit return type (e.g., a component name string vs. an object), but this does not hinder correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters expeced, the schema coverage is vacuously 100%, so there is nothing for the description to clarify about inputs. The baseline of 4 applies, and no parameter-related compensation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return') and resource ('current build target'), making the tool's function immediately obvious. It clearly distinguishes from the nearby sibling fusion_set_active_component by focusing on retrieval, not modification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The text 'subsequent build operations target it' conveys the practical context: call this to know where future build-related operations will apply. It does not explicitly name alternatives or exclusions, but for a getter, the usage is intuitive and well implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_get_bodyARead-only
Detailed info for one body (by index or name): volume, area, face/edge/ vertex counts, and bounding box.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description lists returned data but adds no behavioral traits beyond that. Consistent, but no extra transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-front-loaded sentence that efficiently conveys purpose, identification method, and returned data. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explicitly lists return fields. The one parameter is fully clarified. All necessary context for a read-only retrieval tool is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. The description clarifies that 'body' can be an integer index or string name, adding essential meaning beyond the anyOf type. This compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides detailed info on a single body by index or name, listing specific properties (volume, area, counts, bbox). It distinguishes from siblings like 'fusion_list_bodies' and 'fusion_bounding_box'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when needing detailed info on one body, but does not explicitly state when not to use or contrast with alternatives. Sibling names provide that context, but the description lacks direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_get_parameterCRead-only
Get one parameter by name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what annotations already provide (readOnlyHint=true, openWorldHint=true). It doesn't explain what happens if the parameter is not found, whether caching is used, or any side effects. Given annotations already declare it read-only, the description's value is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. However, it is so brief that it sacrifices informative content. It is efficient but not optimally structured for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple but the description lacks details about return value (e.g., what is returned: value, units, metadata?). With no output schema and a low description coverage, the agent lacks essential information to interpret the tool's output. Sibling tools add context but the description itself is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description only says 'by name', adding little meaning to the 'name' parameter. It doesn't specify format, case sensitivity, or uniqueness constraints. For a required string parameter, additional guidance would help the agent construct valid inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get one parameter by name', specifying the action (Get) and the resource (parameter). It distinguishes from sibling tools like 'fusion_list_parameters' (lists all), 'fusion_set_parameter' (modify), and 'fusion_create_parameter' (create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 that for multiple parameters, one should use 'fusion_list_parameters', or that this tool is for retrieving a single parameter's value. Context signals include sibling tools that are clearly related but no exclusions or recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_get_unitsBRead-only
Get the document's default length unit.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds no further behavioral details, such as return format or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence with no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a getter with no output schema, the description should at least indicate the return value type (e.g., string for unit name). It lacks this critical detail, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description does not add any semantics about the output, which would be beneficial since there is no output schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get the document's default length unit' clearly specifies the action (get) and resource (document's default length unit), distinguishing it from sibling tools like fusion_set_units.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., fusion_set_units). Missing context about when getting units is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_ground_componentC
Ground (lock in place) or unground a component occurrence.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| grounded | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate the tool is not read-only and not destructive, but the description adds no behavioral context beyond the action. It does not mention side effects, reversibility, or how grounding interacts with other constraints. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it is too brief for a non-trivial operation. It could be expanded to include necessary details without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and two parameters, the description does not specify return values, error handling, or what constitutes grounding. The openWorldHint annotation suggests external effects, but the description does not clarify.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters with 0% description coverage. The tool description provides zero additional meaning for 'name' or 'grounded', forcing the agent to guess their semantics (e.g., what qualifies as a valid name, the effect of ungrounding).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'ground' or 'unground' and the resource 'component occurrence', distinguishing it from sibling tools like fusion_move_component or fusion_joint. However, it does not explain that grounding fixes the component in space, which is a key concept.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 fusion_joint or fusion_rigid_group. The description lacks any context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_holeA
Drill a circular hole (cut) of diameter mm at (x,y). By default it goes
through everything on plane (xy/xz/yz). For a hole on an existing body face,
pass on_body + on_face (from fusion_list_faces); (x,y) are then in that face's
local coordinates. Set depth for a blind hole.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| depth | No | ||
| plane | No | xy | |
| on_body | No | ||
| on_face | No | ||
| diameter | Yes | ||
| through_all | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds behavioral context beyond annotations: it is a cut operation, defaults to through-all, and explains local coordinates for faces. No contradiction with annotations. Could mention idempotency or return value but not required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The primary action and defaults are front-loaded, and special cases are clearly separated. Excellent structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no output schema, the description covers most key aspects. Missing explanation of the 'through_all' boolean slightly reduces completeness. Overall, it sufficiently informs usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates by explaining diameter, x, y, plane, on_body, on_face, and depth. However, it omits the 'through_all' parameter, which has a default of true and might need clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the action ('drill a circular hole'), the resource ('diameter mm at (x,y)'), and the default behavior (through everything on plane). It clearly distinguishes from sibling tools like fusion_box or fusion_cylinder by focusing on hole cutting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes default through-all behavior and provides explicit instructions for using on_body + on_face for holes on existing faces. Mentions blind holes with depth. However, does not explicitly compare to alternatives like fusion_extrude or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_interferenceARead-only
Check interference between 2+ bodies (list of indices/names); returns the overlapping volumes (mm³). Use to validate clearances/fits in an assembly.
| Name | Required | Description | Default |
|---|---|---|---|
| bodies | Yes | ||
| include_coincident_faces | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds that it returns volumes and checks interference, but does not detail behavior for edge cases like missing bodies or coincident faces. The description is consistent 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that convey purpose, input, output, and use case. Every word adds value, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 parameters and no output schema, the description adequately covers the key information: what it does, what to pass, and what is returned. Minor omission is the handling of multiple body pairs, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains that 'bodies' can be a 'list of indices/names', adding meaning beyond the raw schema. However, it does not elaborate on 'include_coincident_faces' or the format of the returned volumes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Check interference between 2+ bodies' and specifies the output 'overlapping volumes (mm³)'. It uniquely identifies this tool among siblings as the only interference-checking tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use case: 'Use to validate clearances/fits in an assembly.' While it doesn't explicitly state when not to use or compare to alternatives, the context is sufficient for a specialized tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_jointA
Create a joint between two components. type: rigid / revolute / slider / cylindrical / planar; axis (x/y/z) is the motion axis. By default it joins at the component origins; pass face_one/face_two (planar face indices on each component's first body) to mate specific faces.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | z | |
| type | No | rigid | |
| face_one | No | ||
| face_two | No | ||
| component_one | Yes | ||
| component_two | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the core behavior: creating a joint with various types and axis options. Annotations indicate it is not read-only, not idempotent, and not destructive, which aligns with the description. It adds context beyond annotations by explaining the parameter effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the purpose and then detail parameters. Every sentence adds value with no wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential aspects of creating a joint, including types, axis, and face options. However, it does not mention return values or potential error conditions, which would be helpful given there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by explaining each parameter: type (rigid/revolute/slider/cylindrical/planar), axis (x/y/z), face_one/face_two (planar face indices), and the required component names. It clarifies default values and usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a joint between two components.' It specifies the verb (Create) and the resource (joint), and lists the types and parameters. It distinguishes itself from siblings like 'fusion_as_built_joint' by focusing on creating joints with explicit types and faces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on how to use the tool, including default behavior (joins at origins) and optional face indices. However, it does not explicitly mention when not to use this tool or provide alternatives beyond the implicit presence of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_appearancesARead-only
List available appearance names (optionally filtered by substring).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| filter | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, indicating safe read operation. The description adds no further behavioral context beyond what annotations provide. It does not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Purpose is front-loaded. Every part is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple (two optional params, no output schema). Description implies return type (list of names). Annotations cover safety. Slightly less than perfect because no hint about pagination or limit behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but description adds meaning to 'filter' parameter ('optionally filtered by substring'). However, 'limit' parameter is not explained. Baseline 3 is appropriate given partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists available appearance names with optional substring filtering. It uses specific verb 'list' and resource 'appearance names', and distinguishes from sibling tool 'fusion_set_appearance' which sets appearances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Among many listing tools (list_bodies, list_components, etc.), no differentiation is provided. The description does not mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_bodiesARead-only
List all solid/surface bodies with index, name, volume (mm³), and bounding box (mm). Use the index or name to target a body in other tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint: true and destructiveHint: false, so safety is clear. The description adds value by detailing return fields (index, name, volume, bounding box) beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the purpose and add a usage hint. No extraneous words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description explicitly states the returned data (index, name, volume in mm³, bounding box in mm) and provides context for using the output. Complete for a listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100% trivially. The description does not need to explain parameters; the baseline for 0 parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all solid/surface bodies with specific attributes (index, name, volume, bounding box), and distinguishes itself from siblings like fusion_get_body (single body) and fusion_list_faces (faces) by specifying the output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that the output index or name can be used to target a body in other tools, providing clear usage context. It doesn't explicitly state when not to use it, but the read-only nature and listing purpose are well communicated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_componentsARead-only
List all components in the design with their body counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds that the tool returns body counts, which is behavioral context beyond the annotations. However, it does not disclose any potential limitations (e.g., whether it includes nested components).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the key action and result. It contains no unnecessary words and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description only mentions 'body counts' without specifying the structure (e.g., list of component names with counts, hierarchical status). This leaves some ambiguity about the return format, making it moderately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With no parameters and 100% schema coverage, the description does not need to add parameter details per the baseline rule (0 params = baseline 4). The description focuses on the output, which is acceptable for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list', the resource 'components', and the specific information 'with their body counts'. This distinguishes it from sibling tools like fusion_list_bodies (which list bodies, not components with counts) and other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 when not to use it or compare to similar list tools like fusion_list_occurrences or fusion_list_features, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_documentsARead-only
List all open Fusion documents with their active / modified / saved state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already list readOnlyHint=true and destructiveHint=false, covering the read-only safety profile. The description adds useful context about what it returns (state per document), which goes beyond annotations, but does not disclose any extra behaviors like possible slowdowns or filtering semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence front-loads both the action ('List') and the object ('open Fusion documents'), with the state detail appended. No filler, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters and no output schema; the annotations cover the read-only nature. The description includes the key return concept (state), which is enough for basic usage. It could be slightly richer by saying exactly how the return is structured (e.g., an object per document), but for a simple list operation this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics to clarify. With schema description coverage already at 100%, there is nothing for the description to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and a clearly scoped resource ('all open Fusion documents'), and it names the returned data ('active / modified / saved state'). This distinguishes it from siblings like fusion_document_info or fusion_list_projects with sufficient precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied: it is for enumerating open documents. However, there is no explicit mention of when to choose this over alternatives like fusion_document_info, and no exclusion or context such as 'when you need a list of all documents'. The purpose is clear but the guidance is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_edgesARead-only
Enumerate one body's edges for selective operations. Returns a topology snapshot plus index, curve type, length, points, radius when circular, and adjacent face indices/types for each edge.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds valuable behavioral context by enumerating exactly what the topology snapshot includes: index, curve type, length, points, radius when circular, and adjacent face indices/types, which is beyond what the schema or annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, leading with the primary action and purpose, then listing the output contents in a compact second sentence. Every part earns its place and no unnecessary fluff is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The returned fields are clearly listed, which helps compensate for the lack of an output schema. However, the description does not explain the body parameter's accepted formats, which is a critical gap given the schema provides no parameter descriptions. The tool is otherwise reasonably self-contained for a read-only enumeration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not clarify how the 'body' parameter should be specified—whether integer index, string ID, name, or path. The only hint is the phrase 'one body's edges', which does not explain accepted value formats or how to resolve a body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb ('Enumerate') and resource ('one body's edges'), and frames the use case as preparing for selective operations. It is distinct from likely siblings like fusion_list_faces by the resource type, but it does not explicitly name or contrast any sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for selective operations' gives a reasonable hint that this tool should be used when you need to choose edges for a downstream operationcars. However, it does not explicitly explain when not to use it, nor does it recommend alternatives such as fusion_list_faces or fusion_get_body.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_facesARead-only
List a body's faces (index, area mm², is_planar, centroid, normal). Use a planar face's index to sketch/drill on it (fusion_create_sketch_on_face, fusion_hole with on_body/on_face).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, destructiveHint=false. Description adds details about output properties and usage hints. No contradictions; description enriches 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states action and output, second gives usage guidance. No wasted words, well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, description provides output properties and usage context. However, parameter details are missing, which is a gap given low schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet description does not clarify the 'body' parameter format (integer or string) or how to identify the body. Only mentions 'body' without additional semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists faces of a body and specifies returned properties (index, area mm², is_planar, centroid, normal). It also provides downstream usage examples, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (list faces) and references specific downstream tools (fusion_create_sketch_on_face, fusion_hole). Lacks explicit exclusions or alternatives but provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_featuresARead-only
List timeline features in creation order.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a safe, read-only operation (readOnlyHint=true, destructiveHint=false). The description adds the behavioral detail that features are listed 'in creation order,' which is not covered by annotations. However, it does not specify whether suppressed features are included or what properties are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence, with no wasted words. It is front-loaded with the key action. However, it could be slightly expanded to clarify the output format without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of a zero-parameter list tool and no output schema, the description is minimally complete. It states what is listed and the order, but does not mention what fields the returned features contain or if there are any limitations (e.g., only active features). Additional details would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the input schema is empty and has 100% coverage. The description does not need to explain parameters. The baseline score for zero-parameter tools is 4, and the description adds no extra meaning beyond the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List'), the resource ('timeline features'), and the ordering ('in creation order'). This distinguishes it from sibling tools like fusion_list_bodies or fusion_list_components, which list different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating what the tool does, but provides no explicit guidance on when to use it versus alternatives or when not to use it. The context is straightforward, but adding a note about checking feature existence or limitations would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_jointsARead-only
List joints (name, type), plus as-built-joint and rigid-group counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, so the description's contribution is limited to specifying the returned data (name, type, counts). This adds some behavioral context beyond annotations. However, it does not mention potential side effects, error conditions, or scope (e.g., all joints in document).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that conveys the essential information without any wasted words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description tells the agent what it will receive (joint names, types, and counts). It is adequate for a simple listing tool. However, it could be improved by specifying the scope (e.g., all joints in the current document) and any limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100% (empty schema). The description accurately reflects that no parameters are needed. Since no parameter documentation is required, a baseline score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists joints with their name and type, and also provides counts for as-built-joints and rigid-groups. It identifies the resource (joints) and the specific fields returned. However, it does not explicitly differentiate from sibling tools like fusion_joint (which likely creates/modifies joints) or fusion_rigid_group, though the mention of counts hints at additional context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. Given the presence of sibling tools like fusion_joint, fusion_as_built_joint, and fusion_rigid_group, explicit usage context would help the agent decide correctly. The description only states what it does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_occurrencesARead-only
List component occurrences: name, grounded, visible, body count.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds minor context about the fields returned, but does not disclose any additional behavioral traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource, no extraneous words. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of a no-parameter list tool, the description is adequate but could be more complete by specifying the scope (e.g., current design or assembly). Lacks details about return format or any constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the description does not need to provide parameter details. Baseline for 0 parameters is 4, and the description offers no further parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'List' and resource 'component occurrences', and lists the included fields (name, grounded, visible, body count), making it specific and distinct from sibling list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 the many other list tools (e.g., fusion_list_components, fusion_list_bodies). Usage is implied only by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_parametersARead-only
List all parameters (user + model) with expression, value, and unit.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so transparency is adequate. The description does not add further behavioral context, such as whether an active document is required or how output is formatted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no wasted words, providing all necessary information concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description is mostly complete. However, mentioning required context (e.g., an open Fusion document) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema description coverage is 100%. The description does not need to add parameter semantics; baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all parameters (user + model) with expression, value, and unit. It uses specific verbs and resource, and distinguishes from sibling tools like fusion_get_parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to view all parameters, but provides no explicit guidance on when to use this tool versus alternatives like fusion_get_parameter or fusion_create_parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_projectsARead-only
List the Fusion projects a document can be saved into, and which one is active (where fusion_save_document / _as put a never-saved document).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds value by explaining the tool's role in the save workflow and what 'active' means. It also discloses the connection to fusion_save_document / _as, which is helpful behavioral context not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, grammatically complete, and front-loads the core function. Every word serves a purpose, and the clarification about active project is integrated smoothly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, zero-parameter tool with no output schema, the description is complete: it explains the tool's purpose, its relevance to save operations, and the active project concept. No additional information is needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parametersaine the schema is trivial. The description fully covers what the tool does without needing parameter explanations; there is nothing missing in this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Fusion projects a document can be saved into and identifies which is active. It uses specific verbs and resources ('project', 'active'), and distinguishes its purpose from related save tools by explaining how it relates to saving.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly conveys usage context: to check available projects before saving a never-saved document. It does not explicitly exclude alternatives, but given the zero-parameter nature and clear function, the context is sufficient for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_sketchesARead-only
List sketches with index, name, and number of closed profiles.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds that it returns specific fields but does not disclose further behavioral traits like scope or ordering. Annotations cover the safety profile, so additional context is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states the tool's purpose and output. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool with no output schema, the description adequately specifies what is returned. Minor missing context includes scope (e.g., current document) but is not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so per guidelines the baseline is 4. The description correctly does not add parameter information since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List', resource 'sketches', and the specific fields returned (index, name, number of closed profiles). It adequately distinguishes from sibling creation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 vs alternatives, such as when to list sketches vs other listing tools. The agent receives no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_list_threadsBRead-only
Inspect thread features in the active or named component without modifying it.
| Name | Required | Description | Default |
|---|---|---|---|
| component | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint and destructiveHint, so the description's 'without modifying it' adds little beyond that. It does add the scope of 'active or named component', which is useful context, but it does not describe return format, pagination, or any thread-specific details. The description is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action ('Inspect thread features') and adds scope efficiently. Every word earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with one optional parameter and annotations covering safety, the description is largely complete. It specifies the scope and the read-only nature, and the lack of an output schema is mitigated by the fact that the operation is inspection. However, it does not describe the structure of the returned thread data, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the parameter 'component' has no schema description. The description clarifies that 'component' can refer to the active or a named component, giving meaning beyond the raw schema (string or null). However, it doesn't specify the expected format (name, ID, path) or behavior when null, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb-resource pair: 'Inspect thread features' and adds the scope 'in the active or named component'. This distinguishes it from general feature lists like fusion_list_features and from thread creation (fusion_thread). It doesn't name a specific sibling, but the purpose is unambiguous and not a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. It implies read-only inspection via 'without modifying it', but does not mention when to use fusion_thread for thread creation or fusion_list_features for a broader feature list. The agent must infer usage from the name and limited description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_loftA
Loft a smooth solid between profiles taken from a list of sketch indices/ names (>=2), in order. Each sketch should contain one closed profile.
| Name | Required | Description | Default |
|---|---|---|---|
| sketches | Yes | ||
| operation | No | new |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful behavioral constraints beyond the sparse annotations: ordering matters, profiles must be closed, and the result is a smooth solid. However, it does not explain the behavior of the operation enum (new/join/cut/intersect) or what happens when a profile is open, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler. The required input rule is stated immediately after the verb, and the additional constraint is separated cleanly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the required parameter and core behavior, but with no output schema it leaves the operation parameter's effects and error/edge-case behavior unspecified. For a modeling operation, this is a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden. It adds real meaning to 'sketches' (indices/names, >=2, in order, closed profiles), but it says nothing about the optional 'operation' parameter beyond its enum values, which the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Loft a smooth solid between profiles taken from a list of sketch indices/names (>=2), in order.' This clearly differentiates it from other modeling operations like extrude, revolve, or sweep, and states the core input condition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear call context: require at least two sketches, pass them in order, and each sketch must contain one closed profile. It does not explicitly name alternatives or exclusions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_measure_angleARead-only
Angle (degrees) between the first faces of two bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| body_a | Yes | ||
| body_b | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, making the non-destructive nature clear. The description adds that it returns degrees but does not clarify behavior for bodies with no faces or how 'first faces' are determined, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with a single sentence, no redundancy. However, it sacrifices detail for brevity, earning a high but not perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and no output schema, the description is somewhat complete for basic understanding but lacks details on parameter types, units, and edge cases. It meets the minimum viable bar.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'two bodies' but does not explain that body_a and body_b can be integer IDs or string names. With 0% schema description coverage, the description adds minimal value beyond the parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool measures the angle between the first faces of two bodies, which is a specific verb and resource. It distinguishes itself from sibling tools like fusion_measure_distance by specifying angle rather than distance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when an angle measurement is needed, but does not provide explicit guidance on when to use this tool over alternatives (e.g., fusion_measure_distance) or conditions like body face availability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_measure_distanceBRead-only
Minimum distance in millimetres between two bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| body_a | Yes | ||
| body_b | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, nondestructive, open world. Description adds that it returns distance in millimeters, but lacks details on error handling or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Perfectly concise for the simplicity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple read-only measurement tool, but missing details on parameter types (integer/string) and return behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, description adds no meaning for 'body_a' and 'body_b'. Does not clarify if they are IDs, names, or selection strings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (measure distance) and resource (two bodies), and distinguishes from sibling 'fusion_measure_angle'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, prerequisites, or alternatives. Leaves agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_mirrorB
Mirror a body across plane xy/xz/yz.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| plane | No | xy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it's not read-only (readOnlyHint false) and not destructive (destructiveHint false), but the description adds no additional behavioral context, such as whether the original body is preserved or if a new body is created.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that efficiently conveys the core purpose. No unnecessary words, though slightly more detail could be added without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with few parameters and no output schema, the description is somewhat adequate but missing details like the effect (mirror copy vs transform) and behavior in model history.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains the plane parameter by listing options (xy/xz/yz) but does not clarify the 'body' parameter type or how to select it. Minimal added value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 target (a body) and specifies the available planes (xy/xz/yz). It distinguishes from sibling tools like fusion_move_body or fusion_scale_body.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (to mirror a body) but does not provide explicit guidance on when not to use it or suggest alternatives. No mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_move_bodyA
Translate a body by (dx, dy, dz) millimetres.
| Name | Required | Description | Default |
|---|---|---|---|
| dx | No | ||
| dy | No | ||
| dz | No | ||
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate the tool modifies data (readOnlyHint false) but is not destructive. The description adds the unit 'millimetres' but does not disclose coordinate system, assembly effects, or whether movement is relative or absolute. Annotations already cover safety profile, so description adds minimal 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the operation and no output schema, the description covers the basic purpose and units. However, it could be more complete by mentioning coordinate system or document scope. It adds value beyond annotations and schema but is slightly minimal for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It clarifies that dx, dy, dz are displacements in millimetres, which is helpful. However, it does not explain the 'body' parameter (identifier type or format) or whether displacements are relative or absolute, leaving significant gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Translate' and the resource 'a body' with the unit 'millimetres'. It effectively distinguishes itself from sibling tools like fusion_move_component or fusion_scale_body by specifying the action on a body.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 fusion_move_component for moving components. It lacks prerequisites, error conditions, or context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_move_componentB
Translate a component occurrence by (dx, dy, dz) millimetres.
| Name | Required | Description | Default |
|---|---|---|---|
| dx | No | ||
| dy | No | ||
| dz | No | ||
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a write operation (readOnlyHint false) with no destruction; the description adds that it translates in millimetres, but lacks details on side effects or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single-sentence description is very concise and front-loaded, but could be slightly expanded to include parameter context without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool without output schema, the description omits critical context like the meaning of 'name', required units, and behavior when values are zero.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fails to explain the 'name' parameter or the expected values for dx, dy, dz beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it translates a component occurrence by specified displacements, distinguishing it from sibling tools like fusion_move_body which moves bodies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 fusion_move_body or other transformation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_new_documentA
Create a NEW empty Fusion design document.
Prefer NOT calling this. If a document is already open, build in THAT one — several parts belong in ONE document as separate components (fusion_create_component). Stray documents pile up and only the user can close them by hand.
Set confirm=true only when the user explicitly asked for a new document/project, or when nothing is open at all (then it is a no-op flag). Without confirm the call is refused while any document is open.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate non-read-only and non-destructive, but the description adds critical behavior: the call is refused while any document is open unless confirm=true, and it warns about stray documents piling up. It discloses the guard and the side-effect of creating extra documents beyond what annotations cover, giving a complete picture of the tool's runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, followed by concise guidance on when not to call and when to set confirm. Every sentence earns its place: the warning about stray documents, the guard explanation, and the alternative. It is structured logically and is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema tool, the description covers everything an agent needs: what it does, when to use it, when not to, the confirm flag semantics, and the guard. It also mentions the alternative and the consequence of misuse. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the full burden. It explains the confirm parameter in detail: when to set true (user explicitly asked, or nothing open), when it is a no-op, and the refusal condition if confirm=false with an existing document. This goes well beyond the bare boolean schema and fully clarifies usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Create a NEW empty Fusion design document.' It clearly differentiates itself from fusion_create_component by urging the agent NOT to call it when a document is already open, pointing to the alternative. This makes its purpose unambiguous and distinct from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit guidance: 'Prefer NOT calling this' and explains when to use it (user explicitly asked for a new document/project, or nothing is open). It also names the alternative (fusion_create_component) and explains the guard for confirm=true versus false. There is no ambiguity about when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_offset_facesB
Offset faces of a body by distance mm (creates an offset surface body).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| faces | No | ||
| distance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false. The description adds that the tool 'creates an offset surface body', which is useful but does not clarify whether the original body is modified or if the tool requires specific selection. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with key information. However, it may be too brief given the tool's complexity and the lack of parameter details. It is neither verbose nor overly concise; it minimally serves its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters, no output schema, and no parameter descriptions, the description lacks completeness. It does not specify return values, side effects, units (mm is mentioned but not enforced), or behavior when 'faces' is null. Essential usage context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description bears full responsibility. It mentions 'body' and 'distance' in the text but does not explain the optional 'faces' parameter or provide formatting details. For example, it's unclear if 'null' for faces offsets all faces.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('offset faces'), the target ('body'), the parameter ('distance mm'), and the result ('creates an offset surface body'). It distinguishes this from sibling tools like fusion_offset_plane or fusion_extrude by specifying face offsetting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as fusion_surface_thicken or fusion_shell. The description simply states what it does without providing context on prerequisites or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_offset_planeA
Create a construction plane offset from a base plane (xy/xz/yz) by
offset mm. Returns its index for use as a sketch plane.
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | xy | |
| offset | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (which indicate non-read-only, non-destructive), the description adds that the tool returns an index for sketch plane usage. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with clear purpose and return value; no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description adequately explains functionality, parameters, and return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description adds value by clarifying that 'base' can be 'xy', 'xz', or 'yz' and that 'offset' is in mm, supplementing the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates a construction plane offset from a base plane by a specified offset in mm. It distinguishes from other tools by specifying it returns an index for use as a sketch plane.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for creating offset construction planes but does not provide explicit when-to-use or when-not-to-use guidance or compare with alternatives like creating sketches directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_physical_propertiesARead-only
Mass (g), volume (mm³), area (mm²), density, and center of mass for a body (by index/name) or the whole design if omitted. Also reports material name, material source, assignment scope, and whether material evidence was verified.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only and non-destructive; the description adds useful behavioral context by listing material metadata and the verification flag, while making the default whole-design behavior explicit. No annotation contradiction 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences front-load the core outputs with units, then add body selection and material-reporting scope. Every clause adds information; there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-parameter read-only query with no output schema, the description covers the target selection, all returned property groups, and units. The safety profile is already carried by annotations, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates for the opaque body parameter: it clarifies the integer/string selector as index or name and documents the null/default behavior as 'whole design'. This is exactly the meaning the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (physical properties of a body or whole design) and enumerates the output fields with units, so an agent can tell this apart from spatial measurement or bounding-box tools. It lacks an explicit verb like 'returns' or 'calculates' and does not name sibling tools, so it lands just below the top tier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when mass, volume, area, density, or material evidence is needed and provides a clear body-selection rule (by index/name or omitted for whole design). It gives no explicit exclusions or alternative tools, such as directing dimension-only queries to fusion_bounding_box or fusion_measure_distance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_rectangular_patternA
Pattern a body in a line along axis x/y/z: count copies, spacing mm apart.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | x | |
| body | Yes | ||
| count | Yes | ||
| spacing | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-readOnly and non-idempotent behavior. The description adds specific behavioral context: it creates copies of a body along an axis. However, it doesn't mention potential side effects or output, which is acceptable for a creation tool. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the purpose and key parameters. Every word earns its place, with no redundancy or unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple (4 params, no output schema). The description covers the purpose, axes, and key parameters. It might benefit from mentioning that 'body' can be an integer or string, but that is in the schema. Overall, it provides sufficient context for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description bears full burden. It explains 'count' as number of copies, 'spacing' as mm apart, and axis as x/y/z. 'body' lacks additional context but is self-explanatory. The description adds significant meaning for most parameters, compensating well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it patterns a body in a line along axes x/y/z, with specific parameters for count and spacing. It effectively distinguishes itself from sibling tools like fusion_circular_pattern by specifying 'in a line'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for linear patterns and axes. While it doesn't explicitly state when not to use or mention alternatives, the context of sibling tools (especially fusion_circular_pattern) provides clear differentiation. Lacks explicit exclusion but is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_redoA
Redo the last undone operation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate that the tool is not read-only and not destructive. The description adds minimal behavioral context; it does not mention what happens if there is no undo history or other 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that effectively communicates the tool's purpose with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (no parameters, no output schema), the description is mostly complete. However, it could mention that redo requires a prior undo action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and the schema coverage is 100%. With zero parameters, baseline is 4, and the description adds no additional param info, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool redoes the last undone operation, using a specific verb 'redo' and resource 'last undone operation'. It distinguishes itself from the sibling 'fusion_undo'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It is implied that it is used after an undo, but no explicit when-not-to-use or prerequisite conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_rename_bodyCIdempotent
Rename a body.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint: true and destructiveHint: false, which the description does not contradict. However, the description adds no behavioral context beyond what annotations already state, missing opportunities to explain side effects or requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At three words, the description is extremely concise but at the expense of necessary detail. It is under-specified for a tool with two required parameters and no schema descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no parameter descriptions, and a minimal description, the tool is insufficiently documented for an agent to use correctly. The description fails to compensate for the lack of structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% parameter description coverage, and the description does not explain what the 'body' or 'name' parameters represent or what formats they accept. This leaves the agent with no semantic understanding of the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Rename a body' clearly states the verb (rename) and the resource (body). It distinguishes from siblings like delete_body or move_body, though it doesn't elaborate on what constitutes a 'body' in Fusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no context on prerequisites or typical scenarios. The description lacks any usage recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_revolveC
Revolve a sketch profile around axis x/y/z by angle degrees.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | z | |
| angle | No | ||
| sketch | Yes | ||
| profile | No | all | |
| operation | No | new |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations show this is a mutating, non-idempotent operation, and the description 'Revolve a sketch profile' is consistent. However, it does not disclose what happens to the document (new feature created, existing body modified) or what the operation enum controls, leaving the agent unaware of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the verb and key modifiers, no redundant content. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter CAD mutation with no output schema, the description lacks essential context: effect of operation modes, what bodies are affected, return behavior, and interplay with the active document/component. Incomplete for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description's mention of x/y/z axes and angle in degrees is helpful, and 'sketch profile' maps to sketch/profile. But it fails to explain the operation parameter (new/join/cut/intersect) or profile='all', so parameter semantics remain under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action 'Revolve' with the resource 'sketch profile' and specifies the axis and angle, making the operation clear. It distinguishes from siblings via the unique revolve verb, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement about when to choose this over extrude/sweep/loft, nor any prerequisites or exclusions. The need for a sketch profile is only implicit, so the agent gets no decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_rigid_groupB
Lock 2+ components together as a rigid group (pass a list of names).
| Name | Required | Description | Default |
|---|---|---|---|
| components | Yes | ||
| include_children | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false. The description confirms a write operation ('lock') and non-destructive nature. However, it does not disclose side effects on existing constraints or behaviors like re-locking already grouped components.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with action and condition. Concise but could be more structured with bullet points or separate lines for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing details on what happens to existing joints or constraints when grouping, behavior of 'include_children', and effect on component transformations. Without output schema, the description should clarify return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It adds meaning for 'components' ('pass a list of names') but does not explain 'include_children' (default true). No details on allowed items in the array.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('lock'), the resource ('components'), and the condition ('2+ components', 'as a rigid group'). It differentiates from sibling tools like 'joint' and 'ground_component' by specifying rigid grouping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool over alternatives. It does not mention exclusions or prerequisites. The description implies use for rigid grouping but lacks comparison to joints or grounding.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_rotate_bodyA
Rotate a body by angle degrees (right-hand rule) about an axis through
a point. axis: "x"/"y"/"z" or a free direction vector [i, j, k].
origin: [x, y, z] in millimetres, defaults to the world origin. Use this to
build inclined geometry that revolve/extrude alone cannot produce.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | z | |
| body | Yes | ||
| angle | Yes | ||
| origin | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already covering read-only/destructive/idempotent aspects, the description adds useful behavioral detail: the right-hand rule convention, axis can be a named axis or free vector, and origin defaults to the world origin. This goes beyond the schema and annotations to clarify how the rotation is interpreted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core operation. Every sentence adds value: the first defines the rotation, the second documents axis and origin, and the third gives a purpose. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 0% schema coverage and no output schema, the description handles most of the essential calling context: coordinate conventions, default origin, units, and intended use case. The only notable gap is the undocumented required `body` parameter, but the rest is sufficiently complete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must carry the burden. It does so for three of four parameters: angle is in degrees, axis accepts 'x'/'y'/'z' or a free vector, and origin is in millimetres with a default. However, the required `body` parameter is not explained at all, leaving ambiguity about whether it expects an ID, name, or index.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: 'Rotate a body by `angle` degrees' about an axis through a point. It distinguishes this from extrusion/revolve by noting it builds inclined geometry those operations cannot produce, which also separates it from sibling modeling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly gives a use case: 'Use this to build inclined geometry that revolve/extrude alone cannot produce.' It provides concrete context for when to choose this tool, though it does not explicitly mention alternatives like move_body or exclude cases where a different transform would be better.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_save_documentAIdempotent
Save a document (the active one unless document names another open one).
A never-saved document is saved into the active Fusion project automatically
(optionally under name / into project), so no interactive dialog is needed.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| project | No | ||
| document | No | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotent and not read-only, but the description adds valuable behavioral details: it eliminates the need for an interactive dialog and explains that unsaved documents are automatically saved into the active project. This goes beyond the structured annotations by clarifying the save flow. It does not contradict any annotations, and it provides context that helps the agent anticipate side effects (e.g., overwriting without prompt).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, tightly packed with relevant information. The core action ('Save a document') is front-loaded, followed by scope clarification and key behavioral notes. No extraneous words, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderately complex tool (4 optional params, no output schema), the description covers the main purpose and parameter semantics for three params. Missing details include the behavior for already-saved documents (idempotent implies overwriting, but not explicitly stated), the purpose of the `description` parameter, and any potential error conditions or prerequisites (e.g., must have a document open). The description is sufficient for basic use but not fully complete for edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description is the sole source for parameter meaning. It explains three of the four parameters: `document` (targets another open document), `name` (optional filename override), and `project` (optional project override). The `description` parameter is left unexplained. Considering the 0% coverage, the description compensates well for most parameters but leaves a gap for `description`.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action: 'Save a document' with the scope 'the active one unless `document` names another open one'. This distinguishes it from a generic save tool and hints at the ability to target a specific open document. It does not explicitly contrast with the sibling fusion_save_document_as, but the behavior of saving automatically without a dialog is unique, making the purpose stand out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives some usage context: it states that never-saved documents are saved automatically into the active project, and that `name` and `project` can optionally override defaults. However, it does not explicitly mention when to use this tool over `fusion_save_document_as` or other alternatives, nor does it provide conditions like 'use this for in-place saves' or 'use save_as for a new file version'. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_save_document_asA
Save a document as a NEW file called name (in project, else the active
project). Use this to keep the original untouched. The current bridge confirms
the document and project but does not return a reopenable version identifier.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| project | No | ||
| document | No | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the operation is not read-only or destructive. The description adds useful behavioral context: the bridge confirms the document and project but does not return a reopenable version identifier, revealing a limitation. It does not contradict annotations and provides extra transparency beyond the annotated flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, three sentences, with no fluff. It front-loads the main action, explains the use case, and then notes a limitation. Each sentence adds information, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a save-as tool with no output schema, the description covers the essential: what it does, where it saves, and a key limitation (no reopenable ID). It does not describe the return value or error conditions, but given the simplicity of the operation and the annotations, the information provided is sufficient for most use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explains `name` and `project` (including defaulting behavior) but leaves `document` and `description` unexplained. This is partial compensation; half the parameters lack semantic context, so the description does not fully bridge the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Save a document as a NEW file called `name`'. It specifies the resource (document) and the intent to create a new file, distinguishing it from the sibling fusion_save_document. It also clarifies the project context, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use case: 'Use this to keep the original untouched.' This implies when to use it versus saving in place. It does not explicitly name the alternative tool, but the phrase 'keep the original untouched' contrasts with a normal save. The limitation about not returning a reopenable identifier further clarifies expectations, providing solid guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_scale_bodyB
Uniformly scale a body by factor about the origin (2.0 doubles its size).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| factor | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutability (readOnlyHint false) and non-destructiveness, but the description adds the specific behavior of uniform scaling about the origin. However, it does not disclose side effects, reversibility, or constraints with other features.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the main action and includes an illustrative example. It is efficient but could be slightly more detailed without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mutation tool, the description covers the basic operation but lacks information on expected input values, error conditions, or output. Given no output schema and simple parameters, it is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should compensate. It explains the 'factor' parameter with an example, but gives no meaning for the 'body' parameter, leaving ambiguity about its type (body ID or name).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'scale' and the resource 'body', and provides a specific example (2.0 doubles its size). It uniquely identifies the tool's function among siblings, which include move, delete, and other operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like move_body or other transformations. There are no prerequisites or context about when scaling is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_screenshotBRead-only
Capture the active Fusion viewport and return it as a PNG image so you can visually inspect the model. Set fit=False to keep the current camera.
| Name | Required | Description | Default |
|---|---|---|---|
| fit | No | ||
| width | No | ||
| height | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's claim of capturing a viewport is consistent and non-contradictory. The description adds that the output is a PNG image, but does not disclose any further behavioral traits such as auth requirements, rate limits, or what happens if the viewport is empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the purpose and then providing a key usage hint. No unnecessary words. Slightly more detail on width/height could be added without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and 3 poorly documented parameters. The description mentions the return type (PNG image) but fails to specify the return format (e.g., base64, URL) or how the agent should process it. For a simple tool, this is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It only explains the fit parameter ('Set fit=False to keep the current camera'), leaving width and height completely undocumented. The agent cannot infer what these parameters control without external knowledge.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Capture', the resource 'active Fusion viewport', and the outcome 'return it as a PNG image'. It unambiguously distinguishes this from siblings which mostly deal with feature creation, modification, or inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides one usage hint about the fit parameter but does not explicitly state when to use this tool versus alternatives. Since no other screenshot tool exists among siblings, the guidance is adequate but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_set_active_componentA
Set the build target for subsequent sketch, primitive, and feature operations.
Use root to reset targeting to the root component.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | root |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=false, so mutation is expected. The description adds important stateful context: it establishes a persistent build target that affects later operations and explains how to reset with 'root'. This goes beyond the annotations and makes the side effect explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The core purpose and the critical reset convention are both stated with minimal words and maximum signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter stateful setter with no output schema, the description covers the essential semantic and behavioral information. An agent knows what it does, how to reset it, and what it affects. It could mention verifying current target via get_active_component, but that is not strictly required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is no parameter description, so the description must compensate. It explains the special value 'root' and implies the name parameter refers to a component name, but it does not clarify valid name formats, nested component references, or failure behavior. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Set') and resource ('build target') and clearly states which downstream operations are affected ('subsequent sketch, primitive, and feature operations'). This differentiates it from the sibling fusion_get_active_component by verb and intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates when to use the tool: before sketch, primitive, or feature operations, when those should target a non-root component or reset to root. It does not explicitly name alternatives or exclusions, but the context is strong enough for an agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_set_appearanceAIdempotent
Apply an appearance (by name) to a body. Use fusion_list_appearances to discover valid names (e.g. 'Steel', 'Aluminum', 'ABS').
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds no further behavioral context, such as handling of invalid names or bodies, or side effects. Minimal additional value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action, no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately conveys the core functionality and direction to discover valid names. However, it lacks information on error handling, return values, or case sensitivity, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not elaborate on the parameters beyond their names. Parameters are simple but no added meaning to aid the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (apply), the resource (appearance), and the target (body). It distinguishes itself from sibling tool fusion_list_appearances, which is for discovering valid names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises to use fusion_list_appearances to discover valid names, providing clear guidance on when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_set_body_visibleCIdempotent
Show or hide a body.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| visible | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate mutation (readOnlyHint=false), non-destructiveness (destructiveHint=false), and idempotency (idempotentHint=true). The description adds no additional behavioral context, so score is baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief (one sentence) and front-loaded, but it sacrifices necessary detail; not an example of effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and many sibling tools, the description is insufficiently complete. It omits return value, parameter details, and usage context, leaving gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description provides no explanation for the two parameters: 'body' (what format? ID or name?) and 'visible' (what values mean?). This leaves the agent guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Show or hide a body' uses a specific verb ('show or hide') and resource ('body'), clearly distinguishing it from siblings like 'fusion_delete_body' or 'fusion_move_body'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool instead of alternatives (e.g., deleting or moving a body), nor about prerequisites (body must exist). With many sibling tools, this lack of context reduces usefulness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_set_parameterAIdempotent
Set a parameter's expression, e.g. '25 mm' or 'width * 2'. This is the preferred way to resize an existing parametric model.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| expression | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true, openWorldHint=true, and readOnlyHint=false. The description adds that it modifies a parameter's expression, consistent with annotations, but does not elaborate on side effects or error handling. It provides moderate additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. First sentence defines action with examples, second sentence provides usage guidance. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and strong annotations (idempotent, open world), the description covers the core purpose and preferred usage. It could mention that the parameter must exist, but overall it is sufficiently complete for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description partially compensates by giving example expressions and indicating that 'name' refers to a parameter. However, it does not explain valid name sources or expression syntax details, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets a parameter's expression, provides examples like '25 mm' or 'width * 2', and positions it as the preferred way to resize an existing parametric model, distinguishing it from sibling tools like fusion_create_parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies this is the preferred way to resize an existing parametric model, giving clear context for when to use it. However, it does not explicitly mention when not to use it or provide alternative tools for other scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_set_unitsAIdempotent
Set the document's display length unit: mm/cm/m/in/ft. (Note: tool inputs are always in millimetres regardless of this display setting.)
| Name | Required | Description | Default |
|---|---|---|---|
| units | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds important note about tool inputs being always in millimeters, which is beyond annotations. Lists valid units. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: one short sentence plus parenthetical note. No fluff, front-loaded with action and values.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Fairly complete for a simple one-parameter tool; covers purpose, valid values, and an important behavioral note. Does not explain error handling or persistence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, description lists valid units but does not specify exact string format (e.g., 'mm' vs 'millimeter'). Partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Set the document's display length unit' with a list of valid units. Distinguishes from sibling 'fusion_get_units'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use versus not use. Implicit from name and sibling, but lacks context-specific advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_set_viewAIdempotent
Set a named camera orientation: home/iso/top/bottom/front/back/left/right.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | iso |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and destructiveHint=false. Description does not add behavioral context beyond the action itself; no mention of effects on selection, zoom, or idempotent behavior. However, for a simple set operation, this is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence with no redundancy; all information is front-loaded and useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no output schema), the description completely covers what the tool does and what parameters are expected. No missing details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has one parameter 'name' with no description or enum, and 0% schema description coverage. Description explicitly lists the nine valid values (home/iso/top/bottom/front/back/left/right), which is essential for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (set) and resource (camera orientation), lists nine named orientations, and distinguishes from sibling tools like fusion_fit_view (which fits view to objects) and fusion_screenshot (captures view).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for switching to named views but does not explicitly state when to use this over alternatives like fusion_fit_view or fusion_screenshot. No when-not-to-use or contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_shellC
Hollow out a body to a wall thickness mm.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| thickness | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose that the tool modifies the body irreversibly (destroys interior), which is critical given destructiveHint=false. Annotations alone do not fully convey the behavioral impact, and the description adds no context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence but could benefit from a structured format. It is not verbose, but brevity sacrifices clarity on parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and multiple siblings, the description should explain return values and whether the body is modified in-place or a new body is created. It only covers the basic action, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must clarify parameters. It indicates thickness is in mm but does not explain the 'body' parameter (integer or string meaning ID or name). Partial meaning is provided for only one parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 key parameter ('wall thickness'), distinguishing it from sibling tools like fusion_hole which creates holes. However, it does not explicitly contrast with similar operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor any prerequisites or context such as whether the body must be solid or if the tool can be used on multiple bodies. The agent is left to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_sketch_arcA
Draw a 3-point arc (mm): from start (x1,y1), through (x2,y2), to end (x3,y3). Useful as a sweep/revolve path.
| Name | Required | Description | Default |
|---|---|---|---|
| x1 | Yes | ||
| x2 | Yes | ||
| x3 | Yes | ||
| y1 | Yes | ||
| y2 | Yes | ||
| y3 | Yes | ||
| plane | No | xy | |
| sketch | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false (mutation) and openWorldHint=true, so the description's 'Draw' is consistent but adds little new. It mentions 'mm' for units, which is a minor extra, but does not disclose side effects, behavior when sketch is null, or error conditions. Given the annotations cover the mutating nature, the description adds only marginal 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff. It front-loads the action and essential point definitions, then adds a practical use case. Every word earns its place, and it is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main coordinate parameters and a use case, but lacks details on how the optional 'plane' and 'sketch' parameters behave, what happens if no sketch is provided, and any return value or side effects. For a tool with 8 parameters and no output schema, this leaves some ambiguity, though the core function is understandable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It explains the six required coordinates as start, through, and end points, which is essential meaning. However, it does not explain the optional 'plane' and 'sketch' parameters, leaving their roles implicit. The core parameters are well defined, but coverage is incomplete for all 8 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool draws a 3-point arc with specific point roles (start, through, end), and names the unit (mm). It distinguishes itself from sibling sketch tools like line, circle, and spline by its explicit 3-point arc definition, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a specific use case ('useful as a sweep/revolve path') but does not explicitly compare to alternatives or state when not to use it. It implies this tool is for arcs defined by three points, but it lacks guidance on choosing it over other sketch tools like spline or circle, or when a different construction method is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_sketch_circleB
Draw a circle (mm) by center (x,y) and radius OR diameter.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| plane | No | xy | |
| radius | No | ||
| sketch | No | ||
| diameter | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a non-read-only, non-destructive mutation, so the safety profile is covered. The description adds the nm unit and the radius/diameter alternative, but does not disclose what happens when both or neither are supplied, nor whether a new sketch entity is created on the active sketch. This is a meaningful but incomplete addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is one short, front-loaded sentence. It conveys the action, resource, unit, and key parameter choice without superfluous words. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with six parameters, no output schema, and no guidance on how it relates to an active sketch or plane, the description is incomplete. It omits critical call-preparation details: whether a sketch must already exist, how 'sketch: null' is resolved, and the constraint between diameter and radius. An agent may attempt the call with defaults and fail or behave unpredictably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the semantic weight. It usefully clarifies x/y as the circle center, units in diameter, and radius vs. diameter as an alternative. However it leaves 'plane' and 'sketch' unexplained, and does not explain their interaction or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 the resource ('circle'), and it adds the key construction method: center coordinates and radius/diameter in mm. It does not explicitly differentiate from sibling tools like fusion_sketch_arc or fusion_sketch_polygon, but the resource 'circle' is sufficiently unique among 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool vs. alternatives, whether an active sketch is required, or when the 'plane'/'sketch' parameters should be explicitly supplied. The description only states what it does, not the operating context or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_sketch_constrainB
Add a geometric constraint between sketch entities (by curve index). type: coincident/parallel/perpendicular/tangent/equal/horizontal/vertical/ concentric/collinear/midpoint/symmetry. For coincident/midpoint, entity_one is a sketch-point index. This is the key to robust, editable parametric sketches.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | ||
| sketch | Yes | ||
| entity_one | Yes | ||
| entity_two | No | ||
| symmetry_line | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate mutation and non-idempotency. Description adds that for coincident/midpoint, entity_one is a sketch-point index, but does not discuss conflict behavior or the open-world hint implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first defines purpose and lists types, second adds specific parameter detail and value proposition. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main action and constraint types, but omits explanation of optional parameters and does not state that the tool operates on an existing sketch. Given complexity, more detail would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, description only explains 'type' and partially 'entity_one' (for coincident/midpoint). Fails to explain 'entity_two' and 'symmetry_line', leaving significant gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Add a geometric constraint between sketch entities' with specific verb and resource. Lists all constraint types and distinguishes from other sketch creation/modification sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives (e.g., when to use coincident vs tangent). Only a vague value statement about parametric sketches, but no when-not-to-use or comparison with other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_sketch_dimensionA
Add a driving dimension. type: distance/horizontal/vertical/angular/radial/ diameter. value is mm (degrees for angular). Drives parametric sizing.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | ||
| value | No | ||
| sketch | Yes | ||
| entity_one | Yes | ||
| entity_two | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by specifying that the tool adds a dimension (write operation, consistent with readOnlyHint=false) and drives parametric sizing. It details types and units, providing useful behavioral context that annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: three short sentences with no fluff. It front-loads the purpose, lists types compactly using slashes, and includes units. Every sentence serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 5 parameters (3 required) and no output schema, the description is incomplete. It explains type and value but omits sketch and entity parameters, which are essential for using the tool correctly. The agent would likely need to infer or guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates partially by explaining the 'type' and 'value' parameters (including units). However, it does not explain the 'sketch', 'entity_one', or 'entity_two' parameters, which are critical for usage. Names alone may not be sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool adds a driving dimension, lists specific types (distance, horizontal, vertical, angular, radial, diameter), and explains it drives parametric sizing. This distinguishes it from other sketch tools that create geometry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives. It lacks explicit when-to-use, when-not-to-use, or references to sibling tools like fusion_create_parameter or other dimension-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_sketch_lineB
Draw a single line segment from (x1,y1) to (x2,y2), in mm.
| Name | Required | Description | Default |
|---|---|---|---|
| x1 | Yes | ||
| x2 | Yes | ||
| y1 | Yes | ||
| y2 | Yes | ||
| plane | No | xy | |
| sketch | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the description isn't required to repeat those. However, it adds no information about side effects beyond the basic draw, such as that the line is added to the active sketch or that openWorldHint might imply broader effects. The description provides minimal additional behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently states the core action. It avoids redundancy and is appropriately short for a simple tool, though it could include more useful context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 openWorldHint=true, the description is too terse. It does not mention that the line is drawn in the active sketch, whether a sketch must exist first, how 'plane' affects the operation, or any prerequisites. This leaves the agent with significant unanswered questions for proper invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all parameters. It explains x1,y1,x2,y2 as coordinates and notes units (mm), but completely omits the 'plane' and 'sketch' parameters, which are optional but important for targeting the correct sketch plane. This is a significant gap given the zero coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Draw'), a specific resource ('single line segment'), and the exact coordinates needed. It clearly distinguishes from sibling sketch tools like rectangle, circle, or spline by specifying a line segment, and even includes units (mm) which is helpful.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this vs. other sketch tools (e.g., rectangle, spline) or any exclusions. The name implies it's for lines, but the description does not explicitly state when to choose it over alternatives, nor does it mention prerequisites like an active sketch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_sketch_offsetB
Offset a sketch curve (by index) by distance mm toward (dir_x, dir_y).
| Name | Required | Description | Default |
|---|---|---|---|
| curve | Yes | ||
| dir_x | No | ||
| dir_y | No | ||
| sketch | Yes | ||
| distance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'offset' but does not clarify whether the original curve is modified or a new offset curve is created. Annotations indicate readOnlyHint=false and destructiveHint=false, yet the description adds no additional behavioral context such as side effects or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with essential information: verb, resource, and key parameters. No unnecessary words, though it could benefit from slight elaboration on parameter roles.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a sketch modification operation with no output schema. The description is minimal and does not explain return value (if any), error conditions, or behavior when parameters are invalid. This is insufficient for a CAD operation with multiple parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description explains 'distance mm' and 'toward (dir_x, dir_y)', giving meaning to these parameters. However, 'curve' (integer index) and 'sketch' (ID) are not explained, so the benefit is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'offset', the resource 'a sketch curve (by index)', and the parameters 'distance mm' and 'toward (dir_x, dir_y)'. It is specific and distinguishes from other sketch tools like line or circle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 other sketch tools or alternatives. Prerequisites (e.g., sketch must exist, valid curve index) are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_sketch_polygonB
Draw a regular polygon (mm) by center, circumradius, and side count (>=3).
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| plane | No | xy | |
| sides | Yes | ||
| radius | Yes | ||
| sketch | No | ||
| rotation_deg | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false (mutation), destructiveHint=false (non-destructive), but the description does not elaborate on behavioral aspects beyond drawing. It doesn't mention whether the polygon is added to a sketch, whether it requires an existing sketch or creates one, or any side effects on existing geometry. The description is somewhat redundant with the title and doesn't disclose additional behavioral details that an agent might need.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the essential details (draw polygon, unit, construction method). It's efficient and direct, with no filler. However, it could be slightly more structured to include parameter hints, but its brevity is a strength.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool complexity (7 params, no output schema, no annotation coverage), the description is minimally adequate. It covers the core purpose but misses important contextual details like how the polygon interacts with existing sketches, what the 'plane' parameter does, and what the return value is. The description leaves gaps that an agent would need to infer or test.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are 7 parameters, so the description must compensate. It explains the meaning of 'radius' (circumradius) and 'sides' (count >=3), which is helpful, but it doesn't explain parameters like x, y, plane, rotation_deg, or sketch. The description adds some meaning but leaves many parameters unexplained, relying on their titles which are not self-explanatory for all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool draws a regular polygon with key parameters (center, circumradius, side count) and includes the unit (mm) and constraint (sides >=3). It distinguishes from similar sketch tools (e.g., fusion_sketch_rectangle, fusion_sketch_circle) by specifying 'polygon' and its specific parameters, though it doesn't explicitly name a sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for creating a polygon in a sketch, but it doesn't explicitly state when to use it versus other sketch tools (like line or arc) or when not to use it. It doesn't mention prerequisites such as needing an active sketch or document. There's no alternative mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_sketch_projectA
Project a body's edges onto a sketch (linked reference geometry).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| sketch | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only and open-world behavior; description adds that it projects edges and creates linked reference geometry. However, does not explain update behavior, whether it creates new sketch entities, or if the projection is dynamic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundant words. Action verb front-loaded. Highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two simple parameters and no output schema, the description covers the essential operation. Could mention that the sketch must exist on a plane, but sufficiently complete for a straightforward tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description clarifies the role of each parameter: 'body' as source of edges, 'sketch' as target. This adds functional meaning beyond raw parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'project' and identifies resource 'body's edges onto a sketch'. Mentions 'linked reference geometry' to distinguish from other sketch creation tools. Clearly differentiates from siblings like fusion_sketch_line or fusion_sketch_circle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as drawing geometry directly or using other projection methods. Does not specify prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_sketch_rectangleA
Draw a rectangle (mm). mode='corner' treats (x,y) as a corner;
mode='center' treats (x,y) as the center. Creates a new sketch on plane
unless an existing sketch is given.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| mode | No | corner | |
| plane | No | xy | |
| width | Yes | ||
| height | Yes | ||
| sketch | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as a mutating operation, but the description adds meaningful side-effect context: it creates a new sketch on `plane` unless an existing `sketch` is supplied. It also reveals how the coordinate mode changes interpretation of (x,y), which is behavioral information beyond the schema. This goes beyond the annotation hints without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler. The core action and units are front-loaded, followed by the mode semantics and the sketch/plane behavior. Every sentence adds necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity drawing tool, the description covers the essential calling context: units, coordinate mode, and sketch/plane selection. It does not describe return values, but there is no output schema and the primary invocation path is clear. Minor missing details like positive-dimension constraints or axis alignment are not critical for correct selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden, and it does so well. It explains `mode` and the meaning of (x,y), and clarifies how `plane` and `sketch` interact. Width and height are left to name inference, but 'rectangle (mm)' supplies the unit context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Draw a rectangle (mm).' It distinguishes itself from sibling sketch tools by naming the shape and clarifying the coordinate mode behavior. The purpose is unambiguous even without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly say when to prefer this tool over sibling sketch tools like fusion_sketch_circle or fusion_sketch_line, but the resource type makes the primary use case obvious. It does provide useful context for choosing between a new sketch on `plane` versus an existing `sketch`, which is indirect usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_sketch_splineA
Draw a spline through points [[x,y],...] (mm). type 'fit_points' or 'control_points' (uses degree).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | fit_points | |
| plane | No | xy | |
| degree | No | ||
| points | Yes | ||
| sketch | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a useful behavioral detail by explaining that type can be 'fit_points' or 'control_points' and that control points 'uses degree'. It also specifies that coordinates are in mm. However, it does not disclose side effects on the sketch, whether a new sketch must exist first, or how plane selection affects the result. Annotations indicate readOnlyHint=falsetsy, so mutation is expectedholde, and the description is consistent with that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded. It states the operation, input format, units, and type semantics in one compact sentence without filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple invocation, but it leaves important context implicit: whether the spline is added to the active sketch, how plane and sketch parameters interact, and what the returned value represents. Given that there is no output schema and the parameter schema has no descriptions, these gaps could cause an agent to call the tool without ensuring a sketch exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the full burden for parameter meaning. It usefully defines the required points format as [[x,y],...] in mm” and clarifies that type accepts fit_points or control_points, with degree related to control points. It does not explain the plane or sketch parameters, but those have defaults and are less likely to mislead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the operation: 'Draw a spline through points [[x,y],...] (mm).' It names the specific resource (spline), the required input format, and the type options. This distinguishes it immediately from sibling sketch tools like fusion_sketch_line or fusion_sketch_arc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative sketch tools, nor when to choose fit_points versus control_points. It implies usage through the action verb 'Draw', but it never states prerequisites like needing an active sketch or when control points are preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_sphereA
Create a sphere of radius OR diameter mm, centered on the origin.
Auto-creates a document if none is open.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| radius | No | ||
| diameter | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and openWorldHint=true. The description adds value by stating 'Auto-creates a document if none is open', which is a behavioral trait not fully captured in annotations. However, it does not clarify behavior when both radius and diameter are provided or if name is omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the core action and key constraints. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple shape creation tool, the description covers the core function, parameter alternatives, units, and a notable side effect. However, it could clarify that radius or diameter is expected (since no parameters are required in schema) and what happens to existing geometry.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates by explaining 'radius OR diameter' and units ('mm'), but does not mention the 'name' parameter or clarify parameter constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a sphere'), the specific parameters ('radius OR diameter'), units ('mm'), and placement ('centered on the origin'). This distinguishes it from sibling tools like fusion_box or fusion_cylinder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating spheres and mentions auto-creating a document, but does not explicitly state when to use this tool versus alternatives like fusion_cylinder or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_split_bodyB
Split a body by a plane (xy/xz/yz) or by another body (tool_body).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| plane | No | xy | |
| tool_body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint: false and destructiveHint: false, but the description does not clarify whether the original body is kept or replaced after split. No behavioral details beyond the basic operation are disclosed, leaving ambiguity about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 15 words, front-loaded with action and split methods. No fluff, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and minimal annotations, the description omits crucial context: what happens after splitting (new bodies created? original removed?), prerequisites (body existence), and error conditions. Inadequate for a CAD operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It adds meaning for 'plane' by listing xy/xz/yz options, but does not explain the 'body' parameter (what it refers to) or 'tool_body' (how it's used to split). Partial help, not full.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Split' and resource 'body', and specifies the two splitting methods: by a plane or by another body. It distinguishes from sibling tools like fusion_split_face by explicitly mentioning body splitting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for splitting bodies via two modes but provides no explicit guidance on when to choose plane vs tool_body, nor does it mention alternatives or when not to use this tool. Sibling tools exist but no exclusions given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_split_faceB
Split faces of a body by a plane (xy/xz/yz).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| faces | No | ||
| plane | No | xy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate the tool is not readOnly and not destructive, which sets baseline behavior. The description adds that it splits faces by a plane, but lacks details on side effects, return value, or success indicators.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it lacks structure. It does not front-load critical information like required parameters or usage context, and every word does not earn its place due to missing details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (splitting faces with optional selection and plane), the description is too sparse. It does not cover return values, error conditions, or how it complements sibling tools, leaving the agent with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description only partially addresses the 'plane' parameter by listing options. It does not explain the 'body' (required) or 'faces' (optional) parameters, leaving their semantics unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'split' and the resource 'faces of a body', specifying the splitting plane options (xy/xz/yz). It distinguishes from the sibling tool 'fusion_split_body' which splits whole bodies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not explain when to use this tool versus alternatives like fusion_split_body, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_summaryARead-only
High-level snapshot of the design: units, counts, and a body list. A good first call to understand the current model.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description aligns with annotations (readOnlyHint=true) and adds value by specifying the output includes units, counts, and a body list. No contradiction, and it expands on the snapshot nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences, front-loaded with the core purpose. Every word adds value, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description provides sufficient context for what the tool returns. Could specify 'body list' more precisely, but adequate for initial understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description does not need to explain parameters. Baseline of 4 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a 'high-level snapshot of the design' including 'units, counts, and a body list'. This distinguishes it from sibling tools like fusion_list_bodies (detailed list) and fusion_document_info (metadata).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly recommends it as a 'good first call to understand the current model', giving clear context for initial exploration. Does not explicitly exclude alternatives, but the single-use-case guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_suppress_featureBIdempotent
Suppress a timeline feature by name (from fusion_list_features).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-readonly, non-destructive, and idempotent behavior. The description adds no additional behavioral context—such as what suppression does to the timeline, whether it can be reversed, or any side effects. It relies on the user's prior knowledge.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence containing only essential information. It is well-structured and front-loaded with the verb and resource, achieving maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema), the description omits important context such as the effect of suppression on the model, reversibility, and how it interacts with other features. It is minimal and expects prior knowledge of the CAD domain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description partially compensates by indicating that the 'name' parameter should be a feature name obtained from 'fusion_list_features'. However, it does not specify the data type or format of the name string, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Suppress'), the resource ('timeline feature'), and the method for identifying the feature ('by name (from fusion_list_features)'). This distinctly separates it from the sibling tool 'fusion_unsuppress_feature' which performs the opposite action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides indirect guidance by referencing 'fusion_list_features' as the source for valid names, but it does not explicitly state when to use this tool versus alternatives (e.g., hiding a body) or mention any prerequisites or conditions. The usage context is implied but not fully articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_surface_patchC
Patch a closed sketch profile into a surface body.
| Name | Required | Description | Default |
|---|---|---|---|
| sketch | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it's a write operation (readOnlyHint=false) and non-destructive. The description adds no further behavioral context, such as what happens if the sketch is not closed, or whether it modifies existing surfaces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at one sentence, but it sacrifices necessary details. It could be restructured to include parameter info while remaining brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description should explain what 'patch' entails, preconditions (closed sketch), and implications. It is too sparse to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%. The single required 'sketch' parameter has no description, leaving an integer or string identifier ambiguous (e.g., is it an ID, name, or index?). The description fails to clarify this critical input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Patch' and the specific resource 'a closed sketch profile' with a clear outcome 'into a surface body'. It distinguishes from sibling tools by using the unique term 'patch', though it does not explicitly contrast with alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 fusion_surface_ruled or fusion_surface_stitch. It lacks context on prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_surface_ruledA
Create a ruled surface from a body edge (by index), extended by distance mm.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| edge | Yes | ||
| distance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate this is a mutating operation (readOnlyHint=false) but not destructive. The description adds that the surface is extended by distance in mm, but does not disclose potential side effects, units ambiguity, or behavior on invalid edges.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 14 words efficiently conveys the tool's purpose and key parameters without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description fails to explain the operation's result (e.g., is a new body created? is the surface returned?). Missing details on units and body identification make it incomplete for confident use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description explains 'edge' as an index and 'distance' in mm, partially compensating. However, 'body' parameter remains undefined (int or string meaning unclear).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Create', the resource 'ruled surface', and specifies inputs: body edge by index and extension distance. This is distinct from sibling surface tools like patch, stitch, thicken.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when creating a ruled surface from an edge, but provides no explicit guidance on when to use this tool versus alternatives, nor when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_surface_stitchB
Stitch surface bodies (list of indices/names) into one, with tolerance mm.
| Name | Required | Description | Default |
|---|---|---|---|
| bodies | Yes | ||
| tolerance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, destructiveHint=false) already indicate the tool modifies state but is not destructive. The description adds no further behavioral details, such as what happens with overlapping bodies or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff. It efficiently conveys the core purpose and parameter hints, though it could be more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a moderately complex operation, the description is too minimal. It omits return value, error conditions, and behavior for non-contiguous surfaces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It adds meaning by clarifying that 'bodies' is a list of indices or names, and that 'tolerance' is in mm. However, it lacks details like valid ranges or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('stitch') and resource ('surface bodies'), specifies input format (list of indices/names) and a key parameter (tolerance mm). It distinguishes from siblings like fusion_surface_patch or fusion_combine by focusing on stitching surfaces into one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 when to stitch vs combine or patch. No context about prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_surface_thickenB
Thicken a (surface) body's faces into a solid by thickness mm. direction 'positive' or 'symmetric'.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| direction | No | positive | |
| thickness | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-readonly and non-idempotent, but description doesn't add behavioral context like whether the original body is modified or a new body is created. Only states the operation's basic effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that front-loads the purpose. It is efficient but 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and minimal description. Missing context on prerequisites, side effects, or typical usage. For a 3-parameter tool with no schema coverage, more completeness is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description mentions thickness and direction with valid options ('positive' or 'symmetric'), partially compensating for 0% schema coverage. However, the required 'body' parameter is not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (thicken), the resource (surface body's faces), and the output (solid). It distinguishes from siblings as a surface thickening operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives like extrude or offset faces. The description leaves the agent to infer usage from the operation name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_sweepA
Sweep a profile (from profile_sketch) along the first curve of path_sketch. Draw the path as an open sketch (line/arc/spline) and the profile as a closed sketch, then sweep.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | ||
| operation | No | new | |
| path_sketch | Yes | ||
| profile_sketch | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful behavior beyond the annotations by stating that only the first curve of path_sketch is used and that the path/profile sketch types have specific shape requirements. It does not contradict the provided annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two focused sentences with no filler. It leads with what the tool does and then supplies the prerequisite sketch setup, earning every word.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, the description is adequate for the default 'new' operation but incomplete for the other operation modes and the optional profile parameter. It also does not say what the result of the sweep will be or whether existing geometry will change.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description gives meaning to the two required parameters by tying profile_sketch to the profile and path_sketch to the path. However, schema description coverage is 0%, and the description does not explain the optional 'profile' parameter or the 'operation' enum, leaving those to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: sweep a profile from profile_sketch along the first curve of path_sketch. It is unambiguous about the resource and operation, though it does not explicitly differentiate itself from related feature tools like extrude, loft, or revolve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete setup instructions: the path must be an open sketch and the profile must be a closed sketch. However, it does not explain when to choose sweep over alternatives, nor does it mention exclusions or failure conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_threadA
Add a thread to a cylindrical face (face index from fusion_list_faces, the non-planar one). internal=True for a hole; modeled=True for real geometry.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| face | Yes | ||
| modeled | No | ||
| internal | No | ||
| handedness | No | right | |
| designation | No | ||
| thread_type | No | ISO Metric profile | |
| thread_class | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a non-readonly, non-idempotent mutation. The description adds a useful behavioral hint by saying modeled=True creates real geometry, but it does not describe result/error behavior, reversibility, or any side effects beyond that hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two clear sentences with no filler. The critical face-source information is front-loaded, and each clause adds useful guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For the required/default path this is workable: an agent knows which face to pass and can use defaults. With 8 parameters, no output schema, and no hints for body sourcing or thread option values, the description is not fully complete for advanced uses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description compensates for a few key parameters: face is explained as the non-planar face from fusion_list_faces, and internal/modeled get meaningful semantics. However, the remaining params — body, handedness, designation, thread_type, thread_class — are left only to their schema names/defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it adds a thread to a cylindrical face. It also points to the exact source of the face index and flags the relevant face type, so it is clearly differentiated from sibling operations such as listing/creating holes or other features.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear working context: use it on the non-planar face from fusion_list_faces, and use the internal/modeled flags for the two common variants. It does not explicitly name an alternative when the agent should prefer fusion_hole or when a thread should not be added, so it stops short of full when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_undoA
Undo the last operation (guards against a parametric->direct design flip).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only behavior, and the description adds context about preventing a specific design flip, providing useful behavioral insight beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence with a clarifying parenthetical. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description fully captures the purpose and a key behavioral context, leaving no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description does not need to add parameter details; it is irrelevant and thus adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool undoes the last operation with a verb and resource. The parenthetical adds specificity about guarding against a design flip, which distinguishes it from the sibling fusion_redo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage to undo operations and avoid parametric-to-direct flips, but lacks explicit guidance on when not to use or mention of alternatives like fusion_redo.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fusion_unsuppress_featureBIdempotent
Unsuppress a timeline feature by name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and destructiveHint=false. The description 'unsuppress' adds operational context but does not elaborate on behavior beyond what annotations convey (e.g., effect on existing features). It does not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no extraneous words. Front-loaded with verb and resource, efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on prerequisites (e.g., feature must be currently suppressed), side effects, or error handling. For a simple tool, more context is needed for safe use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description only mentions 'by name' without explaining valid name formats, case sensitivity, or error cases. Minimal added value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'unsuppress', the resource 'timeline feature', and the method 'by name'. It is specific, directly distinguishing it from the sibling operation 'fusion_suppress_feature'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., 'fusion_suppress_feature'). The description implies it is the inverse of suppression, but does not state prerequisites or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
108 tool updates
v0.6.0- First observed
fusion_api_docs - First observed
fusion_api_introspect - First observed
fusion_as_built_joint - First observed
fusion_body_info - First observed
fusion_bounding_box - First observed
fusion_box - First observed
fusion_cam_create_operation - First observed
fusion_cam_create_setup - First observed
fusion_cam_generate - First observed
fusion_cam_list_operations - First observed
fusion_cam_list_setups - First observed
fusion_cam_list_tools - First observed
fusion_cam_post_process - First observed
fusion_chamfer - First observed
fusion_circular_pattern - First observed
fusion_close_document - First observed
fusion_close_other_documents - First observed
fusion_combine - First observed
fusion_create_component - First observed
fusion_create_flat_pattern - First observed
fusion_create_parameter - First observed
fusion_create_sketch - First observed
fusion_create_sketch_on_face - First observed
fusion_cylinder - First observed
fusion_delete_all - First observed
fusion_delete_body - First observed
fusion_delete_parameter - First observed
fusion_document_info - First observed
fusion_draft - First observed
fusion_export_dxf - First observed
fusion_export_f3d - First observed
fusion_export_iges - First observed
fusion_export_step - First observed
fusion_export_stl - First observed
fusion_extrude - First observed
fusion_fillet - First observed
fusion_fit_view - First observed
fusion_get_active_component - First observed
fusion_get_body - First observed
fusion_get_parameter - First observed
fusion_get_units - First observed
fusion_ground_component - First observed
fusion_hole - First observed
fusion_interference - First observed
fusion_joint - First observed
fusion_list_appearances - First observed
fusion_list_bodies - First observed
fusion_list_components - First observed
fusion_list_documents - First observed
fusion_list_edges - First observed
fusion_list_faces - First observed
fusion_list_features - First observed
fusion_list_joints - First observed
fusion_list_occurrences - First observed
fusion_list_parameters - First observed
fusion_list_projects - First observed
fusion_list_sketches - First observed
fusion_list_threads - First observed
fusion_loft - First observed
fusion_measure_angle - First observed
fusion_measure_distance - First observed
fusion_mirror - First observed
fusion_move_body - First observed
fusion_move_component - First observed
fusion_new_document - First observed
fusion_offset_faces - First observed
fusion_offset_plane - First observed
fusion_physical_properties - First observed
fusion_rectangular_pattern - First observed
fusion_redo - First observed
fusion_rename_body - First observed
fusion_revolve - First observed
fusion_rigid_group - First observed
fusion_rotate_body - First observed
fusion_save_document - First observed
fusion_save_document_as - First observed
fusion_scale_body - First observed
fusion_screenshot - First observed
fusion_set_active_component - First observed
fusion_set_appearance - First observed
fusion_set_body_visible - First observed
fusion_set_parameter - First observed
fusion_set_units - First observed
fusion_set_view - First observed
fusion_shell - First observed
fusion_sketch_arc - First observed
fusion_sketch_circle - First observed
fusion_sketch_constrain - First observed
fusion_sketch_dimension - First observed
fusion_sketch_line - First observed
fusion_sketch_offset - First observed
fusion_sketch_polygon - First observed
fusion_sketch_project - First observed
fusion_sketch_rectangle - First observed
fusion_sketch_spline - First observed
fusion_sphere - First observed
fusion_split_body - First observed
fusion_split_face - First observed
fusion_summary - First observed
fusion_suppress_feature - First observed
fusion_surface_patch - First observed
fusion_surface_ruled - First observed
fusion_surface_stitch - First observed
fusion_surface_thicken - First observed
fusion_sweep - First observed
fusion_thread - First observed
fusion_undo - First observed
fusion_unsuppress_feature
TDQS
Scored across 108 tools
Several tools overlap heavily (e.g., fusion_get_body vs fusion_body_info, fusion_document_info vs fusion_summary) and an agent could easily pick the wrong one. Most tools, however, have distinct resource+action targets, and the detailed descriptions help resolve most ambiguities.
All tools share a consistent fusion_ prefix and follow a predictable verb_noun pattern (get_, list_, create_, set_, etc.). Even specialized groups like sketch_ and cam_ maintain the same style, with no mixed conventions or irregular nouns.
With 108 tools, the set is far beyond the well-scoped range and will severely burden an agent's context window and tool-selection process. Even for a comprehensive CAD server, this count is excessive and clearly falls into the 50+ category per the calibration guide.
The toolset covers a very broad range of Fusion 360 workflows: documents, sketches, solids, surfaces, components, joints, CAM, exports, and API introspection. Minor gaps exist (e.g., no sketch editing/deletion, no component renaming), but most core design and manufacturing workflows are present.
Maintenance
Related MCP Connectors
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
Open Design MCP capability governed by DigitalPipe.
MCP CAD services; bundles with SmartScale (measure to CAD).
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to inspect and automate Autodesk Fusion 360 through MCP, providing tools for CAD modeling, CAM manufacturing, and document management.-
- AlicenseNot gradedqualityAmaintenanceA safety-first Autodesk Fusion 360 MCP add-in that enables agents to inspect, plan, validate, and package CAD changes without blindly running raw scripts, with structured tools and preflight checks.1MIT
- FlicenseNot gradedqualityCmaintenanceA remote MCP server exposing 36 Fusion 360 modeling tools over HTTPS, enabling secure remote control of Autodesk Fusion 360 with authentication, rate limiting, and audit logging.-
- AlicenseBqualityAmaintenanceAn MCP server that provides 75 validated tools for Autodesk Fusion 360, enabling common CAD operations like sketching, extruding, and joint creation with structured error handling.7531MIT