Skip to main content
Glama
Claude ATEM MCP
by La8Grt8

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP server port (when TRANSPORT=http).3000
BASE_URLNoPublic URL for OAuth endpoints (when behind a tunnel/proxy). Defaults to http://localhost:PORT.http://localhost:PORT
ATEM_HOSTNoATEM IP address (enables auto-connect on startup). If not set, use atem_connect to connect manually.
ATEM_PORTNoATEM port.9910
TRANSPORTNoTransport mode: stdio or http.stdio

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
atem_connectA

Connect to a Blackmagic ATEM video switcher on the network.

Args:

  • host (string): IP address of the ATEM switcher (e.g., "192.168.1.100")

  • port (number, optional): Port number (default: 9910)

Returns: Connection confirmation with ATEM model info.

atem_disconnectA

Disconnect from the currently connected ATEM switcher.

atem_get_statusA

Get current ATEM switcher status including model info, current program/preview inputs, and connection state.

Returns: JSON object with model, firmware version, current program input, current preview input, and available inputs.

atem_set_programA

Set the program (live/on-air) input on the ATEM switcher.

Args:

  • input (number): Input source number (e.g., 1=Input 1, 2=Input 2, 1000=Color Bars, 2001=Color 1, 3010=Media Player 1, 3020=Media Player 2, 6000=Super Source, 10010=Black)

  • me (number, optional): Mix Effect bus number (default: 0 for ME1)

Common input IDs: 1-20 = physical inputs, 1000 = color bars, 2001/2002 = color generators, 3010/3020 = media players, 6000 = super source, 10010 = black.

atem_set_previewA

Set the preview (next) input on the ATEM switcher.

Args:

  • input (number): Input source number (same IDs as atem_set_program)

  • me (number, optional): Mix Effect bus number (default: 0 for ME1)

atem_cutA

Perform a hard cut transition — instantly switches preview to program.

Args:

  • me (number, optional): Mix Effect bus number (default: 0 for ME1)

atem_auto_transitionA

Trigger an auto transition (dissolve, wipe, etc.) from preview to program using the current transition settings.

Args:

  • me (number, optional): Mix Effect bus number (default: 0 for ME1)

atem_fade_to_blackA

Toggle Fade to Black (FTB). If currently live, fades to black. If already in FTB, fades back up.

Args:

  • me (number, optional): Mix Effect bus number (default: 0 for ME1)

atem_preview_and_autoA

Convenience tool: sets a preview input then immediately triggers an auto transition to bring it on air. Equivalent to selecting a source and pressing AUTO.

Args:

  • input (number): Input source number to transition to

  • me (number, optional): Mix Effect bus number (default: 0 for ME1)

atem_set_transition_styleA

Set the transition style (mix, dip, wipe, DVE, stinger) for auto transitions.

Args:

  • style (string): Transition type — "mix", "dip", "wipe", "dve", or "stinger"

  • me (number, optional): Mix Effect bus number (default: 0 for ME1)

atem_set_transition_rateA

Set the transition duration/rate in frames for a specific transition type.

Args:

  • style (string): Which transition to set the rate for — "mix", "dip", "wipe", "dve", or "stinger"

  • rate (number): Duration in frames (e.g., 30 = 1 second at 30fps, 60 = 2 seconds)

  • me (number, optional): Mix Effect bus number (default: 0 for ME1)

atem_set_transition_positionA

Manually set the transition position, like moving the T-bar. Useful for manual fades.

Args:

  • position (number): Position from 0.0 (preview) to 1.0 (program). 0 = fully on current program, 1 = fully transitioned to preview.

  • me (number, optional): Mix Effect bus number (default: 0 for ME1)

atem_get_transition_stateA

Get current transition settings for a Mix Effect bus including style, rates, and in-transition status.

Args:

  • me (number, optional): Mix Effect bus number (default: 0 for ME1)

Returns: JSON with current transition style, rates per type, and whether a transition is currently in progress.

atem_start_recordingA

Start recording on the ATEM (requires USB storage connected to the switcher). Available on models with recording capability.

atem_stop_recordingA

Stop recording on the ATEM.

atem_start_streamingA

Start streaming on the ATEM (requires streaming to be configured in ATEM Software Control). Available on models with streaming capability.

atem_stop_streamingA

Stop streaming on the ATEM.

atem_get_recording_statusB

Get the current recording and streaming status from the ATEM.

atem_get_supersource_stateA

Get the current Super Source state including all box positions/sources, art settings, and border settings.

Args:

  • ssrcId (number, optional): Super Source index (default: 0). Most ATEMs have only one Super Source.

Returns: JSON object with boxes (array of 4 box states), art properties, and border settings.

atem_set_supersource_boxA

Configure a single Super Source box. Set its source, position, size, and crop. All properties except box number are optional — only specified values are changed.

Args:

  • box (number): Box number (0-3, where 0=Box 1)

  • enabled (boolean, optional): Show or hide this box

  • source (number, optional): Input source number (1=Input 1, 2=Input 2, 3010=Media Player 1, etc.)

  • x (number, optional): Horizontal position (-4800 to 4800, 0=center)

  • y (number, optional): Vertical position (-4800 to 4800, 0=center)

  • size (number, optional): Box size (70 to 1000, where 1000=full size, 500=half)

  • cropped (boolean, optional): Enable or disable crop

  • cropTop (number, optional): Top crop (0-18000)

  • cropBottom (number, optional): Bottom crop (0-18000)

  • cropLeft (number, optional): Left crop (0-18000)

  • cropRight (number, optional): Right crop (0-18000)

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

atem_set_supersource_layoutA

Set up a Super Source layout using a preset or custom box configuration. Configures all 4 boxes at once.

Presets arrange boxes with sensible defaults — just provide the input sources.

Args:

  • preset (string, optional): Layout preset name:

    • "side_by_side": Two equal boxes side by side (sources: [left, right])

    • "pip_bottom_right": Full-screen with small PiP bottom-right (sources: [background, pip])

    • "pip_bottom_left": Full-screen with small PiP bottom-left (sources: [background, pip])

    • "pip_top_right": Full-screen with small PiP top-right (sources: [background, pip])

    • "pip_top_left": Full-screen with small PiP top-left (sources: [background, pip])

    • "grid_2x2": Four equal boxes in 2x2 grid (sources: [topLeft, topRight, bottomLeft, bottomRight])

    • "three_up": Large left + two stacked right (sources: [large, topRight, bottomRight])

  • sources (array of numbers, optional): Input source numbers for each box position in the preset

  • boxes (array of objects, optional): Custom box configs (overrides preset). Each: { enabled, source, x, y, size, cropped, cropTop, cropBottom, cropLeft, cropRight }

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

Examples:

  • Side-by-side cameras 1 & 2: preset="side_by_side", sources=[1, 2]

  • 2x2 grid all cameras: preset="grid_2x2", sources=[1, 2, 3, 4]

  • PiP camera 3 over camera 1: preset="pip_bottom_right", sources=[1, 3]

atem_set_supersource_artB

Configure the Super Source art (background/foreground) key settings. Controls which source is used as the art layer and how it is keyed.

Args:

  • artFillSource (number, optional): Input source for the art fill

  • artCutSource (number, optional): Input source for the art key/cut

  • artOption (string, optional): "background" or "foreground" — whether art appears behind or in front of boxes

  • artPreMultiplied (boolean, optional): Art source uses pre-multiplied alpha

  • artClip (number, optional): Key clip level (0-1000)

  • artGain (number, optional): Key gain level (0-1000)

  • artInvertKey (boolean, optional): Invert the key signal

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

atem_set_supersource_borderC

Configure the Super Source border appearance. Controls border visibility, width, color, bevel, and light source.

Args:

  • borderEnabled (boolean, optional): Enable or disable the border

  • borderBevel (string, optional): Bevel style — "none", "in_out", "in", or "out"

  • borderOuterWidth (number, optional): Outer border width (0-1600)

  • borderInnerWidth (number, optional): Inner border width (0-1600)

  • borderOuterSoftness (number, optional): Outer edge softness (0-100)

  • borderInnerSoftness (number, optional): Inner edge softness (0-100)

  • borderBevelSoftness (number, optional): Bevel softness (0-100)

  • borderBevelPosition (number, optional): Bevel position (0-100)

  • borderHue (number, optional): Border color hue (0-3599, degrees x10)

  • borderSaturation (number, optional): Border color saturation (0-1000)

  • borderLuma (number, optional): Border luminance/brightness (0-1000)

  • borderLightSourceDirection (number, optional): Light source direction (0-3590, degrees x10)

  • borderLightSourceAltitude (number, optional): Light source altitude (0-100)

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

atem_go_galleryA

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

atem_cut_to_active_speakerA

Cut full-screen to the active speaker — the guest with the highest audio level (loudest VU meters).

Uses real-time Fairlight audio level data to detect who is currently talking and puts them on program.

Args:

  • guestInputs (array of numbers, optional): Guest camera inputs to consider (default: all inputs 1-8 except host). Only guests in this list are eligible.

  • hostInput (number, optional): Host camera input to exclude from active speaker detection (default: 7)

  • transition (string, optional): How to switch — "cut" (instant) or "auto" (use current transition settings). Default: "cut"

  • me (number, optional): Mix Effect bus (default: 0 for ME1)

Examples:

  • "Cut to active speaker" → detects loudest guest, hard cuts to them

  • "Cut to active speaker with a dissolve" → transition="auto"

atem_auto_switch_onA

Start auto-switching mode — continuously monitors audio levels and switches to the active speaker automatically, Zoom-style.

Three modes:

  • program (default): Switches the full-screen program input to the active speaker

  • ssrc_box: Updates a Super Source box source to the active speaker — perfect for "host + active speaker" side-by-side

  • host_ssrc: Hybrid mode — host talking → cuts to host full-screen; guest talking → updates Super Source box with that guest AND cuts to Super Source (6000). Perfect for talk shows where the host gets their own shot but guests share a side-by-side with the host.

Fast and responsive like Zoom's active speaker switching:

  • Instant detection — uses real-time audio peaks to detect new speakers immediately

  • Hold time (default 1s): brief confirmation to filter out coughs/bumps

  • Cooldown (default 2s): short pause after switching to prevent ping-pong

  • Smart stickiness — the current speaker uses smoothed audio levels so brief pauses between words don't cause a switch away

Args:

  • mode (string, optional): "program", "ssrc_box", or "host_ssrc" (default: "program")

  • ssrcBox (number, optional): Super Source box to update, 1-4 (default: 2). Used in ssrc_box and host_ssrc modes.

  • guestInputs (array of numbers, optional): Inputs to monitor (default: all inputs 1-8 except host; in host_ssrc mode, host is automatically included)

  • hostInput (number, optional): Host camera input (default: 7). In host_ssrc mode, this is who gets full-screen when they talk.

  • holdMs (number, optional): How long a new speaker must talk before switching, in ms (default: 1000)

  • cooldownMs (number, optional): Minimum ms between switches (default: 2000)

  • transition (string, optional): "cut" or "auto" (default: "cut"). Only used in program mode.

  • me (number, optional): Mix Effect bus (default: 0)

Examples:

  • "Auto switch" → starts following the active speaker (full-screen)

  • "Auto switch box 2 to active speaker" → mode="ssrc_box", ssrcBox=2

  • "Host full-screen when talking, side-by-side when guest talks" → mode="host_ssrc", ssrcBox=2

  • "Auto switch with dissolves" → transition="auto"

  • "Auto switch on all cameras" → guestInputs=[1,2,3,4,5,6,7,8], hostInput=0

atem_auto_switch_offA

Stop auto-switching mode. The current program input stays on air — switching simply stops following the active speaker.

Also returns stats: how long auto-switch ran and how many switches it performed.

atem_get_auto_switch_statusA

Check if auto-switch mode is currently running and get its configuration and stats.

Returns: running state, monitored inputs, hold time, transition type, current speaker, switch count, and runtime.

atem_save_lookA

Snapshot the current Super Source state (all 4 box positions/sources, art settings, border settings) and save it as a named "look" that can be recalled later.

Looks are saved as JSON files in ~/.atem-mcp/looks/ and persist across server restarts.

Args:

  • name (string): Name for this look (e.g., "podcast4", "interview_2cam", "panel_discussion"). Used as the filename — alphanumeric, dashes, underscores.

  • description (string, optional): Human-readable description of what this look is for

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

Examples:

  • "Save this look as podcast4" → name="podcast4"

  • "Save this as interview setup" → name="interview_setup", description="Host left, guest right, side-by-side"

atem_load_lookA

Load a previously saved Super Source look and apply it to the ATEM. Restores all box positions, sizes, crops, art settings, and border settings.

Optionally override the source assignments — great for reusing the same layout geometry with different cameras/guests.

Args:

  • name (string): Name of the saved look to load

  • sources (array of numbers, optional): Override source assignments for each box (box 1-4). Only enabled boxes are affected. Example: [2, 3, 6, 7] assigns cameras 2/3/6/7 to the 4 boxes.

  • cutToProgram (boolean, optional): Automatically cut Super Source to program after loading (default: false)

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

Examples:

  • "Load podcast4" → name="podcast4"

  • "Load podcast4 with cameras 2,3,6,7" → name="podcast4", sources=[2,3,6,7]

  • "Load interview and go live" → name="interview", cutToProgram=true

atem_list_looksA

List all saved Super Source looks. Shows each look's name, description, creation date, and number of active boxes.

Looks are stored in ~/.atem-mcp/looks/ as JSON files.

atem_delete_lookB

Delete a previously saved Super Source look.

Args:

  • name (string): Name of the look to delete

atem_edl_startA

Start logging every program switch on an M/E bus to a CMX 3600 EDL for DaVinci Resolve. Captures switches from any source (hardware panel, ATEM Software Control, Claude, auto-switch). The .edl file is rewritten after every switch, so it is always up to date on disk.

Use when the user says things like "start the EDL", "log this show", "start recording the cuts".

Args:

  • title: show/episode name used in the EDL and filename

  • me: M/E bus to log (0 = M/E 1, the main program output)

  • tc_source: "atem" (switcher's timecode, default) or "clock" (Mac time-of-day). Use whichever matches the timecode recorded in the camera files.

  • drop_frame: override drop-frame (default: drop-frame at 29.97/59.94)

  • record_start_tc: timeline start timecode (default 01:00:00:00)

  • reel_names: map of ATEM input number to reel name, e.g. {"1":"CAM1","2":"CAM2"}. Default is each input's short name.

  • output_dir: folder for the files (default ~/Movies/ATEM EDLs)

atem_edl_stopA

Stop EDL logging and finalize the .edl file (and markers EDL if any markers were added). Returns file paths for import into DaVinci Resolve.

atem_edl_markerB

Drop a timeline marker at the current moment while EDL logging (e.g. "mark that", "clip that for social"). Exported as a Resolve markers EDL.

atem_edl_statusA

Show whether EDL logging is running, the current timecode, number of switches and markers logged, and the output file.

atem_set_aux_sourceA

Route an input source to an auxiliary output.

Args:

  • aux (number): Aux output number (0-based, so aux 0 = Aux 1 on the switcher)

  • input (number): Input source number to route to this aux

Common uses: sending a clean feed to a recorder, routing a specific camera to a confidence monitor, etc.

atem_get_aux_sourceA

Get the current source routing for all auxiliary outputs.

Returns: JSON object mapping each aux output to its current source input.

atem_set_dsk_on_airA

Put a downstream keyer on or off air. DSKs overlay graphics (logos, lower thirds, etc.) on top of the program output.

Args:

  • dsk (number): Downstream keyer number (0-based, 0 = DSK1, 1 = DSK2)

  • onAir (boolean): true to put on air, false to take off air

atem_auto_dskA

Trigger an auto transition for a downstream keyer (mix on/off air).

Args:

  • dsk (number): Downstream keyer number (0-based)

atem_set_dsk_sourcesA

Set the fill and/or key (cut) sources for a downstream keyer.

Args:

  • dsk (number): Downstream keyer number (0-based)

  • fillSource (number, optional): Input to use as fill source

  • cutSource (number, optional): Input to use as key/cut source

atem_set_usk_on_airA

Put an upstream keyer on or off air on a specific ME bus. USKs are used for picture-in-picture, chroma key, luma key, DVE effects, etc.

Args:

  • me (number, optional): Mix Effect bus (default: 0 for ME1)

  • usk (number): Upstream keyer number (0-based, 0 = Key 1)

  • onAir (boolean): true to put on air, false to take off air

atem_set_usk_sourcesB

Set the fill and/or cut sources for an upstream keyer.

Args:

  • me (number, optional): Mix Effect bus (default: 0 for ME1)

  • usk (number): Upstream keyer number (0-based)

  • fillSource (number, optional): Input to use as fill

  • cutSource (number, optional): Input to use as key/cut

atem_set_usk_typeA

Set the type of an upstream keyer (Luma, Chroma, Pattern, or DVE) and whether fly key is enabled.

Args:

  • me (number, optional): Mix Effect bus (default: 0 for ME1)

  • usk (number): Upstream keyer number (0-based, 0 = Key 1)

  • keyType (string): Key type — "luma", "chroma", "pattern", or "dve"

  • flyEnabled (boolean, optional): Enable fly key (required for DVE positioning)

For DVE picture-in-picture effects, set keyType="dve" and flyEnabled=true, then use atem_set_usk_dve to position/size.

atem_set_usk_dveA

Set DVE (Digital Video Effects) properties for an upstream keyer — position, size, rotation, border, mask, shadow.

Use this for picture-in-picture overlays. First set the key type to DVE with atem_set_usk_type, then use this tool to position and size the DVE box.

All values are passed directly to the ATEM protocol (raw units):

  • sizeX, sizeY: 0 to 1.0 (fraction of full frame, e.g. 0.5 = half, 0.33 = third)

  • positionX: -1.0 to 1.0 (horizontal position, -1=left edge, 0=center, 1=right edge)

  • positionY: -1.0 to 1.0 (vertical position, -1=bottom, 0=center, 1=top)

  • rotation: 0-35999 (hundredths of degrees, e.g. 9000 = 90°)

  • crop: 0 to 1.0 (fraction of image to crop from each edge)

Args:

  • me (number, optional): Mix Effect bus (default: 0)

  • usk (number): Upstream keyer number (0-based)

  • sizeX (number, optional): Horizontal size 0-1.0

  • sizeY (number, optional): Vertical size 0-1.0

  • positionX (number, optional): Horizontal position -1.0 to 1.0

  • positionY (number, optional): Vertical position -1.0 to 1.0

  • rotation (number, optional): Rotation 0-35999 (hundredths of degrees)

  • borderEnabled (boolean, optional): Show border

  • borderOuterWidth (number, optional): Outer border width 0-1600

  • borderInnerWidth (number, optional): Inner border width 0-1600

  • borderHue (number, optional): Border hue 0-3599

  • borderSaturation (number, optional): Border saturation 0-1000

  • borderLuma (number, optional): Border luminance 0-1000

  • borderOpacity (number, optional): Border opacity 0-100

  • shadowEnabled (boolean, optional): Show drop shadow

  • maskEnabled (boolean, optional): Enable mask

  • maskTop (number, optional): Mask top 0-38000

  • maskBottom (number, optional): Mask bottom 0-38000

  • maskLeft (number, optional): Mask left 0-52000

  • maskRight (number, optional): Mask right 0-52000

Example — 3x2 grid element at top-left, 1/3 size: sizeX=0.33, sizeY=0.33, positionX=-0.33, positionY=0.25

atem_set_usk_maskA

Set the screen-space mask (clip region) for an upstream keyer. This defines an absolute rectangle on the output frame — anything outside is hidden.

Use this to clip a DVE overlay to a specific region of the screen (e.g., one cell of a grid layout).

The coordinate system:

  • Left/Right: -16000 to +16000 (left edge to right edge of frame)

  • Top/Bottom: -9000 to +9000 (bottom edge to top edge of frame)

  • Default (full frame): maskLeft=-16000, maskRight=16000, maskTop=9000, maskBottom=-9000

Example — clip to left-third, top-half of frame: maskEnabled=true, maskLeft=-16000, maskRight=-5333, maskTop=9000, maskBottom=0

Args:

  • me (number, optional): Mix Effect bus (default: 0)

  • usk (number): Upstream keyer number (0-based)

  • maskEnabled (boolean, optional): Enable/disable the mask

  • maskTop (number, optional): Top edge (-9000 to 9000)

  • maskBottom (number, optional): Bottom edge (-9000 to 9000)

  • maskLeft (number, optional): Left edge (-16000 to 16000)

  • maskRight (number, optional): Right edge (-16000 to 16000)

atem_get_usk_stateA

Get the current state of upstream keyers on a mix effect bus — type, sources, on-air status, DVE position/size, and key settings.

Args:

  • me (number, optional): Mix Effect bus (default: 0 for ME1)

Returns all upstream keyers with their complete state.

atem_macro_runB

Run an ATEM macro by index number.

Args:

  • index (number): Macro slot number (0-based, so macro 0 = first macro slot)

atem_macro_stopA

Stop the currently running macro.

atem_macro_continueB

Continue a paused macro.

atem_list_macrosA

List all defined macros on the ATEM switcher.

Returns: JSON array of macros with their index, name, and whether they are valid/used.

atem_set_audio_mixer_inputA

Configure an audio input on the ATEM. Automatically uses Fairlight audio (ATEM Mini Extreme, Constellation) or classic mixer (ATEM Mini, Mini Pro) depending on the model.

Args:

  • input (number): Audio input number (matches video input numbers, e.g. 1=Camera 1, 2=Camera 2)

  • mixOption (string, optional): "on" (always on), "off" (muted), or "afv" (audio-follow-video — audio is live only when this input is on program)

  • gain (number, optional): Input gain in dB (-60 to +6). On Fairlight this is the pre-fader gain knob.

  • faderGain (number, optional): Fader level in dB (-100 to +10). Fairlight only — this is the main channel fader.

  • balance (number, optional): Stereo balance (-1.0 = full left, 0 = center, 1.0 = full right)

atem_set_audio_master_outputB

Configure the master audio output level. Works with both Fairlight and classic audio mixers.

Args:

  • gain (number, optional): Master output gain/fader in dB (-100 to +10)

  • followFadeToBlack (boolean, optional): Whether master audio follows Fade to Black

atem_get_audio_stateA

Get the current audio mixer state. Returns all input levels, mix options, fader positions, and master output. Automatically reads from Fairlight or classic mixer depending on ATEM model.

Returns: JSON with mixer type, master settings, and per-input audio state.

atem_set_fairlight_eqA

Set an EQ band on a Fairlight audio input. The ATEM Mini Extreme has 6 bands per channel (0-5).

Default band layout: Band 0: HP Filter, 46 Hz (disabled) Band 1: Low Shelf, 49 Hz Band 2: Bell, 171 Hz Band 3: Bell, 798 Hz Band 4: High Shelf, 7260 Hz Band 5: LP Filter, 12900 Hz (disabled)

Args:

  • input (number): Audio input number (1=Camera 1, 2=Camera 2, etc.)

  • band (number): EQ band index (0-5)

  • bandEnabled (boolean, optional): Enable/disable this band

  • shape (string, optional): Band shape — "bell", "low_shelf", "high_shelf", "high_pass", "low_pass", "notch"

  • frequency (number, optional): Center frequency in Hz (20-20000)

  • gain (number, optional): Band gain in dB (-20 to +20)

  • qFactor (number, optional): Q factor / bandwidth (0.3 to 10.3)

  • frequencyRange (string, optional): "low", "low_mid", "mid_high", "high"

atem_set_fairlight_eq_presetA

Apply a predefined EQ preset to a Fairlight audio input. Sets all 6 bands at once.

Available presets:

  • "vocal": Clarity for speech — HP at 80Hz, mud cut at 400Hz, presence boost at 3kHz, air at 12kHz

  • "podcast": Podcast voice — HP at 100Hz, warmth cut at 250Hz, clarity at 2.5kHz

  • "music": Music playback — warmth boost at 80Hz, slight mid scoop, high shimmer

  • "de_mud": Cut boxy 200-500Hz frequencies that make audio sound muddy

  • "flat": Reset all bands to 0 dB gain (factory defaults)

Args:

  • input (number): Audio input number (1=Camera 1, 2=Camera 2, etc.)

  • preset (string): Preset name

atem_set_fairlight_compressorA

Configure the compressor on a Fairlight audio input.

Args:

  • input (number): Audio input number (1=Camera 1, 2=Camera 2, etc.)

  • enabled (boolean, optional): Enable/disable compressor

  • threshold (number, optional): Threshold in dB (-50 to 0)

  • ratio (number, optional): Compression ratio (1.0 to 20.0, e.g. 4.0 = 4:1)

  • attack (number, optional): Attack time in ms (0.7 to 100)

  • hold (number, optional): Hold time in ms (0 to 4000)

  • release (number, optional): Release time in ms (5 to 4000)

atem_set_fairlight_limiterB

Configure the limiter on a Fairlight audio input. The limiter prevents audio from exceeding the threshold.

Args:

  • input (number): Audio input number (1=Camera 1, 2=Camera 2, etc.)

  • enabled (boolean, optional): Enable/disable limiter

  • threshold (number, optional): Threshold in dB (-50 to 0)

  • attack (number, optional): Attack time in ms (0.7 to 30)

  • hold (number, optional): Hold time in ms (0 to 4000)

  • release (number, optional): Release time in ms (5 to 4000)

atem_set_fairlight_gateA

Configure the noise gate or expander on a Fairlight audio input. Gates cut audio below the threshold; expanders reduce it by a ratio.

Args:

  • input (number): Audio input number (1=Camera 1, 2=Camera 2, etc.)

  • enabled (boolean, optional): Enable/disable expander

  • gateEnabled (boolean, optional): true = hard gate mode, false = expander mode

  • threshold (number, optional): Threshold in dB (-50 to 0). Audio below this is reduced.

  • range (number, optional): Range in dB (0 to 60). How much to reduce audio below threshold.

  • ratio (number, optional): Expansion ratio (1.0 to 4.0)

  • attack (number, optional): Attack time in ms (0.7 to 100)

  • hold (number, optional): Hold time in ms (0 to 4000)

  • release (number, optional): Release time in ms (5 to 4000)

atem_get_fairlight_eq_stateA

Get the current EQ bands, compressor, limiter, and gate/expander settings for a Fairlight audio input. Returns human-readable values (dB, Hz, ms).

Args:

  • input (number): Audio input number (1=Camera 1, 2=Camera 2, etc.)

atem_set_fairlight_master_eqC

Set an EQ band on the Fairlight master output. Same 6-band layout as input EQ.

Args:

  • band (number): EQ band index (0-5)

  • bandEnabled (boolean, optional): Enable/disable this band

  • shape (string, optional): Band shape — "bell", "low_shelf", "high_shelf", "high_pass", "low_pass", "notch"

  • frequency (number, optional): Center frequency in Hz (20-20000)

  • gain (number, optional): Band gain in dB (-20 to +20)

  • qFactor (number, optional): Q factor (0.3 to 10.3)

  • frequencyRange (string, optional): "low", "low_mid", "mid_high", "high"

atem_set_fairlight_master_compressorC

Configure the compressor on the Fairlight master output.

Args:

  • enabled (boolean, optional): Enable/disable compressor

  • threshold (number, optional): Threshold in dB (-50 to 0)

  • ratio (number, optional): Compression ratio (1.0 to 20.0)

  • attack (number, optional): Attack in ms (0.7 to 100)

  • hold (number, optional): Hold in ms (0 to 4000)

  • release (number, optional): Release in ms (5 to 4000)

atem_set_fairlight_master_limiterB

Configure the limiter on the Fairlight master output.

Args:

  • enabled (boolean, optional): Enable/disable limiter

  • threshold (number, optional): Threshold in dB (-50 to 0)

  • attack (number, optional): Attack in ms (0.7 to 30)

  • hold (number, optional): Hold in ms (0 to 4000)

  • release (number, optional): Release in ms (5 to 4000)

atem_set_fairlight_makeup_gainA

Set the makeup gain on a Fairlight audio input. Makeup gain compensates for volume lost during compression.

Args:

  • input (number): Audio input number (1=Camera 1, 2=Camera 2, etc.)

  • gain (number): Makeup gain in dB (0 to 20)

atem_reset_fairlight_dynamicsA

Reset dynamics processors to factory defaults on a Fairlight audio input.

Args:

  • input (number): Audio input number (1=Camera 1, 2=Camera 2, etc.)

  • compressor (boolean, optional): Reset compressor to defaults

  • limiter (boolean, optional): Reset limiter to defaults

  • expander (boolean, optional): Reset gate/expander to defaults

  • dynamics (boolean, optional): Reset all dynamics to defaults

atem_reset_fairlight_eqA

Reset EQ to factory defaults on a Fairlight audio input.

Args:

  • input (number): Audio input number (1=Camera 1, 2=Camera 2, etc.)

  • band (number, optional): Reset a specific band (0-5). If omitted, resets all bands.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 66 tools

Disambiguation4/5

Tools are organized into clearly separated domains (switching, transitions, Super Source, keys, audio, macros, EDL), and most boundaries are sharp. A few names share the 'auto' prefix (atem_auto_transition, atem_auto_dsk, atem_auto_switch_on) and there is mild overlap between atem_preview_and_auto/atem_auto_transition and atem_set_supersource_box/atem_set_supersource_layout, but descriptions resolve the confusion.

Naming Consistency4/5

Nearly all tools follow an atem_verb_noun pattern (atem_set_program, atem_get_status, atem_start_recording) with consistent snake_case. Minor deviations exist in ordering for subgroups (atem_edl_start, atem_macro_run, atem_auto_switch_on, atem_fade_to_black), but each subgroup is internally consistent and readable.

Tool Count3/5

66 tools is heavy, and an agent must scan a large surface to find the right one. However, the domain (full ATEM switcher control including Fairlight audio, keys, Super Source, and EDL export) is genuinely broad and each tool maps to a distinct hardware operation, so the count is borderline rather than bloated.

Completeness4/5

Coverage is strong: connection, program/preview switching, transitions, recording/streaming, Super Source (boxes, art, borders, layouts, saved looks), auto-switching, aux, DSK, USK, macros, and deep Fairlight audio control. Minor gaps exist (no DSK state getter, no media pool/still upload, no camera color-correction tools), but core workflows have no dead ends.