Skip to main content
Glama
gma3-mcp

gma3-mcp

by nf-s

Run (Go+) or stop (Off) a macro and observe it

gma3_run_macro

Runs or stops a grandMA3 macro and observes its execution state over time, including pauses, completion, running/idle status, and open dialogs, to verify macro behavior without a Lua loop.

Instructions

EXECUTES: action go sends Go+ Macro N (starts it, or continues it after a Go wait); off sends Off Macro N. Then OBSERVES the macro's running line over time, on the server side (no Lua loop needed), for observe_seconds (default 3, max 60): finished, paused_at_go (a manual wait), running, idle. After a go it also reads the console's top dialog: a line that opened one (a Lua Confirm(), e.g. the MA Show Start's wizards) waits for it, and execution.dialog then has its title, message and buttons, to answer with gma3_dialog (dialog: false when none is open; needs bridge 0.42.0; unknown on an older one). The result separates dispatched (the command was accepted) from observed (the run state seen); it never claims that every line succeeded, because a failing line does not stop a macro. Lines with a (prompt) ask the operator for input.

Input Schema

NameRequiredDescriptionDefault
macroYes
actionYes
data_poolNoData pool number (DataPool n). Default: the current data pool, as without this parameter.
interval_msNo
observe_secondsNo

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 burden and does so: it discloses that the call mutates state (sends Go+/Off), that observation polls over observe_seconds (default 3, max 60), the four possible run states, the dialog readback with bridge 0.42.0 dependency and "unknown" fallback, and the crucial caveat that dispatched does not mean every line succeeded. That is exactly the kind of side-effect and result-semantics detail annotations would otherwise supply.

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 EXECUTES/OBSERVES framing is front-loaded and every clause carries information. It is a dense single paragraph with stacked parentheticals (e.g. the MA Show Start wizard aside) that slow parsing, but there is little genuinely wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter, unannotated, no-output-schema mutation tool, the description covers side effects, timing, state vocabulary, dialog handling, and the dispatched-vs-observed distinction. The remaining gap is the return payload's full field list and the unexplained interval_ms, which keeps it short of complete.

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 only 20%, so the description has to compensate and it partially does: it defines action (go/off), macro N, and observe_seconds (default 3, max 60). However, interval_ms is never explained anywhere — its unit, default, and effect on polling are left to inference — and data_pool is only covered by the schema itself.

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?

"EXECUTES: action go sends Go+ Macro N ... off sends Off Macro N" names a specific verb (run/stop) and resource (macro N), then adds the observation behavior. It is clearly distinguishable from siblings like gma3_macros (listing), gma3_store_macro, and gma3_edit_macro_line, which an agent could otherwise confuse with it.

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 explains the two action modes and states the observation happens server-side "no Lua loop needed," implicitly steering the agent away from gma3_lua polling, and it explicitly routes dialog answering to gma3_dialog. It does not state when to prefer this over gma3_command or gma3_playback, so the alternative-selection guidance is clear but not exhaustive.

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