Skip to main content
Glama
bigsbypuglise

Fusion Studio MCP

Fusion Studio MCP

Local MCP server for inspecting and controlling standalone Blackmagic Fusion Studio through Fusion's scripting API.

This project starts conservatively: prove the Fusion connection first, then expose read-only inspection tools, then add guarded edit tools with dry-run and undo behavior.

Current Status

  • Project scaffold created: 2026-07-13

  • Target app found: Blackmagic Fusion 21.0.2

  • Python import path confirmed for Fusion's bundled fusionscript.so

  • Live composition inspection verified against Composition1

  • Local .venv created with pytest, ruff, and the Python MCP SDK

  • Read-only MCP tools implemented for status, node listing, single-node lookup, selected-node reads, and compact comp summaries

  • Guarded editing MCP tools implemented for selection, input reads/writes, renaming, and FlowView positioning

  • Controlled node creation, image connection editing, input disconnect, connection inspection, and confirmed single-node deletion implemented

  • Configurable node creation plus native keyframe and expression tools implemented

  • Composition controls plus transactional graph and batch tools implemented

  • Render validation, Saver settings, diagnostics, tool catalog/schema, and graph export tools implemented

  • Live editing validation passed against disposable Composition1

Related MCP server: nuke-mcp

Requirements

  • macOS

  • Blackmagic Fusion Studio 21.0.2 or compatible

  • Python 3.11+ required (requires-python = ">=3.11"); macOS's built-in Python 3.9 is too old

  • Fusion's bundled scripting library path available: /Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries

  • Python MCP SDK for server mode

Install with Claude Desktop on macOS

Recommended for artists and non-developers: Install Fusion Studio MCP - Claude Desktop (macOS).

This is the public, two-copy-paste setup path for standalone Fusion Studio and Claude Desktop on macOS. It installs from the public GitHub repository: https://github.com/bigsbypuglise/fusion-studio-mcp

Use this path if you want Claude Desktop to inspect a Fusion comp, list nodes, and build guarded node trees without doing a developer setup.

Quick version:

  1. Open Fusion Studio 21 and open or create a comp.

  2. Run the install paste from the Claude Desktop macOS guide.

  3. Run the Claude config paste from the guide.

  4. Fully quit Claude Desktop with Command-Q, reopen it, and ask Claude to check the Fusion connection.

Notes:

  • Fusion Studio 21 is recommended; Fusion Studio 20 may work.

  • This currently targets standalone Fusion Studio, not DaVinci Resolve.

  • Fusion Studio must be running with an active composition open.

  • The first Claude tool call may ask for permission.

  • The default novice installer tracks the latest public main branch so re-running paste #1 updates the local install. Users who prefer a pinned stable release can use the tagged-release option in the guide.

Advanced Installation

The macOS workflow below has been live-tested with Fusion Studio 21.0.2. The Windows workflow is documented for equivalent Fusion Studio installs, but still needs clean-machine validation on Windows.

macOS Developer Setup

Supported live-tested environment:

  • Blackmagic Fusion Studio 21.0.2

  • Python 3.11+

  • Confirmed app path: /Applications/Blackmagic Fusion 21/Fusion.app

  • Confirmed scripting library path: /Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries

Install Python with Homebrew if needed:

brew install python@3.11

Create and install the local environment:

cd /path/to/fusion-studio-mcp
PYTHON_BIN=/opt/homebrew/bin/python3.11 scripts/setup_local.sh

Or do it manually:

cd /path/to/fusion-studio-mcp
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e '.[dev]'

Start Fusion Studio, create or open a disposable composition, then run:

export PYTHONPATH="/Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries:src"
python scripts/test_fusion_connection.py
python -m fusion_mcp.server

python -m fusion_mcp.server is a stdio MCP server entrypoint. It is meant to be launched by an MCP client; when run directly in a plain terminal without a client attached, it may exit cleanly after stdin closes. Use scripts/test_fusion_connection.py for a standalone connection smoke test.

macOS MCP client example:

{
  "mcpServers": {
    "fusion-studio": {
      "command": "/path/to/fusion-studio-mcp/.venv/bin/python",
      "args": ["-m", "fusion_mcp.server"],
      "env": {
        "PYTHONPATH": "/Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries:/path/to/fusion-studio-mcp/src"
      }
    }
  }
}

macOS troubleshooting:

  • If Fusion is closed or no comp is active, connection tools return FUSION_NOT_RUNNING or NO_ACTIVE_COMP.

  • If fusionscript cannot import, confirm PYTHONPATH includes Fusion's Contents/Libraries path.

  • macOS may show security prompts the first time tools communicate with another app. Allow Fusion and the terminal/MCP client to communicate locally.

  • Use unique absolute output folders for Saver renders to avoid overwrite protection and Fusion filename edge cases.

Windows Developer Setup

Documented target environment:

  • Blackmagic Fusion Studio 21.0.2 or compatible

  • Python 3.11+

  • Common app path: C:\Program Files\Blackmagic Design\Fusion 21\Fusion.exe

  • Common scripting library path: C:\Program Files\Blackmagic Design\Fusion 21

Install Python from https://www.python.org/downloads/windows/ and enable "Add python.exe to PATH", or install with winget:

winget install Python.Python.3.11
python --version
py -3.11 --version

Create and install the local environment from PowerShell:

cd C:\path\to\fusion-studio-mcp
.\scripts\setup_local.ps1 -Python py -PythonArgs "-3.11"
.\.venv\Scripts\Activate.ps1

If PowerShell blocks the script, run it for the current process only:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\scripts\setup_local.ps1 -Python py -PythonArgs "-3.11"

Manual Command Prompt setup:

cd C:\path\to\fusion-studio-mcp
py -3.11 -m venv .venv
.venv\Scripts\activate.bat
python -m pip install --upgrade pip
python -m pip install -e .[dev]

Start Fusion Studio, create or open a disposable composition, then run from PowerShell:

.\.venv\Scripts\Activate.ps1
$env:PYTHONPATH = "C:\Program Files\Blackmagic Design\Fusion 21;C:\path\to\fusion-studio-mcp\src"
.\.venv\Scripts\python.exe .\scripts\test_fusion_connection.py
.\.venv\Scripts\python.exe -m fusion_mcp.server

As on macOS, the server command is intended to be launched by an MCP client over stdio. If it is run manually in a shell without a client attached, it may exit when stdin closes.

Windows MCP client example:

{
  "mcpServers": {
    "fusion-studio": {
      "command": "C:\\path\\to\\fusion-studio-mcp\\.venv\\Scripts\\python.exe",
      "args": ["-m", "fusion_mcp.server"],
      "env": {
        "PYTHONPATH": "C:\\Program Files\\Blackmagic Design\\Fusion 21;C:\\path\\to\\fusion-studio-mcp\\src"
      }
    }
  }
}

Windows troubleshooting:

  • These Windows steps are documented but not yet live-validated on a clean Windows machine.

  • If python is not found, use py -3.11 or reinstall Python with PATH integration enabled.

  • If fusionscript cannot import, verify the Fusion install path and add its scripting directory to PYTHONPATH.

  • Quote paths with spaces in PowerShell and JSON; use doubled backslashes in JSON strings.

  • If connection fails, confirm Fusion Studio is open, not blocked by Windows security prompts, and has an active composition.

  • Use absolute Saver output paths in writable folders, and prefer unique output folders per render.

Quick Connection Test

  1. Open standalone Fusion Studio.

  2. Open or create a disposable composition.

  3. Run:

cd /path/to/fusion-studio-mcp
PYTHONPATH="/Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries:src" .venv/bin/python scripts/test_fusion_connection.py

The script prints structured JSON. If Fusion is closed, it should return success: false with FUSION_NOT_RUNNING.

Read-Only Inspection Probe

Run all read-only tool functions without starting an MCP client:

cd /path/to/fusion-studio-mcp
PYTHONPATH="/Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries:src" .venv/bin/python scripts/inspect_read_only.py

Current read-only tools:

  • fusion_get_status_tool

  • fusion_list_nodes_tool

  • fusion_get_node_tool(node_name)

  • fusion_get_selected_nodes_tool

  • fusion_summarize_comp_tool

  • fusion_get_node_input_tool(node_name, input_name)

Node list entries include:

  • Node name and Fusion tool type

  • Flow position from comp.CurrentFrame.FlowView.GetPosTable(tool) when Fusion exposes it

  • Inputs with ID, name, data type, current non-image value, connected output, and input attrs

  • Outputs with ID, name, data type, connected inputs, and output attrs

  • Key settings summary for non-image controls

Run MCP Server

After setup, run:

cd /path/to/fusion-studio-mcp
PYTHONPATH="/Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries:src" .venv/bin/python -m fusion_mcp.server

Example MCP-style operations:

fusion_get_status_tool()
fusion_list_nodes_tool()
fusion_get_node_tool(node_name="Blur1")
fusion_get_selected_nodes_tool()
fusion_summarize_comp_tool()
fusion_select_nodes_tool(node_names=["Background1", "Transform1"])
fusion_get_node_input_tool(node_name="Transform1", input_name="Blend")
fusion_set_node_input_tool(node_name="Transform1", input_name="Blend", value=0.5)
fusion_set_node_name_tool(node_name="Transform1", new_name="Transform_Main")
fusion_set_node_position_tool(node_name="Transform_Main", x=0, y=0)
fusion_create_node_tool(tool_id="Blur", name="Blur_Main", x=1, y=0)
fusion_create_node_tool(
  tool_id="Saver",
  name="Saver_Main",
  x=2,
  y=0,
  settings={"Clip": "/tmp/example.exr"}
)
fusion_connect_nodes_tool(
  source_node="Transform_Main",
  source_output="Output",
  target_node="Blur_Main",
  target_input="Input",
  replace=false
)
fusion_get_connections_tool(node_name="Blur_Main")
fusion_disconnect_input_tool(node_name="Blur_Main", input_name="Input")
fusion_delete_node_tool(node_name="Blur_Main", confirm=true)
fusion_set_keyframe_tool(node_name="Transform_Main", input_name="Size", frame=0, value=1.0, replace=false)
fusion_get_keyframes_tool(node_name="Transform_Main", input_name="Size")
fusion_delete_keyframe_tool(node_name="Transform_Main", input_name="Size", frame=10, confirm=true)
fusion_clear_keyframes_tool(node_name="Transform_Main", input_name="Center", confirm=true)
fusion_set_expression_tool(node_name="Transform_Main", input_name="Angle", expression="time/10", replace=false)
fusion_get_expression_tool(node_name="Transform_Main", input_name="Angle")
fusion_remove_expression_tool(node_name="Transform_Main", input_name="Angle", confirm=true)
fusion_get_comp_settings_tool()
fusion_set_comp_range_tool(start_frame=1, end_frame=48)
fusion_set_current_frame_tool(frame=24)
fusion_get_current_frame_tool()
fusion_save_comp_tool(path="/tmp/example.comp")
fusion_get_comp_path_tool()
fusion_create_graph_tool(
  nodes=[
    {"id": "bg", "tool_id": "Background", "name": "BG", "x": -4, "y": 0,
     "settings": {"TopLeftRed": 0.2, "TopLeftGreen": 0.4, "TopLeftBlue": 0.8}},
    {"id": "tx", "tool_id": "Transform", "name": "TX", "x": -2, "y": 0},
    {"id": "blur", "tool_id": "Blur", "name": "Blur", "x": 0, "y": 0,
     "settings": {"XBlurSize": 3.0}},
    {"id": "saver", "tool_id": "Saver", "name": "Saver", "x": 2, "y": 0,
     "settings": {"Clip": "/tmp/example.exr"}}
  ],
  connections=[
    {"source": "bg", "target": "tx", "source_output": "Output", "target_input": "Input"},
    {"source": "tx", "target": "blur", "source_output": "Output", "target_input": "Input"},
    {"source": "blur", "target": "saver", "source_output": "Output", "target_input": "Input"}
  ],
  comp_settings={"start_frame": 1, "end_frame": 48}
)
fusion_batch_set_inputs_tool(changes=[{"node_name": "BG", "input_name": "TopLeftRed", "value": 0.5}])
fusion_batch_set_keyframes_tool(keyframes=[{"node_name": "TX", "input_name": "Size", "frame": 1, "value": 1.0}])
fusion_batch_delete_nodes_tool(node_names=["Blur"], confirm=true)
fusion_get_saver_settings_tool(node_name="Saver")
fusion_set_saver_settings_tool(node_name="Saver", settings={"Clip": "/tmp/render.exr"})
fusion_validate_render_tool(saver_node="Saver", allow_overwrite=false)
fusion_render_tool(start_frame=1, end_frame=1, saver_node="Saver", confirm=true, allow_overwrite=false)
fusion_get_render_status_tool()
fusion_abort_render_tool(confirm=true)
fusion_validate_comp_tool()
fusion_find_broken_connections_tool()
fusion_find_missing_media_tool()
fusion_get_tool_catalog_tool(search="blur")
fusion_get_tool_schema_tool(tool_id="Blur")
fusion_export_graph_tool(node_names=["BG", "TX", "Saver"])
fusion_validate_graph_request_tool(nodes=[...], connections=[...], comp_settings={...})

Example compact summary response from live empty Composition1:

{
  "success": true,
  "operation": "fusion_summarize_comp",
  "agent_summary": {
    "composition_name": "Composition1",
    "node_count": 0,
    "selected_nodes": [],
    "tool_type_counts": {},
    "plain_english": "Composition Composition1 has 0 node(s); 0 selected."
  }
}

Safe Editing Tools

Editing operations validate the active composition, node, and input before modifying anything. Writes use Fusion Lock(), StartUndo(...), EndUndo(True), and Unlock() via a defensive cleanup wrapper so failed operations do not leave an undo group open.

Implemented editing tools:

  • fusion_select_nodes_tool(node_names)

  • fusion_get_node_input_tool(node_name, input_name)

  • fusion_set_node_input_tool(node_name, input_name, value)

  • fusion_set_node_name_tool(node_name, new_name)

  • fusion_set_node_position_tool(node_name, x, y)

  • fusion_create_node_tool(tool_id, name=None, x=None, y=None)

  • fusion_connect_nodes_tool(source_node, source_output, target_node, target_input, replace=False)

  • fusion_disconnect_input_tool(node_name, input_name)

  • fusion_get_connections_tool(node_name=None)

  • fusion_delete_node_tool(node_name, confirm=False)

  • fusion_set_keyframe_tool(node_name, input_name, frame, value, replace=False)

  • fusion_get_keyframes_tool(node_name, input_name)

  • fusion_delete_keyframe_tool(node_name, input_name, frame, confirm=False)

  • fusion_clear_keyframes_tool(node_name, input_name, confirm=False)

  • fusion_set_expression_tool(node_name, input_name, expression, replace=False)

  • fusion_get_expression_tool(node_name, input_name)

  • fusion_remove_expression_tool(node_name, input_name, confirm=False)

  • fusion_get_comp_settings_tool()

  • fusion_set_comp_range_tool(start_frame, end_frame)

  • fusion_set_current_frame_tool(frame)

  • fusion_get_current_frame_tool()

  • fusion_save_comp_tool(path=None)

  • fusion_get_comp_path_tool()

  • fusion_create_graph_tool(nodes, connections, comp_settings=None)

  • fusion_batch_set_inputs_tool(changes)

  • fusion_batch_set_keyframes_tool(keyframes)

  • fusion_batch_delete_nodes_tool(node_names, confirm=False)

  • fusion_get_saver_settings_tool(node_name)

  • fusion_set_saver_settings_tool(node_name, settings)

  • fusion_validate_render_tool(saver_node=None, allow_overwrite=False)

  • fusion_render_tool(start_frame=None, end_frame=None, saver_node=None, confirm=False, allow_overwrite=False)

  • fusion_get_render_status_tool()

  • fusion_abort_render_tool(confirm=False)

  • fusion_validate_comp_tool()

  • fusion_find_broken_connections_tool()

  • fusion_find_missing_media_tool()

  • fusion_get_tool_catalog_tool(search=None)

  • fusion_get_tool_schema_tool(tool_id)

  • fusion_export_graph_tool(node_names=None)

  • fusion_validate_graph_request_tool(nodes, connections, comp_settings=None)

fusion_set_node_input_tool supports common Fusion value types:

  • finite scalar numbers

  • booleans, converted to 1 or 0 for numeric Fusion inputs

  • strings for Text inputs

  • strings for FuID inputs, validated against per-input choices when Fusion exposes them

  • points as [x, y] or {"x": x, "y": y}

  • colors as [r, g, b], [r, g, b, a], or matching dict keys when Fusion exposes a true Color input

Unsupported or ambiguous values return a structured failure and do not attempt a write. Image inputs are rejected by value-setting tools because they must be edited as connections, not scalar values.

Built-in Background color controls in Fusion Studio 21.0.2 are exposed as separate numeric channel inputs such as TopLeftRed, TopLeftGreen, TopLeftBlue, and TopLeftAlpha, each using INPID_InputControl == "ColorControl" and INPS_DataType == "Number". Live validation confirmed setting these channels with scalar floats, for example TopLeftRed = 0.25.

Example success response:

{
  "success": true,
  "operation": "fusion_set_node_input",
  "node_name": "FMC_Test_Transform",
  "input_id": "Size",
  "previous_value": 1.0,
  "requested_value": 0.8,
  "confirmed_value": 0.8,
  "summary": "Set FMC_Test_Transform.Size."
}

Example validation failure:

{
  "success": false,
  "operation": "fusion_set_node_input",
  "error_code": "UNSUPPORTED_INPUT_VALUE",
  "error_message": "Image inputs are connections, not scalar values.",
  "node_name": "FMC_Test_Transform",
  "input_id": "Input",
  "requested_value": 1
}

Connection And Node Tools

fusion_create_node_tool accepts optional settings, applied after the node exists and is validated. Setting failures produce a partial result: the created node remains in the comp, successful settings are reported, and failed settings include per-input error codes. Saver can receive its Clip path through settings={"Clip": "/path/to/output.exr"} and no longer needs the placeholder when that setting is supplied.

Connection editing is currently scoped to Image flow links. The tool layer rejects modifier, expression, mask, and scalar links with explicit socket metadata instead of pretending they are ordinary image pipes.

Safety behavior:

  • tool IDs are checked against Fusion's local registry before creation

  • MediaOut is rejected in standalone Fusion because its registry class is not creatable there

  • Saver is creatable with an explicit placeholder Clip path to avoid Fusion opening a file dialog

  • target inputs are not replaced unless replace=true

  • self-connections and obvious image-flow cycles are rejected

  • deletion requires confirm=true and only accepts one node name per call

  • all create/connect/disconnect/delete operations use Fusion undo groups

Example connection success:

{
  "success": true,
  "operation": "fusion_connect_nodes",
  "previous_state": null,
  "requested_state": {
    "source_node": "Background1",
    "source_output": "Output",
    "target_node": "Transform1",
    "target_input": "Input",
    "replace": false
  },
  "confirmed_state": {
    "node": "Background1",
    "output": "Output",
    "data_type": "Image"
  }
}

Example delete guard:

{
  "success": false,
  "operation": "fusion_delete_node",
  "error_code": "DELETE_CONFIRMATION_REQUIRED",
  "error_message": "Deletion requires confirm=true."
}

Composition And Batch Tools

Composition controls expose frame range, current frame, save path, and explicit .comp saves. Live validation confirmed fusion_set_comp_range_tool(1, 48), fusion_set_current_frame_tool(24), and fusion_save_comp_tool("/tmp/fusionmcp_batch_*.comp") in standalone Fusion Studio 21.0.2.

fusion_create_graph_tool accepts:

  • nodes: objects with id, tool_id or tool_type, optional name, optional x/y, and optional settings

  • connections: objects with graph node ids in source/target, plus source_output and target_input

  • comp_settings: currently supports start_frame/end_frame or global_start/global_end

Graph creation validates duplicate names, missing graph refs, invalid tool ids, obvious cycles, and unsupported values before or during the transaction. It creates nodes first, applies settings, then connects Image sockets. If a later step fails, it attempts to disconnect links created by that request and delete only nodes created by that request, returning status: "rolled_back" with per-item rollback results.

Batch input/keyframe/delete tools use one Fusion undo group per batch. Batch deletion requires confirm=true and only deletes explicitly listed nodes.

Render, Diagnostics, And Export

Render execution requires confirm=true. fusion_validate_render_tool checks active comp state, Saver existence/type, absolute output path, supported file extension, missing output directory, overwrite risk, valid frame range, and connected Saver image input without intentionally rendering. Existing outputs return OUTPUT_ALREADY_EXISTS unless allow_overwrite=true is explicitly supplied.

fusion_render_tool with a specific saver_node uses the canonical live-confirmed Saver transaction: it keeps the original Saver object, does not rewrite Clip, does not poll render status before rendering, calls comp.Render once with Start, End, Wait, and Tool, then confirms output files from the Saver Clip path on disk. If Fusion reports completion but no expected output file appears, the tool returns RENDER_OUTPUT_MISSING with render trace details.

Diagnostics include comp range checks, disconnected required image inputs, missing Loader paths, invalid Saver paths, expressions that evaluate to None, unresolved tool IDs, and duplicate names where detectable.

fusion_export_graph_tool emits fusionmcp.graph.v1 with exact tool IDs, input IDs, safe settings, FlowView positions, image-flow connections, and native keyframes where safely readable.

Animation And Expressions

Native keyframes use Fusion's own modifiers:

  • scalar inputs use BezierSpline

  • Point inputs use Path

  • expressions use input.SetExpression(...)

The tools distinguish static, keyframed, expression, and other modifier states. They reject silent overwrites: setting a keyframe on an expression input, setting an expression on a keyframed input, or setting a duplicate keyframe returns a structured error. Removing animation/expression data requires confirm=true.

Live-confirmed examples:

{
  "success": true,
  "operation": "fusion_get_keyframes",
  "keyframes": [
    { "frame": 0.0, "value": 1.0 },
    { "frame": 20.0, "value": 3.0 }
  ],
  "state": {
    "state_type": "keyframed",
    "modifier_type": "BezierSpline"
  }
}

Bad expressions are rejected when Fusion accepts the expression string but it evaluates to None at the current frame.

Testing

Run unit tests and lint:

cd /path/to/fusion-studio-mcp
.venv/bin/python -m pytest
.venv/bin/python -m ruff check src tests scripts

Run the opt-in live tests only against a disposable active Fusion composition:

RUN_FUSION_LIVE_TESTS=1 PYTHONPATH="/Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries:src" .venv/bin/python -m pytest tests/test_live_editing.py tests/test_live_connections.py tests/test_live_animation.py -q

Safety

Write tools intentionally modify the active composition. Use them only on disposable or explicitly approved comps until broader production safeguards are added.

Read-only inspection intentionally does not call Output.GetValue() because that can trigger upstream rendering. Output inspection only reads output attrs and connection metadata.

Production compositions should not be used for integration testing.

Standalone Fusion Studio 21.0.2 treats MediaOut as Resolve-specific for this project. Standalone Fusion does not require a terminal node. Saver is supported as a normal standalone tool when created without AddTool defsettings and then assigned Clip after creation; no render is triggered by creation or inspection.

Render release note: live isolation on 2026-07-14 found that Saver Clip writes can read back as a valid string while the saved .comp contains a zero-span internal Clip object (Length = 0, GlobalStart/GlobalEnd = -2000000000). In that state comp.Render(...) returns success and reports the frame rendered, but no file is written. fusion_render_tool no longer rewrites Saver Clip immediately before render; validation remains side-effect-free.

Use scripts/diagnose_saver_initialization.py for live Saver initialization probes. The current raw working sequence is to create an unlocked fresh comp, lock while adding Background/Saver, set Saver Clip after creation, connect while locked, unlock, and render with Tool=saver. The harness and public fusion_render_tool now share that transaction; five consecutive public graph/validate/render cycles wrote EXR files successfully.

Troubleshooting

  • Fusion connection: make sure standalone Fusion Studio is open and has an active composition.

  • Python paths: include Fusion's bundled library path in PYTHONPATH, followed by this repo's src.

  • Saver paths: use absolute paths, supported extensions, existing output folders, and preferably unique folders per render.

  • Permissions: render output directories must be writable by the current macOS user.

  • Blocked renders: validate first with fusion_validate_render_tool; common errors are OUTPUT_DIRECTORY_MISSING, OUTPUT_ALREADY_EXISTS, SAVER_INPUT_DISCONNECTED, and INVALID_RENDER_RANGE.

  • MediaOut: standalone Fusion Studio treats MediaOut as Resolve-specific in this project; use Saver for standalone renders.

Versioning

The project uses semantic versioning. The current patch release is 0.1.1: local Fusion Studio MCP control with guarded editing, graph building, diagnostics, graph export, confirmed Saver-targeted rendering, and macOS clean-machine acceptance notes. Reserve 1.0.0 for broader production confidence across more Fusion/Resolve versions and larger real-world comps.

Available Tools

45 tools
fusion_abort_render_toolB

Request render abort only when confirm is true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description only states the action ('request render abort') without disclosing side effects, permissions, reversibility, or impact on other processes.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words, appropriate for the tool's simplicity.

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

Completeness3/5

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

For a simple one-parameter tool, the description is minimally complete but lacks details like what render is being aborted, error handling, or outcome of a false confirm. It is adequate but has gaps.

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

Parameters4/5

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

With 0% schema description coverage, the description adds meaning by linking the 'confirm' parameter to the condition for aborting, clarifying its role as a safety gate.

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

Purpose4/5

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

The description clearly states the tool requests a render abort, distinguishing it from sibling tools like fusion_render_tool (starts renders) and fusion_get_render_status_tool (checks status). However, it does not specify which render is aborted (e.g., current or active one).

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

Usage Guidelines2/5

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

The description only advises setting confirm to true, with no guidance on when to use this tool versus alternatives, prerequisites, 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_batch_delete_nodes_toolC

Delete explicitly listed nodes in one undo group when confirmed.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
node_namesYes

TDQS

C2.9/5.0
Behavior2/5

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

Description mentions 'one undo group' and 'when confirmed,' adding some behavioral context. However, it does not explain what happens if confirm is false, error handling, or effects on dependencies. Without annotations, more detail is expected.

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

Conciseness5/5

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

Single sentence, no wasted words, front-loaded with core purpose. Every word serves a function.

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

Completeness2/5

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

Given the tool has 2 parameters (including a crucial confirm flag) and no output schema or annotations, the description is too sparse. It omits parameter semantics and usage context needed for correct invocation.

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

Parameters1/5

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

Description does not explain parameters beyond the schema. The critical confirm boolean and its effect on deletion are not elaborated. Schema coverage is 0%, so description must compensate but fails to do so.

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

Purpose5/5

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

The description clearly states it deletes explicitly listed nodes in batch, with the nuance of being in one undo group and requiring confirmation. This distinguishes it from siblings like fusion_delete_node_tool.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., fusion_delete_node_tool for single node). No mention of prerequisites or when confirmation is needed.

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

fusion_batch_set_inputs_toolC

Set multiple node inputs in one undo group.

ParametersJSON Schema
NameRequiredDescriptionDefault
changesYes

TDQS

C2.8/5.0
Behavior2/5

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

The description reveals undo grouping but fails to disclose important behaviors like handling of partial failures, overwrite behavior, or input structure. With no annotations, the burden is unmet.

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

Conciseness4/5

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

A single, efficient sentence with no wasted words. However, brevity comes at the cost of completeness.

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

Completeness2/5

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

Given the complexity of batch input setting and the lack of output schema, the description is too minimal to fully guide correct usage.

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

Parameters1/5

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

The changes parameter is an array of objects with no schema description; the description adds no meaning beyond the raw schema, which is 0% covered.

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

Purpose5/5

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

The description clearly states the tool sets multiple node inputs in one undo group, distinguishing it from the single-input sibling tool fusion_set_node_input_tool.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives; context is only implicitly derived from the name and siblings.

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

fusion_batch_set_keyframes_toolB

Set multiple keyframes in one undo group.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyframesYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It discloses one behavioral trait (undo grouping) but fails to describe other important behaviors such as handling of invalid keyframes, overwrite behavior, or required node context. This is insufficient for a batch operation.

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

Conciseness3/5

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

The description is concise (one sentence, 8 words) but lacks important details, making it under-informative. It efficiently conveys the core purpose but sacrifices completeness.

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

Completeness2/5

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

Given the tool's simplicity (1 param, no output schema, no annotations), the description is too minimal. It does not explain how to use the keyframes parameter, what constitutes a valid keyframe, or error handling, leaving significant gaps for an agent.

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

Parameters1/5

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

The sole parameter 'keyframes' has no description and schema coverage is 0%. The description provides no guidance on the expected format, required fields, or structure of keyframe objects, leaving the agent without necessary information to construct valid input.

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

Purpose5/5

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

The description 'Set multiple keyframes in one undo group' uses a specific verb ('Set') and resource ('multiple keyframes'), and adds a distinguishing feature ('one undo group'). It clearly distinguishes from the sibling tool 'fusion_set_keyframe_tool' which sets a single keyframe.

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

Usage Guidelines4/5

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

The description implies when to use this tool (for batch operations as a single undo group), which is clear in the context of sibling tools like 'fusion_set_keyframe_tool'. However, it does not explicitly state when not to use it or mention alternatives.

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

fusion_clear_keyframes_toolC

Clear native keyframed animation from one input when confirmed.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
node_nameYes
input_nameYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions that clearing requires confirmation (confirm parameter) but does not disclose whether the operation is destructive, reversible, or what happens if confirm is false. Behavior after clearing (e.g., return value) is unspecified.

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

Conciseness3/5

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

The description is a single short sentence, which is concise but overly sparse. It fails to include essential details such as parameter explanations or context, making it more under-specified than truly concise.

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

Completeness2/5

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

For a tool with 3 parameters, no output schema, and no annotations, the description is incomplete. It does not cover return values, side effects, prerequisites (e.g., node existence), or the distinction between native and other animation types. The agent lacks sufficient information to use the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning beyond parameter titles. The description only hints at 'confirm' but does not explain 'node_name' or 'input_name'. With 3 undocumented parameters, this is a critical gap.

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

Purpose5/5

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

Description clearly specifies the action ('clear'), the resource ('native keyframed animation from one input'), and the condition ('when confirmed'). It distinguishes from sibling tools like 'fusion_set_keyframe_tool' (which sets keyframes) and 'fusion_delete_keyframe_tool' (which likely deletes individual keyframes).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool over alternatives such as 'fusion_delete_keyframe_tool' or 'fusion_batch_set_keyframes_tool'. It only mentions a confirmation requirement without explaining the trade-offs or prerequisites.

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

fusion_connect_nodes_toolC

Connect one Image output to one Image input.

ParametersJSON Schema
NameRequiredDescriptionDefault
replaceNo
source_nodeYes
target_nodeYes
target_inputYes
source_outputYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose important behaviors: what happens if the target input already has a connection, the role of the 'replace' parameter, or error conditions. For a mutation tool, this is insufficient.

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

Conciseness3/5

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

The description is a single sentence, concise and front-loaded. However, it sacrifices necessary detail for brevity, resulting in an incomplete specification.

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

Completeness2/5

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

Given no output schema, no annotations, and simple tool, the description is incomplete. It omits behavior of the 'replace' parameter, connection validation, and any error handling, which are critical for correct invocation.

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

Parameters2/5

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

With 0% schema description coverage, the description adds no meaning to the parameters. Parameter names are self-explanatory but the description does not clarify the 'replace' parameter or any constraints, leaving the agent to guess.

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

Purpose4/5

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

The description clearly states the action (connect) and the specific types (one Image output to one Image input). It is more specific than the tool name alone and distinguishes from disconnect or batch tools, though it could mention it creates a single connection.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like fusion_batch_set_inputs_tool or fusion_disconnect_input_tool. No prerequisites or conditions are mentioned, leaving the agent to infer context.

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

fusion_create_graph_toolC

Create a structured node graph transactionally.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodesYes
connectionsYes
comp_settingsNo

TDQS

C2.5/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It mentions 'transactionally,' a key behavioral trait, but fails to detail side effects, error handling, permissions, or what happens on failure.

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

Conciseness2/5

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

The description is a single short sentence, but it is too brief to be useful. The word 'transactionally' is valuable, but the extreme brevity comes at the cost of missing critical information.

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

Completeness1/5

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

With 0% schema coverage, no output schema, and three parameters including nested arrays, the description is severely incomplete. It does not explain what constitutes a 'structured node graph' or how to format nodes/connections.

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

Parameters1/5

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

Schema coverage is 0%, and the description does not explain any parameter (nodes, connections, comp_settings). It adds no meaning beyond the schema's type structures.

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

Purpose5/5

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

The description clearly states the tool creates a 'structured node graph transactionally,' with a specific verb and resource. It distinguishes from siblings like fusion_create_node_tool (single node) and fusion_connect_nodes_tool (connections only) by implying a bulk creation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs. alternatives. There is no mention of prerequisites, conditions for transactional safety, or when to choose other composition methods.

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

fusion_create_node_toolC

Create one Fusion node after validating the tool id.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
nameNo
tool_idYes
settingsNo

TDQS

C2.6/5.0
Behavior2/5

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

Without annotations, the description carries full burden. It only mentions validation but fails to disclose failure modes, side effects, permissions, or what happens on successful creation.

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

Conciseness3/5

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

The description is a single concise sentence, which is efficient, but it sacrifices essential detail. It front-loads the action but lacks comprehensive information.

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

Completeness1/5

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

Given 5 parameters, no output schema, no annotations, and many sibling tools, the description is severely incomplete. It omits parameter guidance, return information, error handling, and usage context.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description ignores all 5 parameters. It does not explain the purpose of x, y, name, tool_id, or settings, leaving the agent with no semantic hints beyond the schema.

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

Purpose5/5

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

The description clearly states the action 'Create one Fusion node' and includes a precondition 'after validating the tool id'. It distinguishes this tool from siblings like fusion_create_graph_tool by specifying node creation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention contexts like prerequisites 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_delete_keyframe_toolB

Delete one scalar BezierSpline keyframe when confirmed.

ParametersJSON Schema
NameRequiredDescriptionDefault
frameYes
confirmNo
node_nameYes
input_nameYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description bears full burden. It discloses the need for confirmation but omits details such as destructive nature, preconditions (node existence), post-conditions, or error handling. Some transparency is present but insufficient.

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

Conciseness4/5

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

The description is a single concise sentence, front-loading the action. However, it is overly minimal and could include more useful information without becoming verbose.

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

Completeness2/5

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

Given the tool has 4 parameters, no output schema, and no annotations, the description is incomplete. It fails to explain return values, success/failure behavior, or prerequisites. For a state-modifying tool, this is insufficient.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not individually explain any of the four parameters (node_name, input_name, frame, confirm). It only hints at the confirm parameter via 'when confirmed'. This inadequately compensates for the lack of parameter documentation.

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

Purpose5/5

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

The description clearly states the action (delete), the specific resource (scalar BezierSpline keyframe), and the condition (when confirmed). It distinguishes from sibling tools like fusion_clear_keyframes_tool (which deletes all keyframes) and fusion_set_keyframe_tool (which sets, not deletes).

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

Usage Guidelines3/5

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

The description implies usage for deleting a single keyframe with confirmation, but does not explicitly state when to use this tool versus alternatives like fusion_clear_keyframes_tool. No guidance on prerequisites or exclusions is provided.

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

fusion_delete_node_toolB

Delete one node only when confirm is true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
node_nameYes

TDQS

B3.3/5.0
Behavior3/5

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

The description discloses that deletion occurs only if 'confirm' is true, which is beyond what the schema indicates (default false). No annotations are provided, so the description carries the burden. However, it lacks details on side effects, reversibility, or error behavior (e.g., missing node).

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

Conciseness5/5

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

The description is a single sentence, front-loaded with the core action, and every word is necessary. No wasted text; it achieves maximum information density.

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

Completeness3/5

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

For a simple delete tool with no output schema and no annotations, the description is adequate but leaves gaps: no mention of return values, error handling (e.g., missing node), or side effects. It covers the essential conditional behavior but is not comprehensive.

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

Parameters3/5

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

Schema coverage is 0%, so the description should add meaning. It clarifies that 'confirm' must be true for deletion, but does not explain 'node_name' beyond its name. However, parameter names are self-explanatory, and the description adds context for 'confirm'.

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

Purpose4/5

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

The description clearly states the action ('delete') and resource ('one node'), and distinguishes from the sibling 'fusion_batch_delete_nodes_tool' by specifying 'only' one node. The condition 'when confirm is true' adds specificity, though the purpose is clear but not explicitly differentiated from other delete-related tools.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives (e.g., 'fusion_batch_delete_nodes_tool'). The condition 'only when confirm is true' implies a prerequisite but does not provide context or exclusions. No mention of prerequisites or best practices.

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

fusion_disconnect_input_toolC

Disconnect one node input.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_nameYes
input_nameYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only says 'disconnect' without detailing side effects, error conditions, or what happens to other connections.

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

Conciseness3/5

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

The description is a single sentence, which is concise, but it sacrifices necessary detail. It is front-loaded but incomplete.

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

Completeness2/5

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

For a simple but state-changing tool, the description lacks completeness. No mention of what happens if the input doesn't exist, whether the operation is reversible, or any output.

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

Parameters1/5

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

With 0% schema description coverage, the description must explain parameters. It adds no meaning beyond the schema's titles; 'node_name' and 'input_name' remain undefined.

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

Purpose4/5

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

The description clearly states the action ('Disconnect') and the resource ('one node input'). It directly matches the tool's name and distinguishes from siblings like 'fusion_connect_nodes_tool' or 'fusion_set_node_input_tool'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It lacks any context about prerequisites, scenarios, or exclusions.

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

fusion_export_graph_toolC

Export a reusable graph schema from the active comp.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_namesNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, and the description only states the action without disclosing side effects, output format, or whether the tool modifies state. The agent cannot infer read-only or destructive behavior.

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

Conciseness2/5

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

The description is a single sentence, which is concise, but it omits essential information about parameters and behavior. The brevity sacrifices completeness.

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

Completeness2/5

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

Given no output schema, no annotations, and a single undocumented parameter, the description fails to provide a complete picture of the tool's inputs, outputs, or side effects. The agent cannot reliably use this tool.

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

Parameters1/5

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

The only parameter 'node_names' is not described in the input schema (coverage 0%) and the description does not explain its purpose or effect (e.g., filter which nodes to include). This is a critical gap.

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

Purpose5/5

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

The description clearly states the verb 'Export' and the specific resource 'reusable graph schema from the active comp'. It uniquely identifies the tool's function among siblings like fusion_get_tool_schema_tool and fusion_create_graph_tool.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The phrase 'reusable' implies saving a template, but no when-not-to-use or alternative references are provided.

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

fusion_find_broken_connections_toolB

Find disconnected required image inputs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden for behavioral disclosure. It does not state whether the tool is read-only, what side effects might occur, or any constraints. The description merely repeats the tool's action without revealing behavior beyond the basic operation.

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

Conciseness4/5

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

The description is a single concise sentence with no wasted words. It is appropriately front-loaded and efficient, though slightly more context could improve clarity without sacrificing conciseness.

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

Completeness2/5

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

For a tool with zero parameters, no annotations, and no output schema, the description is the sole source of information. It fails to explain what the tool returns, how to interpret results, or what qualifies as 'broken.' This lack of completeness hinders an agent's ability to use the tool effectively.

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

Parameters4/5

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

The input schema has zero parameters, so schema coverage is 100%. Per guidelines, baseline is 4. The description does not need to add parameter semantics, but it could clarify the scope of the operation (e.g., entire composition vs. selected nodes).

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

Purpose4/5

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

The description clearly states the tool finds 'disconnected required image inputs,' which is a specific verb-resource combination. It distinguishes from siblings like fusion_find_missing_media_tool by specifying the focus on connections and required image inputs, but could be more precise about what 'broken' entails.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. With many sibling tools, explicit usage context is missing, leaving the agent to infer when this find operation is appropriate.

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

fusion_find_missing_media_toolA

Find missing Loader media and invalid Saver output paths.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, so description must fully disclose behavior. It only states what it does but not how it operates, what triggers, or what output format to expect. The agent lacks context on the tool's side effects or return structure.

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

Conciseness5/5

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

The description is extremely concise—one sentence of nine words—with no unnecessary information. It is front-loaded and efficient.

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

Completeness2/5

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

Without an output schema, the description should explain what the tool returns (e.g., list of missing files). It fails to do so, leaving the agent uncertain about the result. For a zero-parameter tool, this is a significant gap.

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

Parameters4/5

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

There are zero parameters, and schema coverage is 100% (empty schema). Baseline for 0 parameters is 4, and the description does not need to add parameter semantics.

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

Purpose5/5

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

The description clearly states it finds missing Loader media and invalid Saver output paths, specifying the verb 'Find' and the specific resources (Loader/Saver nodes). This distinguishes it from siblings like fusion_find_broken_connections_tool.

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

Usage Guidelines3/5

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

The description implies usage for checking Loader/Saver media issues but does not provide explicit guidance on when to use this tool versus alternatives, nor does it state 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_get_comp_path_toolA

Return the active composition path, if saved.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

The description discloses minimal behavior: it returns the path only if saved. It does not specify what happens when the composition is unsaved (e.g., null or error), nor does it mention prerequisites like an open composition. No annotations exist to compensate.

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

Conciseness5/5

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

A single sentence of 9 words with no extraneous information. Every word is necessary and front-loaded.

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

Completeness3/5

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

For a parameterless getter, the description is minimal but lacks details on error states (e.g., unsaved composition), return format (path string or null), and prerequisite conditions. It is adequate but not thorough.

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

Parameters4/5

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

There are no parameters, and schema coverage is 100%. The description adds meaning by referencing the 'active composition', implying reliance on the current state. This is sufficient given the lack of parameters.

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

Purpose5/5

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

The description clearly states the verb 'Return' and the resource 'active composition path', with a condition 'if saved'. It is specific and distinguishes the tool from siblings like fusion_get_comp_settings or fusion_get_status.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it does not explain when to choose this over fusion_get_comp_settings or fusion_get_status.

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

fusion_get_comp_settings_toolC

Return timeline, render, frame, path, and format composition settings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, and the description lacks behavioral details such as side effects (none expected for a read operation), error conditions (e.g., what if comp is not open?), or output format. The description only lists what is returned.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks detail. It could be front-loaded with key information, but it is not verbose. However, it sacrifices completeness for brevity.

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

Completeness2/5

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

With zero parameters and no output schema, the description is the sole source of information. It lists five categories of settings but does not describe the return format (e.g., object, JSON), nesting, or example output. This is insufficient for an agent to fully understand what will be returned.

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

Parameters3/5

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

No parameters exist, so schema coverage is 100%. However, the description does not elaborate on the structure or contents of the returned settings beyond listing categories, leaving some ambiguity about what exactly is included in 'format settings' or 'path'.

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

Purpose4/5

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

Clearly states it returns composition settings including timeline, render, frame, path, and format. The verb 'Return' is appropriate, and the resource is composition settings. It distinguishes itself from sibling tools that return single settings (e.g., fusion_get_comp_path_tool).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like the individual getter tools. The description does not mention that this is a bulk retrieval tool or that it should be used instead of multiple calls.

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

fusion_get_connections_toolC

Return image-flow connections, optionally filtered to one node.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_nameNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so description carries full burden. It indicates a read operation but omits details like permissions, performance implications, or whether connections are retrieved for the active composition. The description is minimal and leaves uncertainty 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.

Conciseness4/5

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

The description is a single sentence, front-loading the core purpose. It is concise without excess. However, it could be slightly more structured by separating the action and the optional filter.

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

Completeness2/5

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

Given the lack of output schema and minimal context, the description does not fully clarify what the returned connections look like (e.g., list of objects, structure). It fails to make the tool self-contained for an agent to use without assumptions.

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

Parameters3/5

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

Schema coverage is 0%, so description must explain parameters. The single parameter 'node_name' is partially clarified by 'optionally filtered to one node', which links the parameter to its purpose. However, it doesn't explain the expected format (e.g., node ID vs name) or behavior if omitted.

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

Purpose4/5

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

The description clearly states it returns 'image-flow connections', which is a specific resource. The optional filtering to one node adds precision. However, it doesn't explicitly differentiate from sibling tools like 'get_node_input', which might also retrieve connection info.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as 'fusion_connect_nodes_tool' or 'fusion_get_node_input_tool'. No exclusion or context provided beyond filtering.

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

fusion_get_current_frame_toolA

Return the active composition current frame.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It correctly indicates a read operation, but could mention it is non-destructive. 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.

Conciseness5/5

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

Extremely concise: one sentence, no wasted words. Front-loaded with the action.

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

Completeness4/5

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

Given zero parameters and no output schema, the description adequately explains the tool's purpose. Could specify return format (e.g., frame number), but sufficient for a simple getter.

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

Parameters4/5

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

No parameters to describe; schema coverage is 100%. The description adds no extra meaning but none is needed. Baseline 4 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Return' and the resource 'active composition current frame', which is specific and distinguishes it from sibling 'fusion_set_current_frame_tool'.

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

Usage Guidelines3/5

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

No guidance on when to use or not use this tool. The description implies usage for reading the current frame, but no explicit context or alternatives mentioned.

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

fusion_get_expression_toolC

Return expression and state for one input.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_nameYes
input_nameYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only states return of expression and state, but does not disclose if this is a read-only operation, any side effects, authentication needs, or rate limits. The description is insufficient for behavioral transparency.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. However, it is overly terse and omits important details. Conciseness is good, but it sacrifices completeness.

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

Completeness1/5

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

Given the lack of annotations and output schema, the description is severely incomplete. It does not explain the return format, provide context on the 'state', or offer any guidance for a tool with two required parameters. The description is insufficient for an agent to know what to expect.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must add meaning beyond parameter names. The description does not explain what 'node_name' or 'input_name' represent, their format, or any constraints. It adds no value to the parameter definitions.

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

Purpose5/5

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

The description clearly states the tool returns expression and state for one input. It uses a specific verb ('Return') and resource ('expression and state'), and distinguishes from siblings like fusion_set_expression_tool (set) and fusion_remove_expression_tool (remove).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. While the purpose is clear, there is no mention of when not to use it or what distinguishes it from similar tools like get_node_input_tool. The description is too minimal to guide selection.

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

fusion_get_keyframes_toolC

Return keyframes and animation state for one input.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_nameYes
input_nameYes

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, error conditions, or side effects. The agent cannot infer whether this tool is safe or requires specific permissions.

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

Conciseness3/5

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

The description is extremely concise (one sentence, 7 words) and front-loaded with the action and object. However, it sacrifices necessary detail for brevity, making it under-specified.

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

Completeness1/5

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

Given no output schema, zero schematic parameter descriptions, and no annotations, the description is severely incomplete. It fails to explain the return format, the meaning of 'animation state', or any usage assumptions.

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

Parameters2/5

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

The input schema has zero description coverage, and the tool description only hints at the scope ('for one input') without explaining the parameters 'node_name' and 'input_name'. This leaves the agent guessing about format or constraints.

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

Purpose4/5

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

The description uses a specific verb ('Return') and resource ('keyframes and animation state') with scoping ('for one input'). It clearly indicates the tool's function, though it does not explicitly distinguish it from sibling keyframe tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., fusion_set_keyframe_tool). The agent must infer usage from context, which is insufficient.

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

fusion_get_node_input_toolC

Return one node input's metadata and current non-image value.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_nameYes
input_nameYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It implies a read operation but doesn't disclose error behavior, required permissions, or what 'metadata' entails. No mention of side effects or assumptions.

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

Conciseness3/5

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

The description is a single sentence, making it concise but not well-structured. It misses key information and front-loads only the basic action.

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

Completeness2/5

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

Given no output schema and no annotations, the description is incomplete. It fails to specify return structure, error cases, or usage examples, leaving significant gaps 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.

Parameters2/5

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

Schema coverage is 0%, and the description adds minimal parameter context beyond their names. It doesn't explain valid formats, defaults, or constraints for node_name and input_name.

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

Purpose4/5

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

The description clearly states the action (return) and resource (node input's metadata and current non-image value), distinguishing it from sibling tools like fusion_set_node_input_tool which sets values.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like fusion_get_node_tool. It lacks context on prerequisites, limitations, 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_get_node_toolA

Return full read-only details for one node by name or internal id.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_nameYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, and the description only mentions 'read-only'. It does not disclose error behavior, idempotency, or what 'full details' entails, leaving agents with limited understanding 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.

Conciseness4/5

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

The description is extremely concise (one sentence) and front-loaded, but it could benefit from slightly more detail without becoming verbose.

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

Completeness2/5

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

Given the tool has one parameter and no output schema, the description is incomplete. It lacks information about return format, error conditions, or any prerequisites, leaving agents underinformed.

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

Parameters4/5

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

The description adds meaning beyond the schema by clarifying that the node_name parameter can be either a name or an internal id, which is not evident from the schema alone. With 0% schema coverage, this is valuable.

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

Purpose5/5

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

The description clearly states it returns full read-only details for one node, using 'by name or internal id', which distinguishes it from sibling tools that list all nodes or modify nodes.

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

Usage Guidelines3/5

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

The description implies use for retrieving details of a single node, but does not explicitly mention when to use this tool over alternatives like fusion_list_nodes_tool 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_get_render_status_toolA

Return Fusion render status attrs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states 'Return Fusion render status attrs.' without indicating side effects (likely none), read-only nature, error conditions, or the structure of returned data. This is insufficient for a tool carrying no structured metadata.

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

Conciseness5/5

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

The description is a single, front-loaded sentence (9 words) with no filler. It earns its place by concisely naming the action and resource.

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

Completeness3/5

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

For a parameterless tool, the description minimally conveys its purpose, but it does not explain what 'render status attrs.' includes or the format of the return value. Given the lack of an output schema, more detail would be beneficial for an agent, especially among many sibling tools. Adequate but with gaps.

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

Parameters4/5

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

The tool has zero parameters, so parameter semantics are trivially covered by the schema (100% coverage). The description adds meaning by specifying that the output is 'render status attrs,' which is helpful beyond the empty schema. Baseline 4 applies for 0-param tools.

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

Purpose5/5

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

The description 'Return Fusion render status attrs.' clearly states the action (Return) and resource (Fusion render status attributes). Among sibling tools focusing on rendering (e.g., fusion_render_tool, fusion_abort_render_tool, fusion_validate_render_tool), this tool is uniquely for querying status, demonstrating clear differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when or why to use this tool over alternatives. It lacks context such as prerequisites, typical use cases, or hints about what 'render status' encompasses, leaving the agent without decision support.

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

fusion_get_saver_settings_toolC

Return render-relevant settings from one Saver node.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_nameYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, and the description only states 'Return render-relevant settings.' It implies a read operation but does not disclose any behavioral traits such as what happens if the node doesn't exist, whether it modifies state, 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.

Conciseness3/5

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

The description is a single concise sentence, but it sacrifices necessary detail. It is appropriately front-loaded but lacks completeness.

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

Completeness2/5

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

The tool is simple (one required parameter, no output schema), yet the description does not explain what 'render-relevant settings' are, the format of the return, or error handling. An agent would need more context to invoke the tool correctly.

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

Parameters1/5

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

The schema has 0% description coverage for its single parameter 'node_name,' and the tool description adds no explanation of what the parameter means, expected format, or examples. This is insufficient for an agent to use the parameter correctly.

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

Purpose5/5

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

The description states 'Return render-relevant settings from one Saver node,' which is a clear verb+resource combination. It specifies the target node type (Saver) and the scope of data (render-relevant settings), distinguishing it from sibling tools like fusion_set_saver_settings_tool and other getter tools.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives or when not to use it. No prerequisites or contextual advice is provided.

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

fusion_get_selected_nodes_toolA

Return read-only details for currently selected nodes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It states 'read-only' which indicates no side effects, which is valuable. However, it does not disclose what 'details' include, any authentication requirements, or potential limitations. The information is minimal but not misleading.

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

Conciseness5/5

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

The description is a single sentence of 8 words, front-loading the core purpose. Every word is necessary, and there is no extraneous text. It achieves maximum conciseness without sacrificing clarity.

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

Completeness3/5

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

Given the tool has no parameters, no output schema, and no annotations, the description is somewhat incomplete. It does not specify what kind of 'details' are returned (e.g., IDs, names, properties) or the format of the output. For a tool that returns data, this vagueness limits the agent's ability to use the result effectively.

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

Parameters4/5

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

The tool has zero parameters, and schema coverage is 100%. According to guidelines, 0 parameters yield a baseline of 4. No additional parameter semantics are needed, and the description adds no redundant information.

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

Purpose5/5

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

The description uses a specific verb 'Return' and resource 'details for currently selected nodes', clearly distinguishing it from sibling tools like fusion_list_nodes_tool (which lists all nodes) and fusion_select_nodes_tool (which selects nodes). It unambiguously states what the tool does.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or compare with similar tools like fusion_get_node_tool. The usage context 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_get_status_toolB

Return Fusion connection and active composition status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. However, it only states what the tool returns ('connection and active composition status'), without describing side effects, authentication requirements, or whether it is safe to call repeatedly. The description is insufficient for an agent to understand the tool's full behavior.

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

Conciseness5/5

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

The description is a single sentence that is concise and front-loaded. Every word is necessary and contributes to understanding the tool's function. There is no redundancy or extraneous information.

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

Completeness3/5

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

Given the tool has no parameters and no output schema, the description is somewhat complete for a simple status check. However, it would benefit from indicating the format or structure of the returned status, or clarifying what 'active composition' refers to. The presence of many sibling tools also suggests more context could help differentiate.

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

Parameters4/5

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

The input schema has zero parameters and schema description coverage is 100%. There is nothing for the description to add regarding parameters, so the baseline score of 4 applies. The description does not attempt to explain parameters because none exist.

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

Purpose4/5

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

The description 'Return Fusion connection and active composition status' clearly states the action (Return) and the resource (Fusion connection and active composition status). It effectively communicates the tool's purpose without ambiguity, though it does not differentiate from siblings beyond its unique name.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternative tools. There is no mention of prerequisites, limitations, or selection criteria, leaving the agent with no basis to choose it over other tools like fusion_get_comp_settings_tool or fusion_get_render_status_tool.

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

fusion_get_tool_catalog_toolC

Return Fusion registry tool catalog metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description provides no behavioral details beyond the implied read-only nature, such as whether results are cached or require authentication.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks necessary detail for an optional parameter and expected output.

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

Completeness2/5

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

Given no output schema and limited description, the agent cannot infer what metadata is returned or how to use the search filter, making the tool underdefined.

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

Parameters1/5

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

The single parameter 'search' is not described in the schema or the description, leaving its purpose and format entirely unclear despite 0% schema coverage.

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

Purpose5/5

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

The description clearly specifies the verb 'Return' and the resource 'Fusion registry tool catalog metadata', which is distinct from sibling tools that focus on rendering, nodes, keyframes, etc.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus siblings, such as when needing tool definitions vs other metadata like connections or render status.

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

fusion_get_tool_schema_toolC

Return registry and observed active-comp schema for one tool id.

ParametersJSON Schema
NameRequiredDescriptionDefault
tool_idYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, required permissions, or side effects. For a tool that returns schema, it implies a read operation but offers no explicit disclosure.

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

Conciseness4/5

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

The description is a single sentence with no filler, efficiently conveying the core function. However, it could be slightly improved by front-loading key terms like 'schema' and 'tool id' for faster scanning.

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

Completeness3/5

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

Given the tool's simplicity (single parameter, no output schema), the description covers the basic action but lacks details on return format or how the schema is structured. It is minimally adequate but not complete.

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

Parameters2/5

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

Schema description coverage is 0%, meaning the description adds no detail about the 'tool_id' parameter beyond its name. The phrase 'for one tool id' provides minimal context but does not explain what valid values are or how to obtain them.

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

Purpose4/5

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

The description clearly states the verb 'Return' and the resource 'registry and observed active-comp schema' for one tool id, which is specific and differentiates from sibling tools like fusion_get_tool_catalog_tool that returns a catalog of tools.

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

Usage Guidelines2/5

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

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

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

fusion_list_nodes_toolA

Return all nodes in the active Fusion composition.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only mentions returning nodes but does not clarify potential nuances such as whether hidden nodes are included, ordering, or performance implications.

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

Conciseness5/5

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

The description is a single sentence, front-loaded with the action and resource, containing no extraneous words.

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

Completeness3/5

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

For a simple tool with no output schema, the description is adequate but lacks details on the output format (e.g., what properties each node contains). It covers the high-level function but leaves some ambiguity for an AI agent.

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

Parameters4/5

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

The input schema has zero parameters, and the description implicitly confirms no arguments are needed. Baseline for 0 params is 4, and the description adds clarity by stating the tool's action without requiring parameters.

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

Purpose5/5

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

The description uses a specific verb 'Return' and identifies the resource as 'all nodes in the active Fusion composition'. It clearly distinguishes from sibling tools like 'fusion_get_node_tool' (singular) and 'fusion_get_selected_nodes_tool' (only selected).

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. It only states the tool's basic function.

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

fusion_remove_expression_toolC

Remove one expression when confirmed.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
node_nameYes
input_nameYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are present, so the description must convey behavior. It only says 'when confirmed,' which hints at the confirm parameter but does not explain what happens if confirm is false, what permissions are needed, or any side effects. Minimal transparency.

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

Conciseness4/5

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

The description is a single concise sentence with no wasted words. However, it could benefit from slightly more detail without being verbose.

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

Completeness1/5

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

Given no output schema, no annotations, and three parameters with no descriptions, the one-sentence description is severely incomplete. It fails to explain the confirm parameter, the removal process, or any return value, leaving the agent with insufficient information.

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

Parameters1/5

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

Schema coverage is 0%, yet the description does not explain any parameters. The parameter names (node_name, input_name, confirm) are somewhat self-explanatory, but the description adds no additional meaning or context to assist the agent.

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

Purpose4/5

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

The description clearly states the action (remove) and resource (expression). It distinguishes from sibling tools like fusion_set_expression_tool and fusion_get_expression_tool, but lacks specificity about what 'confirmed' means.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives. There is no mention of prerequisites, typical workflow (e.g., after getting an expression), or scenarios where removal is appropriate.

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

fusion_render_toolC

Run a synchronous render only when confirm is true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
end_frameNo
saver_nodeNo
start_frameNo
allow_overwriteNo

TDQS

C2.3/5.0
Behavior2/5

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

Without annotations, the description must disclose behavior. It mentions synchronous (blocking) but omits destructive actions like file overwrite, auth needs, or rate limits. The allow_overwrite parameter hints at destructiveness but is not explained.

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

Conciseness2/5

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

The description is extremely concise (one sentence) but lacks structure. It omits critical details, making it under-informative rather than efficiently concise.

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

Completeness1/5

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

Given no output schema, 5 parameters with 0% coverage, and no annotations, the description is severely incomplete. Agents lack information to select or invoke the tool correctly.

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

Parameters1/5

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

With 0% schema description coverage, the description must explain parameters. It only mentions confirm, ignoring end_frame, start_frame, saver_node, and allow_overwrite. Agents cannot understand parameter roles from this description.

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

Purpose4/5

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

The description clearly states the tool performs a synchronous render and adds a condition (only when confirm is true). It distinguishes from sibling tools like get_render_status or validate_render, but could be more explicit about the render scope.

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

Usage Guidelines2/5

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

The description only says 'only when confirm is true', which is a condition but not a guideline on when to use this tool versus alternatives. No context about prerequisites, when to choose synchronous over asynchronous, or exclusions.

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

fusion_save_comp_toolB

Save the active composition to its current path or a supplied .comp path.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, and the description fails to disclose behavioral traits such as overwrite behavior, error handling, or permission requirements. The word 'save' implies mutation but details are missing.

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

Conciseness5/5

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

Single sentence with 13 words, front-loaded with verb and resource. No wasted content.

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

Completeness4/5

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

For a tool with one optional parameter and no output schema, the description covers the core functionality adequately. Missing edge cases but acceptable for simplicity.

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

Parameters3/5

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

With 0% schema description coverage, the description compensates by explaining the path parameter's role: save to supplied path or current path if null. However, it does not specify format or constraints.

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

Purpose5/5

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

The description clearly states the action (save), the resource (active composition), and the target (current or supplied path). It distinguishes well from sibling tools like fusion_get_comp_path_tool.

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

Usage Guidelines2/5

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

No guidance on when to use this tool over alternatives like export or render tools. Lacks specification of 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.

fusion_select_nodes_toolC

Select active-composition nodes by exact name or internal id.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_namesYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose key behavioral details such as whether selection replaces or adds, what happens if nodes don't exist, or if a composition must be active. The description only states the basic operation.

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

Conciseness5/5

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

A single, concise sentence that contains all necessary information without any superfluous words.

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

Completeness2/5

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

No output schema and minimal description leave significant gaps: no mention of prerequisites (e.g., active composition), return value, or side effects. The tool is simple but still underserved.

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

Parameters3/5

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

With 0% schema description coverage, the description adds the key detail that nodes can be selected 'by exact name or internal id', supplementing the bare array-of-strings schema. However, it does not explain formatting, case sensitivity, or behavior for multiple names.

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

Purpose4/5

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

The description clearly states the action 'select' and the resource 'active-composition nodes', and specifies selection criteria 'by exact name or internal id'. However, it does not differentiate from sibling tools like fusion_get_selected_nodes_tool or fusion_list_nodes_tool.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites, and 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_set_comp_range_toolC

Set global and render frame range with undo protection.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_frameYes
start_frameYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It mentions 'undo protection' but does not disclose destructive behavior, side effects, required permissions, or failure modes. Inadequate 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.

Conciseness4/5

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

Single sentence with front-loaded verb and resource, no wasted words. However, could include more detail without losing conciseness.

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

Completeness2/5

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

Given no output schema, no annotations, and two required parameters with zero schema descriptions, the description fails to provide sufficient context for a complete understanding of the tool's behavior and effects.

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

Parameters2/5

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

Schema coverage is 0%, and the description does not explain the meaning of 'start_frame' and 'end_frame', their allowed values, or how they relate to 'global and render frame range'. Minimal added value beyond parameter names.

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

Purpose5/5

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

Description clearly specifies the verb 'Set' and the resource 'global and render frame range', and adds a distinctive feature 'with undo protection', making it highly specific and differentiating from sibling tools that set other properties.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites or exclusions provided. The description lacks context for appropriate usage.

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

fusion_set_current_frame_toolB

Set the active composition current frame with undo protection.

ParametersJSON Schema
NameRequiredDescriptionDefault
frameYes

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It does disclose the behavioral trait of 'undo protection', which is positive. However, it fails to mention other relevant behaviors such as whether setting the current frame triggers a render, requires the composition to be open, or has any side effects on playback. The description partially fulfills the transparency need but is insufficient for a tool with no annotations.

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

Conciseness4/5

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

The description is a single short sentence, which is concise and front-loaded with the key action. However, it could be slightly improved by including the parameter context without becoming verbose. Overall, it is efficient and to the point.

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

Completeness3/5

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

Given the tool's simple nature (set current frame), the description covers the basic action and mentions undo protection. However, it lacks completeness: no return value description, no mention of applicable composition state, and no integration with sibling tools. With no output schema or annotations, the description should provide more context to ensure correct usage.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not elaborate on the single 'frame' parameter. It does not specify the unit (e.g., 0-based, integer), range, or format. Since there is only one parameter, the description should clarify its semantics but fails to do so, leaving the agent to guess.

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

Purpose5/5

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

The description clearly states 'Set the active composition current frame', specifying a specific verb (set) and resource (current frame of active composition). It also mentions 'undo protection', adding a useful detail. This distinguishes it from sibling tools like fusion_get_current_frame_tool (get vs set) and fusion_set_keyframe_tool (set keyframe vs set current frame).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions or prerequisites. For example, it could state that this tool is for moving the playhead, while fusion_set_keyframe_tool is for setting animation keyframes. Lacking such context, the agent must 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_set_expression_toolC

Set a native Fusion expression on one static scalar or point input.

ParametersJSON Schema
NameRequiredDescriptionDefault
replaceNo
node_nameYes
expressionYes
input_nameYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description fails to disclose behavioral traits like overwriting behavior, permissions, or side effects, which are critical for a mutation tool.

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

Conciseness3/5

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

The description is a single concise sentence, but it omits necessary details, making it efficient yet insufficient for the tool's complexity.

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

Completeness1/5

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

Given 4 parameters, no output schema, and no annotations, the description is highly incomplete, lacking any context on return values or parameter specifics.

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

Parameters2/5

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

Schema coverage is 0%, and the description only hints at 'input' (input_name) without explaining node_name, expression, or replace, adding minimal value beyond the schema.

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

Purpose5/5

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

The description clearly specifies the verb 'set' and the resource 'native Fusion expression' on 'one static scalar or point input', distinguishing it from siblings like fusion_remove_expression_tool.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as fusion_batch_set_inputs_tool or fusion_get_expression_tool, leaving the agent without 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_set_keyframe_toolC

Set one keyframe on a scalar or point input.

ParametersJSON Schema
NameRequiredDescriptionDefault
frameYes
valueYes
replaceNo
node_nameYes
input_nameYes

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations, the description fails to disclose key behaviors like whether setting a keyframe overwrites existing ones, how the 'replace' parameter affects behavior, or side effects. The description only states the action without behavioral context.

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

Conciseness2/5

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

The description is a single, vague sentence. While concise, it lacks necessary detail, making it under-specified rather than efficient. Every sentence must earn its place; this one does not provide enough information.

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

Completeness1/5

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

Given the tool's complexity (5 parameters, 4 required, no output schema, no annotations), the description is severely incomplete. It does not cover return values, error conditions, or the behavior of keyframe setting, leaving the agent with insufficient information for correct usage.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning to the five parameters (node_name, input_name, frame, value, replace). The schema titles are minimal, and the description does not explain the role of each parameter or their expected formats.

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

Purpose4/5

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

The description clearly states it sets one keyframe on a scalar or point input, distinguishing it from siblings like fusion_clear_keyframes_tool and fusion_batch_set_keyframes_tool. However, it does not elaborate on what constitutes a scalar or point input in the tool's context.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as batch operations or deletion. There are no exclusions or contextual hints 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_set_node_input_toolB

Set one scalar/string/point/color node input with undo protection.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
node_nameYes
input_nameYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must carry the full burden of behavioral disclosure. It mentions 'undo protection' but omits important details like error handling, idempotency, required permissions, or side effects (e.g., what happens if the input doesn't exist).

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

Conciseness4/5

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

The description is a single sentence with no wasted words. It is front-loaded with the key action. While very short, it is concise, though it could benefit from additional context in the same compact style.

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

Completeness2/5

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

The tool has 3 required parameters, no output schema, and many siblings. The description does not explain return values, error behavior, or how parameters relate to each other. Undo protection is a positive but insufficient detail for a complete understanding.

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

Parameters3/5

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

Schema coverage is 0%, so the description must add meaning. It constrains the value parameter to scalar/string/point/color types, which goes beyond the schema's plain string type. However, it does not explain node_name or input_name semantics, leaving ambiguity.

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

Purpose5/5

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

The description clearly states the verb 'Set' and resource 'node input', specifying supported value types (scalar/string/point/color). It distinguishes from siblings like batch_set_inputs_tool by indicating it sets a single input and mentions undo protection.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives such as fusion_batch_set_inputs_tool or fusion_set_keyframe_tool. There is no mention of prerequisites, limitations, 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_set_node_name_toolC

Rename one node with undo protection.

ParametersJSON Schema
NameRequiredDescriptionDefault
new_nameYes
node_nameYes

TDQS

C2.4/5.0
Behavior2/5

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

The description mentions 'undo protection' but does not clarify what it means (e.g., whether the rename is reversible or locked). With no annotations, the description must disclose more, such as permissions or side effects, which are absent.

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

Conciseness3/5

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

The description is very concise (5 words), which is good for front-loading, but it sacrifices necessary detail. Given the lack of parameter documentation, the description is under-specified.

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

Completeness2/5

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

For a simple rename tool with 2 required parameters and no schema descriptions, the description fails to clarify parameter meanings or output. It is incomplete for effective tool usage.

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

Parameters1/5

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

Both parameters ('node_name' and 'new_name') lack any explanation in the description or schema. The user is left to guess whether 'node_name' is a path, ID, or current name. Schema coverage is 0%, so the description should compensate but does not.

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

Purpose4/5

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

The description clearly states the action ('rename') and the resource ('one node'), and the mention of 'undo protection' adds a distinguishing feature. However, it could be more precise by specifying that 'node_name' is the current identifier.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'fusion_delete_node_tool' or 'fusion_create_node_tool'. The description lacks context for choosing this tool over siblings.

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

fusion_set_node_position_toolB

Move one node in FlowView with undo protection.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
node_nameYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description provides minimal behavioral context. 'Undo protection' hints at safety, but details like coordinate system units, error behavior, or permission requirements are absent.

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

Conciseness5/5

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

The description is a single sentence, direct and efficient. Every word adds value, with no wasted space.

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

Completeness3/5

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

For a simple action with 3 parameters and no output schema, the description is minimally adequate but could include coordinate bounds or clarifications on relative vs absolute positioning.

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

Parameters2/5

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

Schema coverage is 0% and the description does not elaborate on parameters. It implies node_name identifies the node and x,y set position, but lacks explanation of units, constraints, or coordinate system.

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

Purpose5/5

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

The description clearly states the action ('Move'), resource ('one node'), and context ('in FlowView'), and adds a behavioral trait ('with undo protection'). It distinguishes itself from sibling tools like fusion_create_node_tool and fusion_delete_node_tool.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as when to move multiple nodes or adjust positions programmatically. It does not mention exclusions or prerequisites.

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

fusion_set_saver_settings_toolC

Set validated Saver inputs such as Clip with undo protection.

ParametersJSON Schema
NameRequiredDescriptionDefault
settingsYes
node_nameYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behaviors. It mentions 'undo protection' but fails to detail other behavioral traits like validation rules, what happens on error, or if the tool modifies the comp immediately. The description is insufficient for understanding 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.

Conciseness3/5

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

The description is concise (one sentence) but front-loads key information. However, the conciseness sacrifices necessary detail; it could be slightly longer to cover essential points like parameter usage and error conditions.

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

Completeness2/5

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

Given no output schema and low schema coverage, the description is incomplete. It does not explain return values, error states, or the full behavior of the settings object. The tool's context (setting validated Saver inputs) is partially conveyed but lacks depth.

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

Parameters2/5

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

Schema coverage is 0% and the description adds minimal parameter insight. It hints that 'settings' can include 'Clip' but does not specify other valid keys or data types. 'node_name' and 'settings' are not explained beyond the schema's bare structure.

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

Purpose4/5

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

Description names the specific tool purpose: 'Set validated Saver inputs such as Clip'. It clearly indicates it's for setting Saver inputs, distinguishing it from generic node input setters like fusion_set_node_input_tool. However, it does not fully describe all possible inputs or what 'validated' entails.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives (e.g., fusion_set_node_input_tool). No mention of prerequisites, such as the comp being open or the Saver node existing. The agent is left 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_summarize_comp_toolB

Return a compact active-comp summary for AI agents.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior but only says 'return a summary.' It does not explicitly state that the tool is read-only, non-destructive, or what side effects (if any) occur. The content of the summary is undefined, leaving the agent with 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.

Conciseness5/5

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

The description is a single, efficient sentence with no superfluous words. It conveys the core purpose front-loaded, earning full marks for conciseness.

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

Completeness2/5

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

Given the absence of an output schema and annotations, the description should provide more context about the summary's format (e.g., text, JSON) or content (e.g., node count, frame range). 'Compact active-comp summary' is vague and insufficient for an agent to understand the tool's output.

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

Parameters4/5

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

The tool has zero parameters, so schema coverage is 100%. The description adds no parameter info, but none is needed. It correctly implies a self-contained operation, earning a baseline score of 4.

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

Purpose5/5

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

The description explicitly states the tool returns a 'compact active-comp summary,' with a clear verb ('Return') and resource ('active-comp summary'). This distinguishes it from sibling tools, which are mostly mutation or other query 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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like fusion_get_comp_settings_tool or fusion_get_status_tool. It only vaguely targets 'AI agents,' which does not help an agent decide between similar informational tools.

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

fusion_validate_comp_toolB

Run read-only composition diagnostics.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

Declares 'read-only' behavior, which is a key trait. With no annotations, this provides minimal safety info. However, it does not disclose what the diagnostics involve or whether any side effects exist.

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

Conciseness5/5

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

Single sentence, no fluff, front-loaded with action and resource. Ideal conciseness.

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

Completeness3/5

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

Tool has no parameters and no output schema. Description is brief but leaves the agent uncertain about what diagnostics are run and what the result looks like. Could include expected output or scope.

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

Parameters3/5

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

No parameters exist (schema coverage 100%), baseline is 4. However, no output schema is provided, and the description does not describe the tool's return value or diagnostic results, which is a gap for a parameterless tool.

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

Purpose4/5

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

The description clearly states the tool runs 'read-only composition diagnostics,' specifying the verb 'run' and resource 'composition diagnostics.' It is specific and distinguishes from render or graph validation tools, though it could be more precise.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs siblings like fusion_validate_graph_request_tool or fusion_validate_render_tool. The description implies read-only intent but does not clarify 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_validate_graph_request_toolA

Validate a graph schema without modifying Fusion.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodesYes
connectionsYes
comp_settingsNo

TDQS

A3.5/5.0
Behavior4/5

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

Description explicitly states the tool is non-modifying ('without modifying Fusion'), providing key behavioral insight beyond the absent annotations.

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

Conciseness5/5

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

Single, clear, and efficient sentence with no redundant or extraneous content.

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

Completeness2/5

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

Description is too brief given the lack of output schema and annotations; it does not explain what validation entails, expected input format, or return values.

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

Parameters1/5

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

Schema has 3 parameters with 0% description coverage, and the tool description does not explain any parameter meanings or usage.

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

Purpose5/5

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

Description clearly states verb 'Validate' and resource 'graph schema', and explicitly notes 'without modifying Fusion', distinguishing it from sibling tools that modify the graph.

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

Usage Guidelines3/5

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

Description implicitly suggests it's for validation and non-modifying, but lacks explicit guidance on when to use vs alternatives like fusion_create_graph_tool or fusion_validate_comp_tool.

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

fusion_validate_render_toolC

Validate render prerequisites without starting a render.

ParametersJSON Schema
NameRequiredDescriptionDefault
saver_nodeNo
allow_overwriteNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, and the description only states it validates without starting a render. It does not disclose that it is non-destructive, read-only, or what happens upon validation failure, 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.

Conciseness3/5

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

The description is a single sentence, which is concise but omits critical details about parameters and behavior. While not verbose, it sacrifices completeness.

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

Completeness2/5

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

Given no output schema and no parameter explanations, the description fails to provide enough context for an agent to use the tool correctly, especially among many sibling tools.

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

Parameters1/5

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

The input schema has 0% description coverage, and the description does not explain the parameters saver_node or allow_overwrite. The agent has no context on what these parameters mean or how to use them.

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

Purpose4/5

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

The description clearly states the tool validates render prerequisites and explicitly says it does not start a render, distinguishing it from fusion_render_tool. However, it does not define what 'prerequisites' entails, leaving room for ambiguity.

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

Usage Guidelines3/5

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

The description implies usage before rendering by stating 'without starting a render,' but it does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternative tools like fusion_validate_comp_tool.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 45 tool updatesv0.1.1
    • First observedfusion_abort_render_tool
    • First observedfusion_batch_delete_nodes_tool
    • First observedfusion_batch_set_inputs_tool
    • First observedfusion_batch_set_keyframes_tool
    • First observedfusion_clear_keyframes_tool
    • First observedfusion_connect_nodes_tool
    • First observedfusion_create_graph_tool
    • First observedfusion_create_node_tool
    • First observedfusion_delete_keyframe_tool
    • First observedfusion_delete_node_tool
    • First observedfusion_disconnect_input_tool
    • First observedfusion_export_graph_tool
    • First observedfusion_find_broken_connections_tool
    • First observedfusion_find_missing_media_tool
    • First observedfusion_get_comp_path_tool
    • First observedfusion_get_comp_settings_tool
    • First observedfusion_get_connections_tool
    • First observedfusion_get_current_frame_tool
    • First observedfusion_get_expression_tool
    • First observedfusion_get_keyframes_tool
    • First observedfusion_get_node_input_tool
    • First observedfusion_get_node_tool
    • First observedfusion_get_render_status_tool
    • First observedfusion_get_saver_settings_tool
    • First observedfusion_get_selected_nodes_tool
    • First observedfusion_get_status_tool
    • First observedfusion_get_tool_catalog_tool
    • First observedfusion_get_tool_schema_tool
    • First observedfusion_list_nodes_tool
    • First observedfusion_remove_expression_tool
    • First observedfusion_render_tool
    • First observedfusion_save_comp_tool
    • First observedfusion_select_nodes_tool
    • First observedfusion_set_comp_range_tool
    • First observedfusion_set_current_frame_tool
    • First observedfusion_set_expression_tool
    • First observedfusion_set_keyframe_tool
    • First observedfusion_set_node_input_tool
    • First observedfusion_set_node_name_tool
    • First observedfusion_set_node_position_tool
    • First observedfusion_set_saver_settings_tool
    • First observedfusion_summarize_comp_tool
    • First observedfusion_validate_comp_tool
    • First observedfusion_validate_graph_request_tool
    • First observedfusion_validate_render_tool

TDQS

B3.2/5.0

Scored across 45 tools

Disambiguation5/5

Every tool has a clearly distinct purpose and targeting a specific operation or resource. The descriptions are precise and avoid overlap, even for similar operations like single vs batch keyframe setting.

Naming Consistency5/5

All tools follow a consistent `fusion_<verb>_<noun>_tool` pattern using snake_case, with imperative verbs and clear nouns. No mixing of conventions.

Tool Count3/5

45 tools is high, exceeding the typical well-scoped range of 3-15. While the complexity of Fusion Studio may warrant many operations, the tool count feels bloated with many batch and single-operation variants that could be consolidated.

Completeness4/5

The tool surface covers a comprehensive set of CRUD-like operations for nodes, connections, inputs, keyframes, expressions, rendering, validation, and comp management. Minor gaps exist, such as the lack of a general 'set comp settings' tool beyond frame range.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers