Skip to main content
Glama

object_set_attributes

Change object properties by reference, such as light brightness, camera lens settings, or fog density, to update a running Marmoset Toolbag scene.

Instructions

Set attributes of any object by name: {"brightness": 3, "color": [1, 0.9, 0.8]} for a light, {"lens": {"dofStop": 2.8}} or {"lens.dofStop": 2.8} for a camera, {"density": 0.2} for fog, {"opacity": 0.5} for a shadow catcher.

Input Schema

NameRequiredDescriptionDefault
refYes
attributesYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare non-readOnly, non-destructive, and non-openWorld, so safety is covered. The description adds the dot-notation alternative for nested keys, a useful behavioral detail, but does not explain error handling, validation, or whether attribute names are free-form. With annotations covering the basics, a 3 is appropriate.

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?

A single sentence with concrete examples, front-loaded with the action, and every example earns its place by illustrating attribute shapes for different object types. No wasted words.

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?

An output schema exists so return values needn't be explained, and annotations cover safety. The description gives enough to call the tool for common attribute shapes, but the ref parameter's expected value (name vs ID) remains ambiguous, which is a minor gap for a required parameter.

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 coverage is 0%, so the description must compensate. It provides rich examples for the attributes object (brightness, color, nested lens, density, opacity) and shows dot-notation, which is helpful. However, it barely describes the ref parameter ('by name'), leaving the integer/string union unexplained. Partial compensation justifies a 3.

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 verb 'Set' and resource 'attributes of any object', and the examples clarify which object types and attribute shapes are targeted. This distinguishes it from narrower sibling setters like object_set_transform, object_set_visible, and object_rename.

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?

The examples imply when to use it for lights, cameras, fog, and shadow catchers, but there is no explicit guidance on when to prefer it over object_set_transform or object_attributes, nor any exclusions or prerequisites. Usage is inferable but not stated.

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