Skip to main content
Glama

set_usd_attribute

Set a USD attribute value on a specified prim via an inline Python LOP in Houdini.

Instructions

Set a USD attribute value via an inline Python LOP.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "node_path": "<node_path>",
      "prim_path": "<prim_path>",
      "attr_name": "<attr_name>",
      "value": "<value>"
    },
    "name": "set_usd_attribute"
  }
}

Input Schema

NameRequiredDescriptionDefault
valueYes
attr_nameYes
node_pathYes
prim_pathYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

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 carries the full burden, yet it says nothing about whether the attribute is created if absent, whether the write is reversible, what happens on type mismatch, or what the operation returns. 'Via an inline Python LOP' hints at implementation but does not disclose mutation-side effects an agent needs.

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 front-loaded sentence with no filler; concise and readable. The brevity is appropriate structurally, though it borders on under-specification given the parameter count.

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 mutation tool with no annotations, no output schema, and zero parameter description coverage, one sentence is not enough. An agent lacks the information needed to call it correctly or predict its effects.

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?

Four required parameters with 0% schema description coverage, and the description explains none of them. node_path, prim_path, attr_name, and value semantics (e.g., USD type inference, path formatting) are entirely undocumented.

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?

States a specific verb 'Set' and resource 'USD attribute value', and adds the mechanism 'via an inline Python LOP', which distinguishes it from the read-side siblings get_usd_attribute and get_attribute_info. The purpose is clear, though the LOP mechanism wording is cryptic without 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?

There is no explicit when-to-use or when-not-to-use guidance. It does not say whether it should be used over set_parameter or other setters, nor any prerequisite such as requiring an existing prim.

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

Deploy Server

Other Tools