Skip to content

Scene Information ​

Query Maya scene state — hierarchy, session info, object properties.

Session Info ​

Get a high-level overview of the current Maya session:

Tool: maya_scene__get_session_info

json
{
  "maya_version": "2024.1",
  "scene_path": "/path/to/my_scene.ma",
  "fps": 24.0,
  "start_frame": 1,
  "end_frame": 120,
  "object_count": 42,
  "selection_count": 0
}

Natural language: "What version of Maya am I running? How many objects are in the scene?"

Scene Hierarchy ​

Get the full DAG hierarchy as a nested structure:

Tool: maya_scene__get_scene_info

For frequent polling in medium or large scenes, pass {"detail_mode": "lightweight"}. It returns the DAG skeleton without per-node node_ref or transform fields. Use detail_mode="standard" when stable node references are required, and detail_mode="full" for the historical transform-rich payload.

json
{
  "nodes": [
    {
      "name": "pSphere1",
      "long_name": "|pSphere1",
      "object_type": "transform",
      "parent": null,
      "children": ["|pSphere1|pSphereShape1"]
    }
  ],
  "count": 1,
  "detail_mode": "lightweight"
}

List Objects ​

Filter objects by type:

Tool: maya_scene__list_objects

ParameterTypeDescription
type_filterstrMaya node type (e.g. "mesh", "camera", "joint")
long_namesboolReturn full DAG paths
"List all mesh objects in the scene"
"Show me all cameras"
"List all joints in the rig"

Selection ​

Get Selection ​

Tool: maya_scene__get_selection

json
{
  "selection": ["pSphere1", "pCube1"],
  "count": 2
}

Set Selection ​

Tool: maya_scene__set_selection

ParameterTypeDescription
objectslist[str]List of object names to select
"Select pSphere1 and pCube1"
"Select all mesh objects"  ← uses select_by_type first

Bounding Box ​

Query the world-space bounding box of any object:

Tool: maya_scene__get_bounding_box

json
{
  "object": "pSphere1",
  "min": [-1.0, -1.0, -1.0],
  "max": [1.0, 1.0, 1.0],
  "center": [0.0, 0.0, 0.0],
  "size": [2.0, 2.0, 2.0]
}

Transform Queries ​

Get and set translate/rotate/scale via maya-primitives:

Tool: maya_primitives__get_transform

json
{
  "object": "pSphere1",
  "translate": [0.0, 1.0, 0.0],
  "rotate": [0.0, 0.0, 0.0],
  "scale": [1.0, 1.0, 1.0]
}

Practical Queries ​

"What objects are in my scene?"
"Where is pSphere1 located?"
"What is the bounding box of my character mesh?"
"Is the scene saved? What's the current file path?"
"How many polygons are in the scene?"

Released under the MIT License.