Skip to main content
Glama
bigsbypuglise

Fusion Studio MCP

Fusion Studio MCP

Servidor MCP local para inspeccionar y controlar Blackmagic Fusion Studio independiente a través de la API de scripting de Fusion.

Este proyecto comienza de forma conservadora: primero se comprueba la conexión con Fusion, luego se exponen herramientas de inspección de solo lectura y, por último, se añaden herramientas de edición protegidas con comportamiento de ejecución simulada (dry-run) y deshacer.

Estado actual

  • Estructura inicial del proyecto creada: 2026-07-13

  • Aplicación objetivo encontrada: Blackmagic Fusion 21.0.2

  • Ruta de importación de Python confirmada para el fusionscript.so incluido con Fusion

  • Inspección de composición en vivo verificada contra Composition1

  • .venv local creado con pytest, ruff y el SDK de Python para MCP

  • Herramientas MCP de solo lectura implementadas para el estado, el listado de nodos, la consulta de un solo nodo, la lectura de nodos seleccionados y los resúmenes compactos de composición

  • Herramientas MCP de edición protegidas implementadas para la selección, la lectura/escritura de entradas, el renombrado y el posicionamiento en FlowView

  • Creación controlada de nodos, edición de conexiones de imagen, desconexión de entradas, inspección de conexiones y eliminación confirmada de un solo nodo implementadas

  • Creación configurable de nodos y herramientas nativas de fotogramas clave y expresiones implementadas

  • Controles de composición, además de herramientas transaccionales de grafos y de lote, implementados

  • Validación de render, ajustes de Saver, diagnósticos, catálogo/esquema de herramientas y herramientas de exportación de grafos implementados

  • Validación de edición en vivo superada contra la composición desechable Composition1

Related MCP server: nuke-mcp

Requisitos

  • macOS

  • Blackmagic Fusion Studio 21.0.2 o compatible

  • Python 3.11+ requerido (requires-python = ">=3.11"); el Python 3.9 integrado en macOS es demasiado antiguo

  • Ruta de la biblioteca de scripting incluida con Fusion disponible: /Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries

  • SDK de Python para MCP para el modo servidor

Instalación con Claude Desktop en macOS

Recomendado para artistas y no desarrolladores: Instalar Fusion Studio MCP - Claude Desktop (macOS).

Esta es la vía de instalación pública de dos copias y pegado para Fusion Studio independiente y Claude Desktop en macOS. Instala desde el repositorio público de GitHub: https://github.com/bigsbypuglise/fusion-studio-mcp

Usa esta vía si quieres que Claude Desktop inspeccione una composición de Fusion, liste los nodos y construya árboles de nodos protegidos sin necesidad de hacer una configuración de desarrollo.

Versión rápida:

  1. Abre Fusion Studio 21 y abre o crea una composición.

  2. Ejecuta el bloque de instalación de la guía de Claude Desktop para macOS.

  3. Ejecuta el bloque de configuración de Claude de la guía.

  4. Cierra completamente Claude Desktop con Command-Q, vuelve a abrirlo y pídele a Claude que compruebe la conexión con Fusion.

Notas:

  • Fusion Studio 21 es la versión recomendada; Fusion Studio 20 puede funcionar.

  • Actualmente está dirigido a Fusion Studio independiente, no a DaVinci Resolve.

  • Fusion Studio debe estar en ejecución con una composición activa abierta.

  • La primera llamada a herramienta de Claude puede pedir permiso.

  • El instalador predeterminado para principiantes sigue la última rama pública main, de modo que volver a ejecutar el pegado n.º 1 actualiza la instalación local. Quienes prefieran una versión estable fijada pueden usar la opción de versión etiquetada de la guía.

Instalación avanzada

El flujo de trabajo de macOS que se muestra a continuación se ha probado en vivo con Fusion Studio 21.0.2. El flujo de trabajo de Windows está documentado para instalaciones equivalentes de Fusion Studio, pero aún necesita validación en una máquina limpia con Windows.

Configuración de desarrollo en macOS

Entorno compatible probado en vivo:

  • Blackmagic Fusion Studio 21.0.2

  • Python 3.11+

  • Ruta de aplicación confirmada: /Applications/Blackmagic Fusion 21/Fusion.app

  • Ruta de biblioteca de scripting confirmada: /Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries

Instala Python con Homebrew si es necesario:

brew install python@3.11

Crea e instala el entorno local:

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

O hazlo manualmente:

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

Inicia Fusion Studio, crea o abre una composición desechable y luego ejecuta:

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 es un punto de entrada de servidor MCP por stdio. Está pensado para ser lanzado por un cliente MCP; cuando se ejecuta directamente en una terminal simple sin un cliente conectado, puede salir limpiamente después de que se cierre stdin. Usa scripts/test_fusion_connection.py para una prueba de humo de conexión independiente.

Ejemplo de cliente MCP en macOS:

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

Solución de problemas en macOS:

  • Si Fusion está cerrado o no hay ninguna composición activa, las herramientas de conexión devuelven FUSION_NOT_RUNNING o NO_ACTIVE_COMP.

  • Si fusionscript no se puede importar, confirma que PYTHONPATH incluye la ruta Contents/Libraries de Fusion.

  • macOS puede mostrar avisos de seguridad la primera vez que las herramientas se comunican con otra aplicación. Permite que Fusion y el cliente de terminal/MCP se comuniquen localmente.

  • Usa carpetas de salida absolutas y únicas para los renders de Saver a fin de evitar la protección contra sobrescritura y los casos límite de nombres de archivo de Fusion.

Configuración de desarrollo en Windows

Entorno objetivo documentado:

  • Blackmagic Fusion Studio 21.0.2 o compatible

  • Python 3.11+

  • Ruta de aplicación habitual: C:\Program Files\Blackmagic Design\Fusion 21\Fusion.exe

  • Ruta de biblioteca de scripting habitual: C:\Program Files\Blackmagic Design\Fusion 21

Instala Python desde https://www.python.org/downloads/windows/ y habilita "Add python.exe to PATH", o instálalo con winget:

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

Crea e instala el entorno local desde PowerShell:

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

Si PowerShell bloquea el script, ejecútalo solo para el proceso actual:

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

Configuración manual con Command Prompt:

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]

Inicia Fusion Studio, crea o abre una composición desechable y, a continuación, ejecuta desde 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

Al igual que en macOS, el comando del servidor está pensado para ser lanzado por un cliente MCP a través de stdio. Si se ejecuta manualmente en una shell sin un cliente conectado, puede salir cuando se cierre stdin.

Ejemplo de cliente MCP en Windows:

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

Solución de problemas en Windows:

  • Estos pasos para Windows están documentados pero aún no se han validado en vivo en una máquina Windows limpia.

  • Si no se encuentra python, usa py -3.11 o reinstala Python con la integración de PATH habilitada.

  • Si fusionscript no se puede importar, verifica la ruta de instalación de Fusion y añade su directorio de scripting a PYTHONPATH.

  • Pon entre comillas las rutas con espacios en PowerShell y JSON; usa barras invertidas dobles en las cadenas JSON.

  • Si la conexión falla, confirma que Fusion Studio está abierto, que no está bloqueado por avisos de seguridad de Windows y que tiene una composición activa.

  • Usa rutas de salida absolutas de Saver en carpetas con permisos de escritura y prefiere carpetas de salida únicas por render.

Prueba rápida de conexión

  1. Abre Fusion Studio independiente.

  2. Abre o crea una composición desechable.

  3. Ejecuta:

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

El script imprime JSON estructurado. Si Fusion está cerrado, debería devolver success: false con FUSION_NOT_RUNNING.

Sonda de inspección de solo lectura

Ejecuta todas las funciones de herramientas de solo lectura sin iniciar un cliente 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

Herramientas de solo lectura actuales:

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

Las entradas de la lista de nodos incluyen:

  • Nombre del nodo y tipo de herramienta de Fusion

  • Posición en el Flow a partir de comp.CurrentFrame.FlowView.GetPosTable(tool) cuando Fusion la expone

  • Entradas con ID, nombre, tipo de datos, valor actual no relacionado con imágenes, salida conectada y atributos de entrada

  • Salidas con ID, nombre, tipo de datos, entradas conectadas y atributos de salida

  • Resumen de ajustes de fotogramas clave para controles que no son de imagen

Ejecutar el servidor MCP

Después de la configuración, ejecuta:

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

Ejemplos de operaciones de estilo 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={...})

Ejemplo de respuesta de resumen compacto de la composición vacía en vivo 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."
  }
}

Herramientas de edición seguras

Las operaciones de edición validan la composición activa, el nodo y la entrada antes de modificar nada. Las escrituras usan Lock(), StartUndo(...), EndUndo(True) y Unlock() de Fusion a través de un envoltorio de limpieza defensivo, de modo que las operaciones fallidas no dejen un grupo de deshacer abierto.

Herramientas de edición implementadas:

  • 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 admite tipos de valor comunes de Fusion:

  • números escalares finitos

  • booleanos, convertidos a 1 o 0 para entradas numéricas de Fusion

  • cadenas para entradas Text

  • cadenas para entradas FuID, validadas contra las opciones de cada entrada cuando Fusion las expone

  • puntos como [x, y] o {"x": x, "y": y}

  • colores como [r, g, b], [r, g, b, a] o claves de diccionario coincidentes cuando Fusion expone una entrada Color real

Los valores no admitidos o ambiguos devuelven un fallo estructurado y no intentan realizar una escritura. Las entradas de imagen son rechazadas por las herramientas de establecimiento de valores porque deben editarse como conexiones, no como valores escalares.

Los controles de color de Background integrados en Fusion Studio 21.0.2 se exponen como entradas de canal numéricas separadas, como TopLeftRed, TopLeftGreen, TopLeftBlue y TopLeftAlpha, cada una usando INPID_InputControl == "ColorControl" e INPS_DataType == "Number". La validación en vivo confirmó que se pueden ajustar estos canales con flotantes escalares, por ejemplo TopLeftRed = 0.25.

Ejemplo de respuesta de éxito:

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

Ejemplo de fallo de validación:

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

Herramientas de conexión y nodos

fusion_create_node_tool acepta settings opcionales, que se aplican después de que el nodo exista y sea validado. Los fallos en los ajustes producen un resultado parcial: el nodo creado permanece en la composición, los ajustes correctos se notifican y los ajustes fallidos incluyen códigos de error por entrada. Saver puede recibir su ruta de Clip a través de settings={"Clip": "/path/to/output.exr"} y ya no necesita el marcador cuando se proporciona ese ajuste.

La edición de conexiones está actualmente limitada a enlaces de flujo de imagen. La capa de herramientas rechaza los enlaces de modificadores, expresiones, máscaras y escalares con metadatos de socket explícitos, en lugar de tratarlos como si fueran conexiones de imagen ordinarias.

Comportamiento de seguridad:

  • los IDs de herramienta se comprueban contra el registro local de Fusion antes de la creación

  • MediaOut se rechaza en Fusion independiente porque su clase de registro no se puede crear allí

  • Saver se puede crear con una ruta de Clip provisional explícita para evitar que Fusion abra un diálogo de archivo

  • las entradas de destino no se reemplazan a menos que replace=true

  • se rechazan las autoconexiones y los ciclos evidentes de flujo de imagen

  • la eliminación requiere confirm=true y solo acepta un nombre de nodo por llamada

  • todas las operaciones de crear/conectar/desconectar/eliminar usan grupos de deshacer de Fusion

Ejemplo de conexión con éxito:

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

Ejemplo de protección de eliminación:

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

Herramientas de composición y lote

Los controles de composición exponen el rango de fotogramas, el fotograma actual, la ruta de guardado y los guardados explícitos de .comp. La validación en vivo confirmó fusion_set_comp_range_tool(1, 48), fusion_set_current_frame_tool(24) y fusion_save_comp_tool("/tmp/fusionmcp_batch_*.comp") en Fusion Studio 21.0.2 independiente.

fusion_create_graph_tool acepta:

  • nodes: objetos con id, tool_id o tool_type, name opcional, x/y opcionales y settings opcionales

  • connections: objetos con ids de nodos de grafo en source/target, más source_output y target_input

  • comp_settings: actualmente soporta start_frame/end_frame o global_start/global_end

La creación de grafos valida nombres duplicados, referencias de grafo faltantes, ids de herramientas inválidos, ciclos obvios y valores no soportados antes o durante la transacción. Crea primero los nodos, aplica la configuración y luego conecta los sockets de imagen. Si un paso posterior falla, intenta desconectar los enlaces creados por esa solicitud y elimina solo los nodos creados por esa solicitud, devolviendo status: "rolled_back" con resultados de reversión por elemento.

Las herramientas de entrada/fotograma clave/eliminación en lote usan un grupo de deshacer de Fusion por lote. La eliminación en lote requiere confirm=true y solo elimina los nodos explícitamente listados.

Render, diagnóstico y exportación

La ejecución del render requiere confirm=true. fusion_validate_render_tool comprueba el estado activo del comp, la existencia/tipo de Saver, la ruta de salida absoluta, la extensión de archivo soportada, el directorio de salida faltante, el riesgo de sobrescritura, el rango de fotogramas válido y la entrada de imagen conectada del Saver sin renderizar intencionalmente. Las salidas existentes devuelven OUTPUT_ALREADY_EXISTS a menos que se proporcione explícitamente allow_overwrite=true.

fusion_render_tool con un saver_node específico usa la transacción Saver canónica confirmada en vivo: mantiene el objeto Saver original, no reescribe Clip, no consulta el estado del render antes de renderizar, llama a comp.Render una vez con Start, End, Wait y Tool, y luego confirma los archivos de salida desde la ruta Clip del Saver en disco. Si Fusion informa completado pero no aparece el archivo de salida esperado, la herramienta devuelve RENDER_OUTPUT_MISSING con detalles del seguimiento del render.

Los diagnósticos incluyen comprobaciones de rango del comp, entradas de imagen requeridas desconectadas, rutas de Loader faltantes, rutas de Saver inválidas, expresiones que evalúan a None, IDs de herramientas no resueltos y nombres duplicados cuando son detectables.

fusion_export_graph_tool emite fusionmcp.graph.v1 con IDs de herramientas exactos, IDs de entrada, configuración segura, posiciones de FlowView, conexiones de flujo de imagen y fotogramas clave nativos cuando se pueden leer de forma segura.

Animación y expresiones

Los fotogramas clave nativos usan los propios modificadores de Fusion:

  • las entradas escalares usan BezierSpline

  • las entradas de punto usan Path

  • las expresiones usan input.SetExpression(...)

Las herramientas distinguen los estados static, keyframed, expression y otros modifier. Rechazan sobrescrituras silenciosas: establecer un fotograma clave en una entrada de expresión, establecer una expresión en una entrada con fotogramas clave o establecer un fotograma clave duplicado devuelve un error estructurado. Eliminar datos de animación/expresión requiere confirm=true.

Ejemplos confirmados en vivo:

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

Las expresiones malas se rechazan cuando Fusion acepta la cadena de expresión pero evalúa a None en el fotograma actual.

Pruebas

Ejecutar pruebas unitarias y lint:

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

Ejecutar las pruebas en vivo opcionales solo contra una composición Fusion activa desechable:

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

Seguridad

Las herramientas de escritura modifican intencionalmente la composición activa. Úselas solo en composiciones desechables o explícitamente aprobadas hasta que se añadan salvaguardas de producción más amplias.

La inspección de solo lectura no llama intencionalmente a Output.GetValue() porque puede desencadenar renderizado ascendente. La inspección de salida solo lee los atributos de salida y los metadatos de conexión.

Las composiciones de producción no deben usarse para pruebas de integración.

Fusion Studio 21.0.2 independiente trata MediaOut como específico de Resolve para este proyecto. Fusion independiente no requiere un nodo terminal. Saver se soporta como una herramienta independiente normal cuando se crea sin defsettings de AddTool y luego se asigna Clip después de la creación; no se desencadena ningún render por creación o inspección.

Nota de liberación de render: el aislamiento en vivo del 2026-07-14 encontró que las escrituras de Clip en Saver pueden leerse como una cadena válida mientras que el .comp guardado contiene un objeto interno Clip de intervalo cero (Length = 0, GlobalStart/GlobalEnd = -2000000000). En ese estado, comp.Render(...) devuelve éxito e informa que el fotograma se renderizó, pero no se escribe ningún archivo. fusion_render_tool ya no reescribe Clip de Saver inmediatamente antes del render; la validación permanece libre de efectos secundarios.

Use scripts/diagnose_saver_initialization.py para sondeos de inicialización de Saver en vivo. La secuencia de trabajo en bruto actual es crear un comp nuevo desbloqueado, bloquear mientras se añaden Background/Saver, establecer Clip de Saver después de la creación, conectar mientras está bloqueado, desbloquear y renderizar con Tool=saver. El arnés y fusion_render_tool público ahora comparten esa transacción; cinco ciclos consecutivos de grafo/validación/render públicos escribieron archivos EXR con éxito.

Solución de problemas

  • Conexión de Fusion: asegúrese de que Fusion Studio independiente esté abierto y tenga una composición activa.

  • Rutas de Python: incluya la ruta de la biblioteca incluida de Fusion en PYTHONPATH, seguida de src de este repositorio.

  • Rutas de Saver: use rutas absolutas, extensiones soportadas, carpetas de salida existentes y preferiblemente carpetas únicas por render.

  • Permisos: los directorios de salida del render deben ser escribibles por el usuario actual de macOS.

  • Renders bloqueados: valide primero con fusion_validate_render_tool; los errores comunes son OUTPUT_DIRECTORY_MISSING, OUTPUT_ALREADY_EXISTS, SAVER_INPUT_DISCONNECTED e INVALID_RENDER_RANGE.

  • MediaOut: Fusion Studio independiente trata MediaOut como específico de Resolve en este proyecto; use Saver para renders independientes.

Versionado

El proyecto usa versionado semántico. El release de parche actual es 0.1.1: control local de Fusion Studio MCP con edición protegida, construcción de grafos, diagnóstico, exportación de grafos, renderizado confirmado dirigido a Saver y notas de aceptación en máquina limpia de macOS. Reserve 1.0.0 para mayor confianza en producción entre más versiones de Fusion/Resolve y comps del mundo real más grandes.

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