Skip to main content
Glama
bigsbypuglise

Fusion Studio MCP

Fusion Studio MCP

FusionのスクリプティングAPIを介して、スタンドアロンのBlackmagic Fusion Studioを検査・制御するためのローカルMCPサーバー。

このプロジェクトは慎重に進めます。まずFusionへの接続を実証し、次に読み取り専用の検査ツールを公開し、その後、ドライランとアンドゥ動作を備えた保護付き編集ツールを追加します。

現在のステータス

  • プロジェクトの雛形作成日: 2026-07-13

  • 対象アプリ特定: Blackmagic Fusion 21.0.2

  • Fusionに同梱されている fusionscript.so のPythonインポートパスを確認

  • ライブのコンポジション検査を Composition1 に対して検証

  • pytest、ruff、Python MCP SDKを備えたローカル .venv を作成

  • ステータス、ノード一覧、単一ノード参照、選択ノードの読み取り、コンパクトなコンポ概要のための読み取り専用MCPツールを実装

  • 選択、入力の読み書き、リネーム、FlowView配置のための保護付き編集MCPツールを実装

  • 制御されたノード作成、画像コネクション編集、入力の切断、コネクション検査、確認付き単一ノード削除を実装

  • 設定可能なノード作成に加え、ネイティブのキーフレームツールとエクスプレッションツールを実装

  • コンポジションコントロールに加え、トランザクショナルなグラフ・バッチツールを実装

  • レンダー検証、Saver設定、診断、ツールカタログ/スキーマ、グラフエクスポートツールを実装

  • 使い捨ての Composition1 に対するライブ編集検証に合格

Related MCP server: nuke-mcp

要件

  • macOS

  • Blackmagic Fusion Studio 21.0.2 または互換バージョン

  • Python 3.11+ が必要 (requires-python = ">=3.11")。macOS標準のPython 3.9は古すぎる

  • Fusionに同梱されたスクリプティングライブラリのパスが利用可能: /Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries

  • サーバーモード用のPython MCP SDK

Claude Desktop on macOS でのインストール

アーティストや非開発者におすすめ: Fusion Studio MCP のインストール - Claude Desktop (macOS)。

これは、macOS上のスタンドアロンFusion StudioとClaude Desktopのための公開されたコピーペースト2回のセットアップ手順です。公開GitHubリポジトリからインストールします: https://github.com/bigsbypuglise/fusion-studio-mcp

Claude DesktopにFusionコンポの検査、ノード一覧取得、保護付きノードツリーの構築をさせたい場合で、開発者向けセットアップを避けたい場合はこの手順を使用してください。

クイックバージョン:

  1. Fusion Studio 21を開き、コンポを開くか作成します。

  2. Claude Desktop macOSガイドのインストール用ペーストを実行します。

  3. ガイドのClaude設定用ペーストを実行します。

  4. Command-QでClaude Desktopを完全に終了し、再度開いて、ClaudeにFusion接続を確認するよう依頼します。

注記:

  • Fusion Studio 21を推奨します。Fusion Studio 20でも動作する可能性があります。

  • これは現在、スタンドアロンのFusion Studioを対象としており、DaVinci Resolveは対象外です。

  • Fusion Studioが起動しており、アクティブなコンポジションが開かれている必要があります。

  • 最初のClaudeツール呼び出しでは許可が求められる場合があります。

  • デフォルトの初心者向けインストーラーは最新の公開 main ブランチを追跡するため、ペースト#1を再実行するとローカルインストールが更新されます。固定された安定版リリースを希望するユーザーは、ガイドのタグ付きリリースオプションを使用できます。

高度なインストール

以下のmacOSワークフローはFusion Studio 21.0.2でライブテスト済みです。Windowsワークフローは同等のFusion Studioインストール向けに文書化されていますが、Windowsでのクリーンマシン検証がまだ必要です。

macOS 開発者セットアップ

サポートされているライブテスト済み環境:

  • Blackmagic Fusion Studio 21.0.2

  • Python 3.11+

  • 確認済みアプリパス: /Applications/Blackmagic Fusion 21/Fusion.app

  • 確認済みスクリプティングライブラリパス: /Applications/Blackmagic Fusion 21/Fusion.app/Contents/Libraries

必要に応じてHomebrewでPythonをインストール:

brew install python@3.11

ローカル環境を作成してインストール:

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

または手動で実行:

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

Fusion Studioを起動し、使い捨てのコンポジションを作成または開いてから、次を実行:

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

python -m fusion_mcp.server はstdio MCPサーバーのエントリポイントです。これはMCPクライアントから起動されることを想定しています。クライアントを接続せずに通常のターミナルで直接実行した場合、stdinが閉じた後に正常終了する場合があります。単体の接続スモークテストには scripts/test_fusion_connection.py を使用してください。

macOS MCPクライアントの例:

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

macOSトラブルシューティング:

  • Fusionが閉じているかアクティブなコンポがない場合、接続ツールは FUSION_NOT_RUNNING または NO_ACTIVE_COMP を返します。

  • fusionscript をインポートできない場合は、PYTHONPATH にFusionの Contents/Libraries パスが含まれていることを確認してください。

  • macOSでは、ツールが他のアプリと通信する初回にセキュリティプロンプトが表示される場合があります。Fusionとターミナル/MCPクライアントがローカルで通信できるように許可してください。

  • Saverレンダリングでは、上書き保護やFusionのファイル名エッジケースを避けるため、一意の絶対出力フォルダを使用してください。

Windows 開発者セットアップ

文書化された対象環境:

  • Blackmagic Fusion Studio 21.0.2 または互換バージョン

  • Python 3.11+

  • 一般的なアプリパス: C:\Program Files\Blackmagic Design\Fusion 21\Fusion.exe

  • 一般的なスクリプティングライブラリパス: C:\Program Files\Blackmagic Design\Fusion 21

https://www.python.org/downloads/windows/ からPythonをインストールし、「Add python.exe to PATH」を有効にするか、winget でインストールしてください:

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

PowerShellからローカル環境を作成してインストール:

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

PowerShellがスクリプトをブロックする場合は、現在のプロセスに対してのみ実行:

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

手動でのコマンドプロンプトセットアップ:

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

Fusion Studioを起動し、使い捨てのコンポジションを作成または開いてから、PowerShellから実行:

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

macOSと同様に、サーバーコマンドはstdio経由でMCPクライアントから起動されることを想定しています。クライアントを接続せずにシェルで手動実行した場合、stdinが閉じると終了する場合があります。

Windows MCPクライアントの例:

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

Windowsトラブルシューティング:

  • これらのWindows手順は文書化されていますが、クリーンなWindowsマシンでのライブ検証はまだ行われていません。

  • python が見つからない場合は、py -3.11 を使用するか、PATH統合を有効にしてPythonを再インストールしてください。

  • fusionscript をインポートできない場合は、Fusionのインストールパスを確認し、そのスクリプティングディレクトリを PYTHONPATH に追加してください。

  • PowerShellとJSONではスペースを含むパスを引用符で囲み、JSON文字列ではバックスラッシュを2重にしてください。

  • 接続に失敗する場合は、Fusion Studioが開いていること、Windowsのセキュリティプロンプトでブロックされていないこと、アクティブなコンポジションがあることを確認してください。

  • 書き込み可能なフォルダ内の絶対Saver出力パスを使用し、レンダリングごとに一意の出力フォルダを推奨します。

クイック接続テスト

  1. スタンドアロンのFusion Studioを開きます。

  2. 使い捨てのコンポジションを開くか作成します。

  3. 実行:

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

スクリプトは構造化JSONを出力します。Fusionが閉じている場合は、FUSION_NOT_RUNNING とともに success: false を返すはずです。

読み取り専用検査プローブ

MCPクライアントを起動せずにすべての読み取り専用ツール関数を実行:

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

現在の読み取り専用ツール:

  • fusion_get_status_tool

  • fusion_list_nodes_tool

  • fusion_get_node_tool(node_name)

  • fusion_get_selected_nodes_tool

  • fusion_summarize_comp_tool

  • fusion_get_node_input_tool(node_name, input_name)

ノード一覧のエントリには以下が含まれます:

  • ノード名とFusionツールタイプ

  • Fusionが公開している場合の、comp.CurrentFrame.FlowView.GetPosTable(tool) によるフローポジション

  • ID、名前、データ型、現在の非画像値、接続先出力、入力属性を含む入力

  • ID、名前、データ型、接続元入力、出力属性を含む出力

  • 非画像コントロールのキー設定概要

MCPサーバーの実行

セットアップ後、次を実行:

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

MCP形式の操作例:

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

ライブの空の Composition1 からのコンパクトな概要レスポンス例:

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

安全な編集ツール

編集操作は、何かを変更する前にアクティブなコンポジション、ノード、入力を検証します。書き込みは、防御的なクリーンアップラッパーを介してFusionの Lock()、StartUndo(...)、EndUndo(True)、Unlock() を使用するため、失敗した操作でアンドゥグループが開いたままになることはありません。

実装済みの編集ツール:

  • fusion_select_nodes_tool(node_names)

  • fusion_get_node_input_tool(node_name, input_name)

  • fusion_set_node_input_tool(node_name, input_name, value)

  • fusion_set_node_name_tool(node_name, new_name)

  • fusion_set_node_position_tool(node_name, x, y)

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

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

  • fusion_disconnect_input_tool(node_name, input_name)

  • fusion_get_connections_tool(node_name=None)

  • fusion_delete_node_tool(node_name, confirm=False)

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

  • fusion_get_keyframes_tool(node_name, input_name)

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

  • fusion_clear_keyframes_tool(node_name, input_name, confirm=False)

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

  • fusion_get_expression_tool(node_name, input_name)

  • fusion_remove_expression_tool(node_name, input_name, confirm=False)

  • fusion_get_comp_settings_tool()

  • fusion_set_comp_range_tool(start_frame, end_frame)

  • fusion_set_current_frame_tool(frame)

  • fusion_get_current_frame_tool()

  • fusion_save_comp_tool(path=None)

  • fusion_get_comp_path_tool()

  • fusion_create_graph_tool(nodes, connections, comp_settings=None)

  • fusion_batch_set_inputs_tool(changes)

  • fusion_batch_set_keyframes_tool(keyframes)

  • fusion_batch_delete_nodes_tool(node_names, confirm=False)

  • fusion_get_saver_settings_tool(node_name)

  • fusion_set_saver_settings_tool(node_name, settings)

  • fusion_validate_render_tool(saver_node=None, allow_overwrite=False)

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

  • fusion_get_render_status_tool()

  • fusion_abort_render_tool(confirm=False)

  • fusion_validate_comp_tool()

  • fusion_find_broken_connections_tool()

  • fusion_find_missing_media_tool()

  • fusion_get_tool_catalog_tool(search=None)

  • fusion_get_tool_schema_tool(tool_id)

  • fusion_export_graph_tool(node_names=None)

  • fusion_validate_graph_request_tool(nodes, connections, comp_settings=None)

fusion_set_node_input_tool は一般的なFusion値タイプをサポートしています:

  • 有限スカラー数値

  • ブール値(数値系のFusion入力では 1 または 0 に変換)

  • Text 入力用の文字列

  • FuID 入力用の文字列(Fusionが入力を公開している場合は入力ごとの選択肢に対して検証)

  • ポイント([x, y] または {"x": x, "y": y} として)

  • 色([r, g, b]、[r, g, b, a]、またはFusionが真の Color 入力を公開している場合の対応するdictキーとして)

サポートされていない値や曖昧な値は構造化された失敗を返し、書き込みを試みません。画像入力はスカラー値ではなくコネクションとして編集する必要があるため、値設定ツールでは拒否されます。

Fusion Studio 21.0.2の内蔵Backgroundカラーコントロールは、TopLeftRed、TopLeftGreen、TopLeftBlue、TopLeftAlpha などの個別の数値チャンネル入力として公開され、それぞれ INPID_InputControl == "ColorControl" と INPS_DataType == "Number" を使用します。ライブ検証により、スカラー浮動小数点数(例: TopLeftRed = 0.25)でこれらのチャンネルを設定できることが確認されました。

成功レスポンスの例:

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

検証失敗の例:

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

コネクションとノードツール

fusion_create_node_tool はオプションの settings を受け付け、ノードが存在して検証された後に適用されます。設定の失敗は部分的な結果を生成します。作成されたノードはコンポに残り、成功した設定は報告され、失敗した設定には入力ごとのエラーコードが含まれます。Saver は settings={"Clip": "/path/to/output.exr"} でClipパスを受け取ることができ、その設定が指定された場合はプレースホルダーが不要になります。

コネクション編集は現在、画像フローリンクに限定されています。ツールレイヤーは、修飾子、エクスプレッション、マスク、スカラーリンクを通常の画像パイプであるかのように扱わず、明示的なソケットメタデータ付きで拒否します。

安全性の動作:

  • ツールIDは作成前にFusionのローカルレジストリと照合されます

  • MediaOut は、レジストリクラスがスタンドアロンFusionでは作成できないため拒否されます

  • Saver は、Fusionがファイルダイアログを開かないように、明示的なプレースホルダーClipパス付きで作成可能です

  • replace=true でない限り、ターゲット入力は置き換えられません

  • 自己コネクションと明らかな画像フローの循環は拒否されます

  • 削除には confirm=true が必要で、1回の呼び出しにつき1つのノード名のみ受け付けます

  • すべての作成/接続/切断/削除操作はFusionのアンドゥグループを使用します

コネクション成功の例:

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

削除ガードの例:

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

コンポジションとバッチツール

コンポジションコントロールは、フレーム範囲、現在のフレーム、保存パス、および明示的な .comp 保存を公開します。ライブ検証で、スタンドアロンの Fusion Studio 21.0.2 における fusion_set_comp_range_tool(1, 48)、fusion_set_current_frame_tool(24)、fusion_save_comp_tool("/tmp/fusionmcp_batch_*.comp") が確認されました。

fusion_create_graph_tool は以下を受け付けます:

  • nodes: id、tool_id または tool_type、任意の name、任意の x/y、任意の settings を持つオブジェクト

  • connections: source/target にグラフノード ID を持ち、さらに source_output と target_input を持つオブジェクト

  • comp_settings: 現在は start_frame/end_frame または global_start/global_end をサポート

グラフ作成は、トランザクションの前または最中に、重複した名前、欠落したグラフ参照、無効なツール ID、明らかなサイクル、およびサポートされていない値を検証します。まずノードを作成し、設定を適用してから、Image ソケットを接続します。後続のステップが失敗した場合、そのリクエストによって作成されたリンクの切断と、そのリクエストによって作成されたノードのみの削除を試み、項目ごとのロールバック結果とともに status: "rolled_back" を返します。

バッチ入力/キーフレーム/削除ツールは、バッチごとに 1 つの Fusion アンドゥグループを使用します。バッチ削除には confirm=true が必要で、明示的にリストされたノードのみを削除します。

レンダリング、診断、エクスポート

レンダリングの実行には confirm=true が必要です。fusion_validate_render_tool は、レンダリングを意図的に実行することなく、アクティブな comp の状態、Saver の存在/タイプ、絶対出力パス、サポートされているファイル拡張子、出力ディレクトリの欠落、上書きリスク、有効なフレーム範囲、接続された Saver のイメージ入力をチェックします。既存の出力は、allow_overwrite=true が明示的に指定されない限り、OUTPUT_ALREADY_EXISTS を返します。

特定の saver_node を指定した fusion_render_tool は、ライブ確認済みの正規の Saver トランザクションを使用します。元の Saver オブジェクトを保持し、Clip を書き換えず、レンダリング前にレンダリングステータスをポーリングせず、Start、End、Wait、Tool を指定して comp.Render を 1 回呼び出し、ディスク上の Saver の Clip パスから出力ファイルを確認します。Fusion が完了を報告したにもかかわらず、期待される出力ファイルが現れない場合、ツールはレンダートレースの詳細とともに RENDER_OUTPUT_MISSING を返します。

診断には、comp の範囲チェック、切断された必須イメージ入力、欠落した Loader パス、無効な Saver パス、None と評価される式、未解決のツール ID、検出可能な場合の重複名が含まれます。

fusion_export_graph_tool は、正確なツール ID、入力 ID、安全な設定、FlowView の位置、イメージフロー接続、および安全に読み取れる場合のネイティブキーフレームを含む fusionmcp.graph.v1 を出力します。

アニメーションと式

ネイティブキーフレームは Fusion 独自のモディファイアを使用します:

  • スカラー入力は BezierSpline を使用

  • ポイント入力は Path を使用

  • 式は input.SetExpression(...) を使用

ツールは static、keyframed、expression、およびその他の modifier 状態を区別します。これらのツールは暗黙の上書きを拒否します。式入力へのキーフレーム設定、キーフレーム設定済み入力への式の設定、または重複キーフレームの設定は、構造化エラーを返します。アニメーション/式データの削除には confirm=true が必要です。

ライブ確認済みの例:

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

Fusion が式文字列を受け入れるものの、現在のフレームで None と評価される場合、不正な式は拒否されます。

テスト

ユニットテストと lint を実行:

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

オプトインのライブテストは、使い捨てのアクティブな Fusion コンポジションに対してのみ実行:

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

安全性

書き込みツールは、アクティブなコンポジションを意図的に変更します。より広範な本番環境の保護策が追加されるまで、使い捨てまたは明示的に承認された comp でのみ使用してください。

読み取り専用の検査は、上流のレンダリングをトリガーする可能性があるため、意図的に Output.GetValue() を呼び出しません。出力検査は、出力属性と接続メタデータのみを読み取ります。

本番コンポジションを統合テストに使用しないでください。

スタンドアロンの Fusion Studio 21.0.2 は、このプロジェクトでは MediaOut を Resolve 固有として扱います。スタンドアロンの Fusion はターミナルノードを必要としません。Saver は、AddTool の defsettings なしで作成され、作成後に Clip が割り当てられた場合、通常のスタンドアロンツールとしてサポートされます。作成や検査によってレンダリングがトリガーされることはありません。

レンダリングリリースノート: 2026-07-14 のライブ分離テストで、Saver の Clip 書き込みが有効な文字列として読み戻される一方、保存された .comp にはゼロスパンの内部 Clip オブジェクト (Length = 0、GlobalStart/GlobalEnd = -2000000000) が含まれることが判明しました。その状態では、comp.Render(...) は成功を返し、フレームがレンダリングされたと報告しますが、ファイルは書き込まれません。fusion_render_tool は、レンダリングの直前に Saver の Clip を書き換えなくなりました。検証は副作用なしのままです。

ライブの Saver 初期化プローブには scripts/diagnose_saver_initialization.py を使用してください。現在の生の動作手順は、ロックされていない新しい comp を作成し、Background/Saver を追加している間にロックし、作成後に Saver の Clip を設定し、ロックしたまま接続し、ロックを解除して Tool=saver でレンダリングするというものです。ハーネスと公開 fusion_render_tool は現在そのトランザクションを共有しています。5 回連続の公開 graph/validate/render サイクルは EXR ファイルの書き込みに成功しました。

トラブルシューティング

  • Fusion 接続: スタンドアロンの Fusion Studio が開いており、アクティブなコンポジションがあることを確認します。

  • Python パス: Fusion にバンドルされているライブラリのパスを PYTHONPATH に含め、その後にこのリポジトリの src を続けます。

  • Saver パス: 絶対パス、サポートされている拡張子、既存の出力フォルダ、できればレンダリングごとに一意のフォルダを使用します。

  • 権限: レンダリング出力ディレクトリは、現在の macOS ユーザーが書き込み可能である必要があります。

  • ブロックされたレンダリング: 最初に fusion_validate_render_tool で検証します。一般的なエラーは OUTPUT_DIRECTORY_MISSING、OUTPUT_ALREADY_EXISTS、SAVER_INPUT_DISCONNECTED、INVALID_RENDER_RANGE です。

  • MediaOut: このプロジェクトでは、スタンドアロンの Fusion Studio は MediaOut を Resolve 固有として扱います。スタンドアロンのレンダリングには Saver を使用してください。

バージョニング

このプロジェクトはセマンティックバージョニングを使用しています。現在のパッチリリースは 0.1.1 です。保護付き編集、グラフ構築、診断、グラフエクスポート、Saver を対象とした確認済みレンダリング、および macOS クリーンマシンでの受け入れノートを備えたローカル Fusion Studio MCP 制御です。より多くの Fusion/Resolve バージョンとより大規模な実世界の comp にわたる、より広範な本番環境での信頼性のために 1.0.0 を予約してください。

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