Skip to main content
Glama
Claude ATEM MCP
by La8Grt8

Go Gallery

atem_go_gallery
Idempotent

Builds a 2×2 Super Source gallery grid with the host camera and three active guest cameras based on live audio levels, then cuts it to program.

Instructions

Set up a 2×2 gallery grid with the host camera and 3 guest cameras, then cut to Super Source.

Prioritizes guests who are currently speaking (detected via real-time audio levels from the Fairlight mixer). The guest with the highest audio level appears in box 2 (top-right), next in box 3 (bottom-left), next in box 4 (bottom-right).

If audio level data is unavailable, falls back to the first 3 guests from the guest list.

Args:

  • hostInput (number, optional): Host camera input (default: 7)

  • guestInputs (array of numbers, optional): All possible guest camera inputs to choose from (default: [1, 2, 3, 4, 5, 6, 8]). The tool picks the 3 most active.

  • cutToProgram (boolean, optional): Automatically cut Super Source to program (default: true)

  • ssrcId (number, optional): Super Source index (default: 0)

Examples:

  • "Go gallery" → 2x2 grid with host (cam 7) + 3 most active guests

  • "Go gallery with guests on 2, 3, 5" → picks 3 most active from cameras 2, 3, 5

Input Schema

NameRequiredDescriptionDefault
ssrcIdNoSuper Source index (default: 0)
hostInputNoHost camera input number (default: 7)
guestInputsNoGuest camera inputs to choose from (default: all inputs except host). Picks the 3 most active.
cutToProgramNoCut Super Source to program output (default: true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.5.0

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish mutate-but-idempotent and non-destructive, and the description honors that by disclosing selection logic (Fairlight audio levels), the exact box mapping (2 top-right, 3 bottom-left, 4 bottom-right), and a documented fallback to the first 3 guests when audio data is missing. This is real added context. It omits what happens to any pre-existing Super Source layout or art on that ssrcId, which is the main remaining behavioral gap.

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?

Behavior and selection rules are front-loaded in two tight paragraphs, then examples, so the important information arrives first. The 'Args:' block is largely redundant against a 100%-covered schema, which costs it a point, but the overall length stays proportionate to a tool with non-obvious selection semantics.

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 four-optional-parameter mutation with no output schema, the definition covers the combination logic, defaults, box ordering, and the no-audio fallback. What remains unclear is the effect on existing Super Source state for the chosen ssrcId and what the caller should expect back. Adequate, with a small but real gap.

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 genuinely adds meaning: it identifies hostInput as the camera occupying the grid's host position, explains that guestInputs is a candidate pool from which the three most active are chosen, and maps audio rank to specific box numbers. The default guest list is written out explicitly, which is more usable than the schema's 'all inputs except host' phrasing.

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?

The first sentence gives a concrete verb and composite outcome: builds a 2x2 grid from the host camera plus three guests, then cuts Super Source to program. That is enough for an agent to pick this over atem_set_supersource_layout or atem_cut_to_active_speaker. It stops short of a 5 because no sibling is named, so the agent must infer the difference from sibling names alone.

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

Usage Guidelines3/5

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

The two examples ('Go gallery', 'Go gallery with guests on 2, 3, 5') imply the intended invocation context, and the audio-priority plus fallback explanation tells the agent when the result will differ. There is still no explicit when-not-to-use guidance and no named alternative for cases where the caller wants layout without cutting to program. Usage 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.