Skip to main content
Glama
newsbubbles

ismail: agent DAW (MCP server)

Stage Grab Mode

stage_grab_mode

Configure touch-based grabbing in VR: rest a hand on objects to hold them, then open the hand to release or toss, with configurable timing and object filters.

Instructions

Grab by touch: in VR a hand takes a thing by resting on it (the palm or the finger bases touching it, the hand nearly still) for hold_s seconds (a ring fills), holds it, and lets go when the hand opens past half its grip for release_s seconds (a ring empties; closing again keeps it). A let-go thing falls under gravity onto what is under it, with the hand's speed (a toss flies). Inside a person (stage_embody) the person's hand holds it, and the grab and the drop go into the take. Fingertips alone stay the pinch for menus. objects: "unlocked" (every small thing the scene does not lock) or a list of names, globs allowed (["drum_stick_*", "bottle"]). Grabbed things are never saved: the edits file keeps them where they stood. on=False lets go of everything held. Saved in world.json grab; stage_grab_rule sets one object (a fixed bar, a big thing allowed, a thing never taken). Emits: grab_counting, grabbed, grab_releasing, grab_released, grab_landed.

Input Schema

NameRequiredDescriptionDefault
onNo
sceneYes
hold_sNo
scenesNo
objectsNo
release_sNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does so well: it discloses that grabbed things are never saved (edits file keeps them where they stood), that released objects fall under gravity with the hand's speed (toss physics), the state persistence in world.json grab, and the emitted event sequence. It stops short of covering permissions/authorization or error conditions, keeping it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The mechanic description is front-loaded and dense with real information, but it reads as one run-on paragraph with no formatting, and lines like 'Fingertips alone stay the pinch for menus' are tangential to calling this tool. Every clause carries some meaning, but the lack of structure hurts scannability.

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?

For a mutation/config tool with no annotations, the description covers persistence semantics, side effects (gravity fall, toss), event emissions, and the sibling relationship. An output schema exists so return-value detail is unnecessary, and the description covers the remaining gaps except for the undocumented scene/scenes parameters.

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?

With 0% schema coverage, the description compensates for most parameters: hold_s (ring fills over hold_s seconds), release_s (ring empties over release_s seconds), on (False releases everything), and objects ("unlocked" or a name list with glob example like ["drum_stick_*", "bottle"]). However, scene and scenes are never explained, leaving two of six parameters undocumented anywhere.

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?

The description explains the grab mechanic in detail and implicitly establishes this tool as configuring that mechanic (on/off, hold_s, release_s, objects), and it explicitly distinguishes itself from the sibling stage_grab_rule, which sets per-object rules. The core actionable verb ('configure the grab mode') is inferred from the narrative rather than stated up front, which keeps it just short of a 5.

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?

It gives concrete conditional guidance: on=False releases everything held, stage_grab_rule handles a single object (fixed bar, big thing allowed, never taken), and fingertips alone stay the pinch for menus. It names the alternative tool and its scope, though it lacks explicit 'when not to use this' framing.

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