Skip to main content
Glama

Store a cue

gma3_store_cue

Stores programmer content as a cue in a grandMA3 sequence via create, merge, or overwrite mode, with optional cue name and fade/delay timing.

Instructions

Store the programmer content as a cue of a sequence (create, merge or overwrite), optionally with a name and cue timing (seconds). Sends one Store command (/NoConfirmation; /Merge or /Overwrite for those modes), then one Set() per given name/timing field on the part (part 0 for a cue): Name, CueInFade (fade), CueInDelay (delay), CueOutFade, CueOutDelay. Mode create first checks that the target does not exist and refuses (nothing sent) if it does; that check is a point-in-time read, not a transaction lock. The current fixture selection is not changed; the programmer is not cleared (no Clear is sent). Reads back existence, Name and the timing fields that were given; the store step and the read-back are reported separately. Stored fixture values (attribute data) are NOT verified; that needs gma3_cue_contents (FR-10). The mutation lock orders only this server's own mutations; it does not isolate the operation from another console operator or another client.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cueYesOne cue number, fractional allowed (2, 2.5, "10.001"; max three decimals). Ranges (Thru, +) are rejected.
fadeNoCue (in) fade time in seconds; 0 is a value. Part property CueInFade.
modeYescreate: refuse if the cue exists. merge: /Merge into an existing cue. overwrite: /Overwrite an existing cue. Exactly one mode.
nameNoCue name. Names must not contain any of \ " $ & * ? , . ; ^ { } | ~ (the console strips them) and are trimmed; they are set via the Name property of the part after the store.
delayNoCue (in) delay time in seconds; 0 is a value. Part property CueInDelay.
verifyNoRead the result back after the mutation (default true). Verification is reported separately from the mutation steps.
out_fadeNoOut fade in seconds (dimmers going down); 0 is a value. Part property CueOutFade.
sequenceNoSequence number (1..99999). Required unless use_selected_sequence is true; exactly one of the two.
out_delayNoOut delay in seconds; 0 is a value. Part property CueOutDelay.
use_selected_sequenceNoAct on the console's currently selected sequence. It is resolved to its sequence number first, and the command is sent with that explicit number.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/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: it discloses the exact command sequence (/NoConfirmation, /Merge or /Overwrite, then Set() per field), that create's existence check is a point-in-time read rather than a lock, that fixture selection is unchanged and the programmer is not cleared, that read-back is reported separately, that stored attribute data is NOT verified, and that the mutation lock only orders this server's own writes.

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?

Front-loads the core action and mode semantics before the caveats, and every sentence carries operational information an agent needs. Some sentences are dense run-ons bundling multiple caveats, which slightly hurts scannability but is not padding.

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?

There is no output schema, yet the description explains what the read-back returns (existence, Name, given timing fields) and how it is reported relative to the store step, and it flags the non-verification of fixture values plus concurrency limits. Nothing an agent needs to invoke this 10-parameter mutation safely is missing.

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 the schema already documents all ten parameters including enums and constraints; that sets the baseline at 3. The description adds only marginal value beyond the schema, clarifying that name/timing fields become Set() calls on part 0 for a cue, while parameters like sequence, verify and use_selected_sequence are left entirely to the schema.

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 (store the programmer content as a cue of a sequence) plus the three mutation modes, and distinguishes itself from gma3_store_cue_part by noting this operates on 'part 0 for a cue' and from gma3_cue_contents for verification. An agent can tell what it does and where it sits in the family without opening the schema.

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?

Explicitly routes agents to gma3_cue_contents for verifying stored fixture values (FR-10), and gives the selection rule for each mode (create refuses if the target exists; merge vs overwrite). It lacks an explicit statement of when to prefer gma3_store_cue_part over this tool, so it stops short of full alternative coverage.

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