Skip to main content
Glama

Assign a sequence to an executor

gma3_assign_to_executor

Assigns a sequence to a specified executor page in grandMA3, verifying existence and current assignment, with optional replacement and labeling.

Instructions

Assign a sequence to an executor on an explicit page: sends 'Assign Sequence At Page .' (manual syntax). Before sending anything it checks read-only that the sequence and the page exist and what the executor currently holds; an executor holding a different object is only replaced with replace: true (otherwise the call fails with the previous assignment in the result), and an executor that already holds this sequence is left alone (alreadyAssigned: true, no command sent). Optional label: sends 'Label Page . ""' after assigning. On grandMA3 an executor has no label of its own: it shows its assigned object's name, so this RENAMES THE SEQUENCE itself, everywhere it appears (pools, other executors). If labelling fails after the assignment the outcome is partial. Does not change the fixture selection or the programmer and never sends Go/On/Off/Toggle or any playback keyword; whether the console changes the selected sequence on assignment is not controlled by this tool. verify (default true) reads the executor back and compares the assigned object (by name and class) and, when a label was given, the executor's displayed name and the sequence's own Name; executor configuration, fader/key functions and playback state are NOT verified. Mutations from this server are serialised, but another operator or client can still change the executor between the inspection and the assignment.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageYesExecutor page number (1-9999). The page must already exist; the tool does not create pages.
labelNoOptional new name for the assigned sequence (an executor displays its assigned object's name). Names must not contain \ " $ & * ? , . ; ^ { } | ~ (the console strips them); leading/trailing spaces are trimmed.
verifyNoRead the executor (and the sequence, when labelled) back and compare (default true).
replaceNoReplace an executor that holds a different object (default false: fail and report the previous assignment).
executorYesExecutor number on that page: 101-190 (keys), 201-290 (faders), 301-390 and 401-490 (knobs), plus the Xkeys 191-198 and 291-298.
sequenceYesSequence number to assign (must exist).

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 it does: read-only pre-inspection, replace/fail semantics with the previous assignment returned, the partial-failure state when labelling fails, the fact that labelling RENAMES the sequence everywhere, and the serialisation caveat about other clients changing the executor between check and write. This is a mutation with complete behavioral disclosure.

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?

Long and dense, but front-loaded with the primary command syntax and action before the branching rules, and every sentence carries non-obvious console semantics. Slightly bloated in the verify/security coda, but justified by the complexity.

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?

No output schema exists, and the description compensates by describing what comes back (previous assignment on failure, alreadyAssigned:true, partial outcome) and precisely what verify does and does not check. Nothing an agent needs to call this correctly or interpret the result 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 baseline is 3, but the description adds real meaning on top of the schema: replace:true fails-with-previous-assignment otherwise, label renames the assigned object/sequence rather than the executor, and verify's scope (object name+class, plus displayed name when labelled). That goes beyond the schema's field-level text.

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 ('Assign a sequence to an executor on an explicit page') and even gives the underlying manual syntax. An agent can immediately tell this apart from siblings like gma3_label_executor or gma3_configure_executor.

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?

Gives rich conditional context: when replace is needed, when the call fails (executor holds a different object), when it no-ops (alreadyAssigned), and what it deliberately does not do (no Go/On/Off, no fixture selection change). It never explicitly names a sibling alternative, however, even though gma3_label_executor overlaps with the label behavior described here.

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