Skip to main content
Glama

daz_set_parent

Change a node's parent to attach props to figures or reorganize scene hierarchy. Optionally maintain world transform to preserve position.

Instructions

Set parent of a node (parenting operation).

Changes the parent of a node, effectively moving it in the scene hierarchy. Commonly used to attach props to figures (e.g., weapon to hand) or reorganize scene structure.

Args: node_label: Display label or internal name of node to parent. parent_label: Display label or internal name of new parent. maintain_world_transform: If True (default), adjust local transform to maintain the same world-space position/rotation. If False, keep local transform (node will move in world space).

Returns:

  • success: true on success

  • node: Node label

  • newParent: New parent label

  • previousParent: Previous parent label (or null if was root)

Example: # Attach sword to right hand (maintain position) result = daz_set_parent("Sword", "rHand", maintain_world_transform=True) # Sword stays in place, now follows hand movements

# Parent camera to figure (follows figure)
result = daz_set_parent("Camera 1", "Genesis 9", maintain_world_transform=True)

# Unparent node (make it root) - parent to Scene root
result = daz_set_parent("Prop", "Scene", maintain_world_transform=True)

Note: When maintain_world_transform=True, the node's world position is preserved, but its local transform values (X/Y/Z Translate, Rotate) will change to account for the new parent's transform.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
node_labelYes
parent_labelYes
maintain_world_transformNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

The description fully discloses the behavioral traits of the tool: it changes parent, can unparent (set parent to 'Scene'), and explains the effect of maintain_world_transform on local transforms. With no annotations provided, the description carries the full burden and excels, noting that local transform values will change when maintaining world transform.

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 well-structured with a concise one-line summary, followed by a clear explanation, labeled args, returns, and examples. Every sentence provides value, no redundancy. The examples are illustrative without being verbose.

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?

The description covers the purpose, parameters, return values (including a Returns section detailing success, node, newParent, previousParent), and behavior. With an output schema present, the description complements it well. All essential information for correct agent usage is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite the schema having 0% coverage (meaning schema properties have no descriptions), the description includes an 'Args' section that adds meaning to each parameter: node_label and parent_label are described, and maintain_world_transform is explained with its default and behavior. This adds significant value beyond the bare 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 'Set parent of a node (parenting operation)' and explains it changes the parent, moving it in the scene hierarchy. Examples show distinct use cases (attaching sword to hand, unparenting to Scene) that differentiate it from sibling tools like daz_get_parent (query) or daz_batch_transform (repositioning).

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 provides clear context for when to use the tool, including examples of attaching props to figures and reorganizing scene structure. It explains the maintain_world_transform parameter's effect, but doesn't explicitly state when not to use it or compare with alternatives. Still, the examples give practical guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bluemoonfoundry/daz-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server