Skip to main content
Glama
gma3-mcp

gma3-mcp

by nf-s

Store a cue part

gma3_store_cue_part

Stores programmer content into a cue part using create, merge, or overwrite mode, sets optional name and timing fields, and verifies the result by reading it back.

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

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.
data_poolNoData pool number (DataPool n). Default: the current data pool, as without this parameter.
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?

No annotations are provided, so the description carries the full burden and does: it discloses the exact command sequence (one Store with /NoConfirmation plus /Merge or /Overwrite, then Set() per field), that the programmer is not cleared and selection is unchanged, that the create check is a non-transactional point-in-time read, and that the mutation lock does not isolate from other clients. These are exactly the side effects and race conditions an agent needs before invoking a mutation.

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-loaded with the command form and followed by behavior, risk, and verification in a logical order. It is dense and mostly earns its length for a 12-parameter mutation, though the parenthetical "(part 0 for a cue)" restates part semantics already covered.

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 complex unannotated mutation with no output schema, the description covers what is sent, what is deliberately not done (no Clear, no selection change), what is and is not verified, and the concurrency limits. Nothing an agent needs 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 cross-parameter meaning the schema states only piecemeal: the fade/delay/out_fade/out_delay to CueInFade/CueInDelay/CueOutFade/CueOutDelay mapping, and the interaction between part 0 and mode=create. It repeats some schema content (part range 1..999) without adding to it.

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 the specific action and target with the underlying command form ("Store Sequence n Cue c Part p") and immediately explains the part-0 equivalence, which separates it from gma3_store_cue. An agent can distinguish this tool from its store siblings without reading 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?

Explains when the tool is equivalent to storing a cue (part 0) and explicitly routes attribute-value verification to gma3_cue_contents. It does not explicitly say when to prefer gma3_store_cue or gma3_store_cues over this one, so the sibling routing is implied rather than stated.

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