Skip to main content
Glama

scene_file

Destructive

Manage Houdini scene files: inspect unsaved work, save, load, undo/redo, merge nodes, or list nodes from another .hip file without loading it.

Instructions

Read, save or load the scene file, or step its undo history.

Modes: info, save, load, undo, redo, merge, list_file.

Use "save" before a change that is hard to undo, and use "info" to learn
whether the session holds work that is not saved.

mode:
    "info" — the file name, the frame range, the counts, and whether the
             session has changes that are not saved.
    "save" — save to `path`, or over the open file when `path` is empty.
    "load" — open the .hip file at `path`. Everything in the session goes
             away, and the undo history with it.
    "undo" — undo `count` steps. Each call of a tool that changes the
             scene is one step. A batch is one step, except a batch with a
             step that waits (capture, render): there each step is one.
             Returns the labels it undid and the next ones.
    "redo" — redo `count` steps.
    "merge" — bring `nodes` from the .hip file at `path`, each with all
             its children and the wires inside. A name in use is
             renamed: read `made` for the new paths. One undo step.
    "list_file" — the nodes of the .hip file at `path` (type, inputs,
             child count), at the top or in the networks of `nodes`. A
             separate hython reads the file, so this session loads
             nothing. It takes some seconds.

Returns JSON.

Input Schema

NameRequiredDescriptionDefault
modeNoOne of "info", "save", "load", "undo", "redo", "merge", "list_file".info
pathNosave: the file to write; empty saves over the open file. load: the .hip file to open. merge, list_file: the other .hip file.
countNoundo and redo: how many steps.
nodesNomerge: the node paths to bring from the other file. list_file: the networks to list.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.8.1
    • changedInput schema / properties / mode / description
      Previous value: -"One of \"info\", \"save\", \"load\", \"undo\", \"redo\"."New value: +"One of \"info\", \"save\", \"load\", \"undo\", \"redo\", \"merge\", \"list_file\"."
    • addedInput schema / properties / nodes
      Added value: +{
      +  "description": "merge: the node paths to bring from the other file. list_file: the networks to list.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / path / description
      Previous value: -"save: the file to write; empty saves over the open file. load: the .hip file to open."New value: +"save: the file to write; empty saves over the open file. load: the .hip file to open. merge, list_file: the other .hip file."
  2. Changed11 schema fields changedv0.7.3
    • addedInput schema / properties / count
      Added value: +{
      +  "default": 1,
      +  "description": "undo and redo: how many steps.",
      +  "type": "integer"
      +}
    • removedInput schema / properties / mode / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / mode / description
      Added value: +"One of \"info\", \"save\", \"load\", \"undo\", \"redo\"."
    • removedInput schema / properties / mode / title
      Removed value: -"Mode"
    • addedInput schema / properties / mode / type
      Added value: +"string"
    • removedInput schema / properties / path / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / path / default
      Removed value: -null
    • addedInput schema / properties / path / description
      Added value: +"save: the file to write; empty saves over the open file. load: the .hip file to open."
    • removedInput schema / properties / path / title
      Removed value: -"Path"
    • addedInput schema / properties / path / type
      Added value: +"string"
    • removedInput schema / title
      Removed value: -"toolArguments"
  3. Addedv0.1.1

TDQS

A4.4/5.0
Behavior5/5

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

Even though annotations declare destructiveHint=true and readOnlyHint=false, the description adds critical behavioral detail: load removes everything including undo history, merge renames conflicting names and is one undo step, list_file uses a separate hython and takes seconds. This goes well beyond the annotations.

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

Conciseness5/5

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

Despite its length, the description is front-loaded with a one-line summary followed by a clean mode list and per-mode explanations. Every sentence carries useful information for a tool with seven modes and destructive operations.

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

Completeness5/5

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

Given the complex multi-mode behavior, destructive load, undo-step semantics, and the existence of an output schema, the description is complete. It tells the agent what each mode does, the risks, and the expected side effects.

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?

Schema coverage is 100%, but the description adds meaningful mode-specific semantics for path, count, and nodes, e.g., save over the open file when path is empty, merge brings children and wires, list_file lists networks. It enhances the schema rather than merely repeating it.

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 states a specific verb and resource (read/save/load the scene file, step undo history) and enumerates seven distinct modes. It is clear enough to distinguish from most siblings, though it does not explicitly name alternative tools like scene_overview or session.

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?

It gives clear mode-specific usage guidance: use "save" before hard-to-undo changes, use "info" to check for unsaved work, and warns that "load" wipes the session and undo history. It lacks explicit exclusions or sibling-tool alternatives.

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