Skip to main content
Glama
gma3-mcp

gma3-mcp

by nf-s

Release attributes from the programmer

gma3_release_attributes

Release specific or all attribute values from the grandMA3 programmer for specified or selected fixtures, with read-back verification to protect other fixtures.

Instructions

Remove values from the programmer for an explicit target: attributes sends Off Attribute "A" + "B"; all: true sends Off Attribute Thru (every value of the target, the cells of a compound fixture included; the target stays selected). Target: fixtures OR use_selection: true (with fixtures, ClearSelection and a select first). The release is scoped to the selection, and with nothing selected the console would release the attributes from EVERY fixture, so the tool refuses unless the target is selected. Read-back compares the whole programmer before and after: the released values must be gone from the target fixtures and their cells, and every other fixture's values must be unchanged.

Input Schema

NameRequiredDescriptionDefault
allNoRelease every value of the target instead of named attributes.
verifyNoCompare the programmer before and after (default true).
fixturesNoExplicit target: fixture IDs/ranges ("1 Thru 5", "1 + 3 + 5 Thru 8", "Fixture 101.1") or a group ("Group 5"). Exactly one of fixtures / use_selection is required.
attributesNoAttribute names to release (up to 32).
use_selectionNoApply to the fixtures currently selected on the console (explicit opt-in). Fails before sending when nothing is selected.
add_to_selectionNoWith `fixtures`: keep the fixtures already selected and add the target to them, so previously selected fixtures ALSO receive the values (explicit opt-in). Default false: ClearSelection is sent first so exactly the named fixtures are targeted. ClearSelection only deselects; programmer values are never cleared.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/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 disclosure burden and does it well: it names the exact console commands emitted, discloses the safety refusal when nothing is selected, explains that the target stays selected, and describes the before/after read-back contract. It also flags the destructive scope ('would release the attributes from EVERY fixture') that an agent needs to know.

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 core action and the command mapping, then targets, then the safety rule, then verification. It is one dense paragraph with heavy parenthetical nesting, which is efficient but slightly hard to scan; nearly every clause earns its place.

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?

Covers command emission, target selection semantics, the side effect on the selection, the refusal condition, and the verification contract for a six-parameter mutation tool with no annotations and no output schema. There is no output schema to explain and nothing material is missing for correct invocation.

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 already 100%, so the baseline is 3; the description still adds meaning by pairing each parameter with the command it emits and by clarifying that `fixtures` triggers ClearSelection and a select while `add_to_selection` inverts that. It adds little on `verify` and `attributes` beyond what the schema already says.

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?

States a specific verb and resource ('Remove values from the programmer') plus the scoping constraint ('for an explicit target'), which separates it from a whole-programmer clear. It never names a sibling tool explicitly, so the differentiation is implicit rather than stated.

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 clear when-to-use conditions for the two modes (`attributes` for named values vs `all: true` for everything of the target) and states the target requirement (`fixtures` OR `use_selection`). It does not point at alternatives such as gma3_clear_programmer or gma3_set_attributes, so the agent must infer the boundary.

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