Skip to main content
Glama
gma3-mcp

gma3-mcp

by nf-s

Move fixtures to another fixture type with the same DMX mode

gma3_patch_retype

Moves fixtures to a matching fixture type after a GDTF or library import, preserving FIDs, addresses, cells, groups, and preset values; mismatched DMX modes are refused.

Instructions

Moves fixtures to another fixture type in the show whose DMX mode of the same name has the same channels and footprint (refused otherwise), keeping FIDs, addresses, cells, groups and preset values. Use it after importing a fixed revision of a GDTF or library type: the fixtures move from the old import to the new one, then gma3_patch_remove_type removes the old type. Also moves fixtures between a type and its layout copy (the same as gma3_assign_cell_layout). Runs one patch session (isolation-checked, committed with NO UNDO); requires exclusive: true. The read-back checks each fixture's type; a clean success lists each fixture as {fid, type: [before, after]} in items (detail: true for the rows). Needs bridge 0.29.0.

Input Schema

NameRequiredDescriptionDefault
typeYesThe target fixture type, by number or name (a number when two types share a name, e.g. two imports of one GDTF).
detailNoReturn the full result on a success too: every step's detail and each fixture's state before and after (default false: a clean success, committed and read back matched or not requested, lists one entry per fixture in items; anything else is always returned in full).
verifyNoRead the patch back after the commit and compare (default true).
fixturesYesFIDs to retype.
exclusiveNoRequired, must be true: confirms nobody else uses the console while this runs (see the description). Without it the call is refused and nothing is sent.

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 supplied, the description carries the full burden and does so: it discloses preservation of FIDs, addresses, cells, groups and preset values, that the commit has NO UNDO, that it is isolation-checked, that exclusive: true is mandatory, that verification reads the patch back, and that bridge 0.29.0 is required. These are exactly the risk facts an agent needs before a destructive 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?

Purpose and the strongest constraint are front-loaded, and every sentence carries operational content. It is dense and slightly overloaded mid-paragraph, and 'requires exclusive: true' duplicates the schema's own wording, but there is no filler.

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?

A destructive, multi-step patch operation with no annotations and no output schema would normally leave gaps; this description covers eligibility, side effects, undo loss, prerequisite bridge version, and the shape of the success response (items with {fid, type: [before, after]}). Nothing essential for correct invocation 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 baseline is 3; the description adds only light framing around detail/items and the read-back check, restating exclusive: true rather than adding new meaning. It does clarify that the target type may be a number when two types share a name, but the schema already says this.

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 ('Moves fixtures to another fixture type in the show') plus the exact eligibility condition (same DMX mode name, same channels and footprint). It explicitly contrasts with siblings gma3_patch_remove_type and gma3_assign_cell_layout, so an agent can distinguish it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use ('after importing a fixed revision of a GDTF or library type'), the follow-up step, the layout-copy equivalence with gma3_assign_cell_layout, and a when-not condition (refused when the DMX mode doesn't match). Alternatives and sequencing are spelled out rather than implied.

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