Skip to main content
Glama

add_usd_variant

Idempotent

Adds a named variant to an existing USD variant set at a specified list position; idempotent and reports already_existed when present.

Instructions

Add a new variant to an existing variant set at the requested list position; idempotent (returns already_existed:true when the variant is already present)

Returns: { prim_path: string, variant_set_name: string, variant_name: string, added: bool, already_existed: bool, position: string }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
positionNoOne of FrontOfPrependList / BackOfPrependList / FrontOfAppendList / BackOfAppendList (default BackOfPrependList)
prim_pathYesSdfPath of the prim that authors the variant set
stage_nameNoStage cache key
variant_nameYesName of the variant to add
variant_set_nameYesVariant set that will receive the new variant

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, and the description reinforces this with the concrete behavior 'returns already_existed:true when the variant is already present', which is actionable detail beyond the boolean hint. It also discloses the position-based insertion behavior, though it doesn't cover auth or failure modes.

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?

Two compact segments: a one-sentence action statement followed by the return shape. It is front-loaded with the core verb and idempotency, with no filler, though the inline return object could be trimmed for a no-output-schema tool.

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

Completeness4/5

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

With 100% schema coverage and no output schema, the description supplies the missing return contract and confirms idempotency, which is exactly what is needed for correct invocation. Only the sibling routing (variant vs variant set vs selection) is left implicit.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters (including the position enum values and defaults) are already documented in the schema. The description only references the position concept at a high level, adding nothing the schema doesn't already carry, so the baseline 3 applies.

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 ('Add') and resource ('a new variant to an existing variant set'), and the word 'existing' implicitly distinguishes it from the sibling add_usd_variant_set, which creates the set itself. Clear enough that an agent can tell what it does, though it doesn't explicitly name the sibling.

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

Usage Guidelines3/5

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

Usage is only implied: the 'existing variant set' phrasing tells the agent a set must already be present, but there is no explicit when-to-use, when-not, or named alternative versus add_usd_variant_set / set_usd_variant_selection among the many USD siblings.

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