Skip to main content
Glama
bigsbypuglise

Fusion Studio MCP

Fusion Studio MCP

用于通过 Fusion 的脚本 API 检查和操控独立版 Blackmagic Fusion Studio 的本地 MCP 服务器。

本项目采取保守起步策略:先验证 Fusion 连接,再暴露只读检查工具,然后添加带 dry-run 和撤销行为的受保护编辑工具。

当前状态

  • 项目脚手架创建于:2026-07-13

  • 已找到目标应用:Blackmagic Fusion 21.0.2

  • 已确认 Fusion 内置 fusionscript.so 的 Python 导入路径

  • 已针对 Composition1 验证实时合成检查

  • 已创建包含 pytest、ruff 和 Python MCP SDK 的本地 .venv

  • 已实现只读 MCP 工具,涵盖状态、节点列表、单节点查询、选中节点读取和紧凑合成摘要

  • 已实现受保护的编辑 MCP 工具,涵盖选择、输入读写、重命名和 FlowView 定位

  • 已实现受控节点创建、图像连接编辑、输入断开、连接检查和确认的单节点删除

  • 已实现可配置节点创建以及原生关键帧和表达式工具

  • 已实现合成控制以及事务性图形和批处理工具

  • 已实现渲染验证、Saver 设置、诊断、工具目录/架构和图形导出工具

  • 已针对一次性 Composition1 通过实时编辑验证

Related MCP server: nuke-mcp

要求

  • macOS

  • Blackmagic Fusion Studio 21.0.2 或兼容版本

  • 需要 Python 3.11+(requires-python = ">=3.11");macOS 自带的 Python 3.9 太旧

  • Fusion 内置脚本库路径可用: /Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries

  • 服务器模式需要 Python MCP SDK

在 macOS 上通过 Claude Desktop 安装

推荐给艺术家和非开发者:安装 Fusion Studio MCP - Claude Desktop (macOS)。

这是面向 macOS 上独立版 Fusion Studio 和 Claude Desktop 的公开、两次粘贴式安装路径。它从公共 GitHub 仓库安装: https://github.com/bigsbypuglise/fusion-studio-mcp

如果你希望 Claude Desktop 检查 Fusion 合成、列出节点并构建受保护的节点树,而无需进行开发者设置,请使用此路径。

快速版本:

  1. 打开 Fusion Studio 21 并打开或创建一个合成。

  2. 运行 Claude Desktop macOS 指南中的安装粘贴内容。

  3. 运行指南中的 Claude 配置粘贴内容。

  4. 使用 Command-Q 完全退出 Claude Desktop,重新打开,然后让 Claude 检查 Fusion 连接。

注意:

  • 推荐使用 Fusion Studio 21;Fusion Studio 20 可能也能工作。

  • 目前针对独立版 Fusion Studio,而非 DaVinci Resolve。

  • Fusion Studio 必须正在运行且已打开一个活动合成。

  • 第一次 Claude 工具调用可能会请求权限。

  • 默认的新手安装程序跟踪最新的公共 main 分支,因此重新运行粘贴 #1 会更新本地安装。希望固定稳定版本的用户可以使用指南中的标记版本选项。

高级安装

以下 macOS 工作流已使用 Fusion Studio 21.0.2 进行过实机测试。Windows 工作流已针对等效的 Fusion Studio 安装编写文档,但仍需在干净的 Windows 机器上进行验证。

macOS 开发者设置

已支持并实机测试的环境:

  • Blackmagic Fusion Studio 21.0.2

  • Python 3.11+

  • 已确认的应用路径:/Applications/Blackmagic Fusion 21/Fusion.app

  • 已确认的脚本库路径:/Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries

如有需要,使用 Homebrew 安装 Python:

brew install python@3.11

创建并安装本地环境:

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

或者手动操作:

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]'

启动 Fusion Studio,创建或打开一个一次性合成,然后运行:

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 是一个 stdio MCP 服务器入口点。它旨在由 MCP 客户端启动;当在没有客户端附着的普通终端中直接运行时,它可能会在 stdin 关闭后干净退出。使用 scripts/test_fusion_connection.py 进行独立的连接冒烟测试。

macOS MCP 客户端示例:

{
  "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 故障排除:

  • 如果 Fusion 已关闭或没有活动合成,连接工具会返回 FUSION_NOT_RUNNING 或 NO_ACTIVE_COMP。

  • 如果 fusionscript 无法导入,请确认 PYTHONPATH 包含 Fusion 的 Contents/Libraries 路径。

  • macOS 在工具首次与其他应用通信时可能会显示安全提示。允许 Fusion 和终端/MCP 客户端在本地通信。

  • 为 Saver 渲染使用唯一的绝对输出文件夹,以避免覆盖保护和 Fusion 文件名边缘情况。

Windows 开发者设置

已文档化的目标环境:

  • Blackmagic Fusion Studio 21.0.2 或兼容版本

  • Python 3.11+

  • 常见应用路径:C:\Program Files\Blackmagic Design\Fusion 21\Fusion.exe

  • 常见脚本库路径:C:\Program Files\Blackmagic Design\Fusion 21

从 https://www.python.org/downloads/windows/ 安装 Python 并启用“Add python.exe to PATH”,或使用 winget 安装:

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

从 PowerShell 创建并安装本地环境:

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

如果 PowerShell 阻止脚本,仅对当前进程运行:

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

手动命令提示符设置:

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]

启动 Fusion Studio,创建或打开一个一次性合成,然后从 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

与 macOS 一样,服务器命令旨在由 MCP 客户端通过 stdio 启动。如果在没有客户端附着的 shell 中手动运行,它可能会在 stdin 关闭时退出。

Windows MCP 客户端示例:

{
  "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 故障排除:

  • 这些 Windows 步骤已编写文档,但尚未在干净的 Windows 机器上进行实机验证。

  • 如果找不到 python,请使用 py -3.11 或重新安装启用了 PATH 集成的 Python。

  • 如果 fusionscript 无法导入,请验证 Fusion 安装路径并将其脚本目录添加到 PYTHONPATH。

  • 在 PowerShell 和 JSON 中引用带空格的路径;在 JSON 字符串中使用双反斜杠。

  • 如果连接失败,请确认 Fusion Studio 已打开、未被 Windows 安全提示阻止,并且有活动合成。

  • 在可写文件夹中使用绝对的 Saver 输出路径,并优先为每次渲染使用唯一的输出文件夹。

快速连接测试

  1. 打开独立版 Fusion Studio。

  2. 打开或创建一个一次性合成。

  3. 运行:

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

该脚本打印结构化 JSON。如果 Fusion 已关闭,它应返回 success: false 并带有 FUSION_NOT_RUNNING。

只读检查探针

在不启动 MCP 客户端的情况下运行所有只读工具函数:

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

当前只读工具:

  • 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)

节点列表条目包括:

  • 节点名称和 Fusion 工具类型

  • 当 Fusion 暴露时,来自 comp.CurrentFrame.FlowView.GetPosTable(tool) 的流程位置

  • 输入,包含 ID、名称、数据类型、当前非图像值、连接的输出和输入属性

  • 输出,包含 ID、名称、数据类型、连接的输入和输出属性

  • 非图像控件的关键设置摘要

运行 MCP 服务器

设置完成后,运行:

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

示例 MCP 风格操作:

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={...})

来自实时空 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."
  }
}

安全编辑工具

编辑操作在修改任何内容之前会验证活动合成、节点和输入。写入使用 Fusion 的 Lock()、StartUndo(...)、EndUndo(True) 和 Unlock(),并通过防御性清理包装器实现,以便失败的操作不会留下未关闭的撤销组。

已实现的编辑工具:

  • 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 支持常见的 Fusion 值类型:

  • 有限标量数字

  • 布尔值,对于数字型 Fusion 输入转换为 1 或 0

  • 用于 Text 输入的字符串

  • 用于 FuID 输入的字符串,当 Fusion 暴露时根据每个输入的选择进行验证

  • 点作为 [x, y] 或 {"x": x, "y": y}

  • 颜色作为 [r, g, b]、[r, g, b, a],或当 Fusion 暴露真正的 Color 输入时使用匹配的字典键

不支持或模糊的值会返回结构化失败,并且不会尝试写入。图像输入会被值设置工具拒绝,因为它们必须作为连接而不是标量值进行编辑。

Fusion Studio 21.0.2 中内置的 Background 颜色控件暴露为单独的数值通道输入,例如 TopLeftRed、TopLeftGreen、TopLeftBlue 和 TopLeftAlpha,每个都使用 INPID_InputControl == "ColorControl" 和 INPS_DataType == "Number"。实时验证确认可以使用标量浮点数设置这些通道,例如 TopLeftRed = 0.25。

示例成功响应:

{
  "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."
}

示例验证失败:

{
  "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
}

连接和节点工具

fusion_create_node_tool 接受可选的 settings,在节点创建并验证后应用。设置失败会产生部分结果:创建的节点保留在合成中,成功的设置会被报告,失败的设置包含每个输入的错误代码。Saver 可以通过 settings={"Clip": "/path/to/output.exr"} 接收其 Clip 路径,并且在提供该设置时不再需要占位符。

连接编辑目前仅限于图像流链接。工具层会拒绝修饰符、表达式、遮罩和标量链接,并返回明确的套接字元数据,而不是假装它们是普通的图像管道。

安全行为:

  • 创建前会对照 Fusion 的本地注册表检查工具 ID

  • 在独立版 Fusion 中拒绝 MediaOut,因为其注册表类在那里不可创建

  • Saver 可以使用显式的占位 Clip 路径创建,以避免 Fusion 打开文件对话框

  • 除非 replace=true,否则不会替换目标输入

  • 拒绝自连接和明显的图像流循环

  • 删除需要 confirm=true,并且每次调用只接受一个节点名称

  • 所有创建/连接/断开/删除操作都使用 Fusion 撤销组

示例连接成功:

{
  "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"
  }
}

示例删除保护:

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

合成与批处理工具

合成控制暴露帧范围、当前帧、保存路径以及显式的 .comp 保存。实时验证确认了在独立版 Fusion Studio 21.0.2 中 fusion_set_comp_range_tool(1, 48)、fusion_set_current_frame_tool(24) 和 fusion_save_comp_tool("/tmp/fusionmcp_batch_*.comp") 均可用。

fusion_create_graph_tool 接受:

  • nodes:包含 id、tool_id 或 tool_type、可选 name、可选 x/y 以及可选 settings 的对象

  • connections:在 source/target 中包含图节点 id 的对象,外加 source_output 和 target_input

  • comp_settings:目前支持 start_frame/end_frame 或 global_start/global_end

图创建会在事务期间或之前验证重复名称、缺失的图引用、无效的工具 id、明显的循环以及不支持的值。它先创建节点,再应用设置,然后连接 Image 套接字。如果后续步骤失败,它会尝试断开该请求创建的链接,并仅删除该请求创建的节点,返回 status: "rolled_back" 以及逐项回滚结果。

批处理输入/关键帧/删除工具每个批次使用一个 Fusion 撤销组。批处理删除要求 confirm=true,并且只删除显式列出的节点。

渲染、诊断与导出

渲染执行要求 confirm=true。fusion_validate_render_tool 检查活动合成状态、Saver 是否存在/类型、绝对输出路径、支持的文件扩展名、缺失的输出目录、覆盖风险、有效的帧范围,以及 Saver 图像输入是否已连接,而不会有意渲染。现有输出返回 OUTPUT_ALREADY_EXISTS,除非显式提供 allow_overwrite=true。

带有特定 saver_node 的 fusion_render_tool 使用经过实时确认的规范 Saver 事务:它保留原始 Saver 对象,不重写 Clip,渲染前不轮询渲染状态,调用 comp.Render 一次并传入 Start、End、Wait 和 Tool,然后从磁盘上的 Saver Clip 路径确认输出文件。如果 Fusion 报告完成但预期的输出文件未出现,该工具返回 RENDER_OUTPUT_MISSING 并附带渲染跟踪详情。

诊断包括合成范围检查、断开连接的必要图像输入、缺失的 Loader 路径、无效的 Saver 路径、求值为 None 的表达式、未解析的工具 ID,以及可检测到的重复名称。

fusion_export_graph_tool 输出 fusionmcp.graph.v1,包含精确的工具 ID、输入 ID、安全设置、FlowView 位置、图像流连接,以及在可安全读取时的原生关键帧。

动画与表达式

原生关键帧使用 Fusion 自己的修改器:

  • 标量输入使用 BezierSpline

  • Point 输入使用 Path

  • 表达式使用 input.SetExpression(...)

这些工具区分 static、keyframed、expression 和其他 modifier 状态。它们拒绝静默覆盖:在表达式输入上设置关键帧、在关键帧输入上设置表达式,或设置重复关键帧都会返回结构化错误。移除动画/表达式数据要求 confirm=true。

实时确认的示例:

{
  "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"
  }
}

当 Fusion 接受表达式字符串但在当前帧求值为 None 时,坏表达式会被拒绝。

测试

运行单元测试和 lint:

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

仅针对一次性的活动 Fusion 合成运行可选的实时测试:

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

安全性

写入工具会故意修改活动合成。在添加更广泛的生产保护措施之前,仅对一次性或明确批准的合成使用它们。

只读检查有意不调用 Output.GetValue(),因为这可能触发上游渲染。输出检查仅读取输出属性和连接元数据。

生产合成不应用于集成测试。

独立版 Fusion Studio 21.0.2 在此项目中会将 MediaOut 视为 Resolve 专用。独立版 Fusion 不需要终端节点。Saver 在创建时不使用 AddTool 默认设置,并在创建后分配 Clip,即可作为普通独立工具受支持;创建或检查不会触发渲染。

渲染发布说明:2026-07-14 的实时隔离发现,Saver Clip 写入可以读回为有效字符串,而保存的 .comp 包含一个零跨度的内部 Clip 对象(Length = 0,GlobalStart/GlobalEnd = -2000000000)。在该状态下,comp.Render(...) 返回成功并报告帧已渲染,但不会写入文件。fusion_render_tool 不再在渲染前立即重写 Saver Clip;验证保持无副作用。

使用 scripts/diagnose_saver_initialization.py 进行实时 Saver 初始化探测。当前原始工作序列是:创建一个未锁定的新合成,在添加 Background/Saver 时锁定,创建后设置 Saver Clip,在锁定时连接,解锁,然后使用 Tool=saver 渲染。测试框架和公开的 fusion_render_tool 现在共享该事务;连续五个公开的图/验证/渲染周期成功写入了 EXR 文件。

故障排除

  • Fusion 连接:确保独立版 Fusion Studio 已打开并具有活动合成。

  • Python 路径:在 PYTHONPATH 中包含 Fusion 捆绑的库路径,后跟本仓库的 src。

  • Saver 路径:使用绝对路径、受支持的扩展名、现有的输出文件夹,并且最好每次渲染使用唯一的文件夹。

  • 权限:渲染输出目录必须可由当前 macOS 用户写入。

  • 渲染被阻止:先用 fusion_validate_render_tool 验证;常见错误是 OUTPUT_DIRECTORY_MISSING、OUTPUT_ALREADY_EXISTS、SAVER_INPUT_DISCONNECTED 和 INVALID_RENDER_RANGE。

  • MediaOut:独立版 Fusion Studio 在此项目中会将 MediaOut 视为 Resolve 专用;独立渲染请使用 Saver。

版本控制

项目使用语义化版本控制。当前补丁版本为 0.1.1:本地 Fusion Studio MCP 控制,带有受保护的编辑、图构建、诊断、图导出、经确认的 Saver 定向渲染,以及 macOS 干净机器验收说明。将 1.0.0 保留给在更多 Fusion/Resolve 版本和更大的真实合成上获得更广泛的生产信心。

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

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers