Skip to main content
Glama
dzstudio-mcp
by siemendev

modify_objects

Change existing objects or groups—position, orientation, scale, visibility, locks, and properties—in one step, locking first so conflicting edits change nothing.

Instructions

Change existing objects (position, orientation, scale, group, hidden, locked, persist, customString) or groups (name, color, hidden, locked) as one step. Objects are locked first; if someone else is editing one, nothing changes.

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": {
      "changes": "<changes>"
    },
    "name": "modify_objects"
  }
}

Input Schema

NameRequiredDescriptionDefault
changesYes
sessionNoSession handle (s1, s2 …) or session id; default: the current session

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.3

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It does valuable work by disclosing atomicity ('as one step') and the lock-first conflict rule ('if someone else is editing one, nothing changes'), but it omits permission/auth requirements, whether unlisted fields are preserved, and whether the operation is reversible.

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?

Two sentences, front-loaded with the action and resource, with the parenthetical field lists doing real work rather than padding. Nothing is redundant.

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

Completeness3/5

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

For a batch mutation tool with eleven item-level fields, no annotations and no output schema, the description covers atomicity and field applicability but leaves the agent guessing about return values, session scoping behavior, and whether omitted fields are left untouched. Adequate but with clear gaps.

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 50% (only 'session' is documented), and the description compensates by mapping fields to resource types: objects take position/orientation/scale/group/hidden/locked/persist/customString while groups take only name/color/hidden/locked — a distinction the flat item schema does not make. It still leaves the meaning of 'persist', the id format, and partial-update semantics unexplained.

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 (Change) and two resources (existing objects, groups) and enumerates the attributes that can be modified, which lets an agent separate it from create_objects/delete_objects without opening the schema. It never names those siblings explicitly, so differentiation is implied rather than stated.

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 phrase 'Change existing objects ... as one step' implies the use case (batch edits to things that already exist) but there is no explicit when-to-use/when-not-to-use guidance and no named alternative such as delete_objects or release. The conflict rule is a behavioral note, not usage routing.

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