Skip to main content
Glama

scene_overview

Read-onlyIdempotent

List the contents of a Houdini scene: nodes, networks, materials, lights, takes, errors, caches, and node types. Use it to find node paths or survey a network before inspecting details.

Instructions

List what the scene holds. Start here, before you touch a node.

Use it to find a node path, to see the shape of a network, or to learn
which node types this Houdini has.

Do not use it to read one node in detail: node_inspect does that. Do not
use it to read geometry: geometry_inspect does that.

mode:
    "scene"        — file, frame range, counts, and the top of the tree.
    "network"      — the children of one network, with their connections.
    "children"     — the children of `path`. recursive=True walks down.
    "search"       — nodes whose name matches `pattern`, under `path`.
                     node_type filters by type name.
    "node_types"   — the node types this Houdini has, for one `category`
                     such as "Sop", "Object", "Lop", "Driver".
    "errors"       — every node under `path` that has a cook error.
    "materials"    — the materials in `path` (default /mat) and the types.
    "lights"       — the lights on the USD stage of the LOP node `path`.
    "takes"        — the takes, and which take is current.
    "caches"       — file caches under `path` and their state on disk.
    "render_nodes" — the ROP nodes in /out.
    "viewports"    — the panes, and what the scene viewer shows.

Returns JSON. A path that does not exist comes back as an error, not as an
empty list.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoOne of "scene", "network", "children", "search", "node_types", "errors", "materials", "lights", "takes", "caches", "render_nodes", "viewports".scene
pathNoA node path such as "/obj" or "/obj/geo1": the network to list or to search.
patternNosearch: the name to match, with * and ? as wildcards.
categoryNonode_types: the context, for example "Sop", "Object", "Lop" or "Driver".
node_typeNosearch: keep the nodes of this type, for example "null".
recursiveNochildren: also list the children of the children.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed29 schema fields changedv0.7.3
    • removedInput schema / properties / category / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / category / default
      Removed value: -null
    • addedInput schema / properties / category / description
      Added value: +"node_types: the context, for example \"Sop\", \"Object\", \"Lop\" or \"Driver\"."
    • removedInput schema / properties / category / title
      Removed value: -"Category"
    • addedInput schema / properties / category / type
      Added value: +"string"
    • removedInput schema / properties / mode / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / mode / description
      Added value: +"One of \"scene\", \"network\", \"children\", \"search\", \"node_types\", \"errors\", \"materials\", \"lights\", \"takes\", \"caches\", \"render_nodes\", \"viewports\"."
    • removedInput schema / properties / mode / title
      Removed value: -"Mode"
    • addedInput schema / properties / mode / type
      Added value: +"string"
    • removedInput schema / properties / node_type / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / node_type / default
      Removed value: -null
    • addedInput schema / properties / node_type / description
      Added value: +"search: keep the nodes of this type, for example \"null\"."
    • removedInput schema / properties / node_type / title
      Removed value: -"Node Type"
    • addedInput schema / properties / node_type / 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: +"A node path such as \"/obj\" or \"/obj/geo1\": the network to list or to search."
    • removedInput schema / properties / path / title
      Removed value: -"Path"
    • addedInput schema / properties / path / type
      Added value: +"string"
    • removedInput schema / properties / pattern / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / pattern / default
      Removed value: -null
    • addedInput schema / properties / pattern / description
      Added value: +"search: the name to match, with * and ? as wildcards."
    • removedInput schema / properties / pattern / title
      Removed value: -"Pattern"
    • addedInput schema / properties / pattern / type
      Added value: +"string"
    • removedInput schema / properties / recursive / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / recursive / description
      Added value: +"children: also list the children of the children."
    • removedInput schema / properties / recursive / title
      Removed value: -"Recursive"
    • addedInput schema / properties / recursive / type
      Added value: +"boolean"
    • removedInput schema / title
      Removed value: -"toolArguments"
  2. Addedv0.1.1

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, openWorld=false), yet the description still adds a concrete behavioral fact the annotations do not: a nonexistent path returns an error rather than an empty list. It also documents recursion behavior per mode. It stops short of cost/performance or output-shape hints, but the safety-critical ground is already covered by 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?

Front-loaded purpose, then usage constraints, then the mode catalog, then a return-behavior caveat. The long mode list is necessary because the schema exposes mode as a free-form string with no enum, so every line earns its place.

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?

An output schema exists, so return-value detail is unnecessary; the description still notes JSON output and the error-vs-empty-list distinction. All 12 modes are enumerated and mapped to their parameters, which is exactly what is missing from the schema for this multi-purpose tool.

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 description coverage is 100%, so the baseline is 3, but the description meaningfully binds parameters to modes (pattern/node_type only for search, category only for node_types, recursive only for children), which the flat schema does not convey. This is genuine added meaning beyond the schema, though it largely paraphrases the per-parameter text.

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?

States a specific action and resource ("List what the scene holds") and positions itself as the entry point ("Start here, before you touch a node"). It explicitly names the two siblings it is not (node_inspect for one node, geometry_inspect for geometry), so an agent can discriminate without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit ordering instruction plus two explicit when-not clauses routed to named alternatives. The per-mode breakdown further tells the agent which mode to pick for which question, leaving little to inference.

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