Skip to main content
Glama

Store a cue part

gma3_store_cue_part

Store programmer content into a cue part in grandMA3 via MCP, using create, merge, or overwrite mode with optional name and timing fields.

Instructions

Store the programmer content into a part of a cue (Store Sequence n Cue c Part p). Part 0 is the main part that every cue has, so storing to part 0 is the same as storing the cue; parts 1..999 hold values with their own timing. 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 part exists. merge: /Merge. overwrite: /Overwrite. Exactly one mode.
nameNoPart 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.
partYesPart number 0..999. 0 is the cue's main part (always exists once the cue exists); mode create therefore refuses part 0 of an existing cue.
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.6/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 richly: it discloses the exact command sequence (one Store with /NoConfirmation, then one Set() per field), that fixture selection is unchanged and the programmer is not cleared, that the create-mode check is a point-in-time read rather than a transaction lock, and that the mutation lock does not isolate against other clients.

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?

The core action is front-loaded in the first sentence and every sentence carries information, so nothing is wasted. The paragraph is dense and runs long with heavy parentheticals, which costs a little readability, but for an 11-parameter mutation tool the length is justified.

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?

With no annotations and no output schema, the description fills every gap an agent needs: side effects, the mutation command sequence, what is and is not verified, that store and read-back are reported separately, and the concurrency caveat. Nothing required to call this correctly is missing.

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 meaning beyond the schema by mapping each field to its console part property (fade→CueInFade, delay→CueInDelay, out_fade→CueOutFade, out_delay→CueOutDelay) and explaining the interaction between mode=create and part 0 of an existing cue. It stops short of restating everything, but the parameter-to-command mapping is a genuine addition.

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?

The description gives a specific verb and resource ('Store the programmer content into a part of a cue') and even the underlying console syntax (Store Sequence n Cue c Part p). It distinguishes itself from the sibling gma3_store_cue by explaining that part 0 is equivalent to storing the cue, and it names gma3_cue_contents for the verification case it does not cover.

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 clearly explains the three modes (create refuses on existence, merge, overwrite) and routes verification to gma3_cue_contents (FR-10). It implies but never states outright that storing part 0 should use gma3_store_cue instead, and gives no explicit when-not-to-use exclusions beyond that.

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