Skip to main content
Glama

editor_set_member

Sets an actor or script field or property by dotted path using a JSON value, then returns the value read back; edit-mode writes use undo.

Instructions

Writes a field or property of an actor or of one of its scripts by a dotted path; a struct on the way is written back. The value is JSON in the member's shape (a number, true, "text", an enum name, {"X":1,"Y":2,"Z":3}). In edit mode it goes through the editor's undo and marks the scene edited (editor_save keeps it); in play mode it lasts until play ends. Returns the value read back.

Input Schema

NameRequiredDescriptionDefault
valueYesThe new value as JSON.
memberYesThe member path, e.g. Enabled or Settings.Speed.
actorIdYesThe actor's id.
scriptTypeNoWrite to the actor's script of this type instead of the actor.

Output Schema

NameRequiredDescriptionDefault
valueYes
memberYes
targetIdYes
typeNameYes
targetTypeYes
mainThreadIdYes
recordedUndoNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses intermediate struct write-back, undo integration, scene-dirty marking and its interaction with editor_save, and that play-mode writes evaporate when play ends. It also notes the return is the value read back, covering mutation-reversibility and lifecycle questions an agent would otherwise have to guess.

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?

Three dense sentences, each earning its place: what is written, what the value looks like, and the edit-mode/play-mode lifecycle difference. The core action is front-loaded in the first clause.

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?

For a 4-parameter mutation tool with no annotations but an output schema, the description covers the missing pieces — persistence, undo, mode-dependent lifetime, value encoding, and path traversal — without redundantly explaining return values beyond the one-line read-back note.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics: dotted-path traversal with struct write-back, the concrete JSON shapes a value may take (number, true, "text", enum name, {"X":1,"Y":2,"Z":3}), and that scriptType targets a script member rather than the actor. Only the actorId semantics remain purely schema-supplied.

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 and resource — writes a field or property of an actor or its script by dotted path — which cleanly distinguishes it from the read-side sibling editor_get_member and from broader mutators like editor_modify_actor. The scope (actor vs. script member, dotted traversal) is unambiguous.

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?

Gives clear operative context: edit mode routes through undo and marks the scene edited (with editor_save named as the persistence path), while play mode changes are transient until play ends. It does not explicitly name when to prefer a sibling such as editor_modify_actor or editor_set_selection, so it stops short of full routing guidance.

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