MCP Tools

The MCP server at POST /mcp exposes pMix.studio to AI assistants as 145 callable tools covering the whole production surface. Three more are defined but stay hidden unless cloud vision is switched on — they’re listed under Vision below. Ask an assistant to “cut to camera 2”, “duck the music and bring up the mic”, or “add my Twitch destination and go live”, and it calls the right ones.

Setup is on Pointing an AI assistant at pMix. JSON-RPC 2.0 over Streamable HTTP, protocol version 2025-03-26.

Run tools/list against /mcp for the live catalog on your installed version — the tools and the REST endpoints share the same dispatcher, so behaviour is identical either way.

curl -sS -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' \
  http://192.168.1.42:6006/mcp

The catalog

Stateget_state

Switcherswitcher_state, switcher_set_program, switcher_set_preview, switcher_cut, switcher_take, switcher_fade, switcher_transition, switcher_cancel_transition, switcher_ftb

Inputsinputs_list, inputs_add_color_bars, inputs_add_solid_color, inputs_add_ndi, inputs_add_media, inputs_add_quiccam, inputs_takeover_quiccam, inputs_add_srt, inputs_add_audio_input, inputs_configure_audio_input, inputs_configure_text, inputs_configure_countdown, inputs_discovery, inputs_list_discovered, inputs_clear_slot, inputs_clear_all, media_transport, camera_latency_trim

Media assetsmedia_list, media_fetch, media_delete. Getting files onto the iPad. media_fetch downloads from a URL you give it; media_list returns the asset_path values inputs_add_media wants. There’s deliberately no upload tool: an LLM can’t carry file bytes through a tool call, so an assistant with shell access uploads by running curl against POST /media instead — see REST API.

Mixermixer_state, mixer_set_master, mixer_set_source, mixer_create_group, mixer_set_group, mixer_delete_group, mixer_pfl, mixer_monitor, mixer_mic, mixer_test_tone

Outputoutput_state, output_start, output_stop, output_set_settings

Projectproject_set_camera_latency. Sets the project-wide Camera Latency preset (low 80 ms / standard 250 ms / reliable 500 ms) live — video presentation delay and every connected camera’s audio jitter window re-size immediately, no reconnect needed — and persists it to the project. reliable is the mitigation for audible dropouts from jitter-buffer underruns on struggling Wi-Fi.

Destinationsdestinations_list, destination_add, destination_update, destination_remove. Pick a platform by service_id and the ingest URL fills in automatically; stream keys are write-only.

Scenesscenes_list, scenes_get, scenes_active, scenes_create, scenes_activate, scenes_duplicate, scenes_rename, scenes_delete. These are production-state snapshots — the whole desk saved and recalled.

Composite scenescomposite_scenes_list, composite_scene_get, composite_scene_create, composite_scene_rename, composite_scene_duplicate, composite_scene_delete, composite_scene_activate, composite_layer_add, composite_layer_update, composite_layer_remove, composite_layer_set_effects. Layered layout authoring — picture-in-picture, side-by-side, and so on. Distinct from production scenes above: a composite scene is an input source you build and then cut to.

Overlaysoverlays_list, overlay_add, overlay_remove, overlay_clear, overlay_set_enabled. The lower thirds, logos, countdowns and clips sitting on top of program. Overlays go straight to air, so overlay_add is a live change — overlay_remove runs the overlay’s exit animation, overlay_clear drops the lot immediately, and overlay_set_enabled blanks or restores the whole stack without disturbing it.

Recordingrecording_state, recording_start, recording_stop

PTZptz_pan_tilt, ptz_zoom, ptz_set_zoom, ptz_preset_recall, ptz_preset_save, ptz_auto_focus, ptz_center, ptz_stop. These drive the camera currently on preview.

Cinematic movescinematic_hold, cinematic_standby, cinematic_zoom_to, cinematic_pan_slow, cinematic_idle_scan, cinematic_ken_burns, cinematic_cancel

Wireless iPhone camerasremote_camera_state, remote_camera_set_zoom, remote_camera_set_headroom, remote_camera_focus_auto, remote_camera_focus_point, remote_camera_focus_manual, remote_camera_exposure_auto, remote_camera_exposure_manual, remote_camera_wb_auto, remote_camera_wb_manual, remote_camera_torch, remote_camera_switch_camera, remote_camera_tracking_start, remote_camera_tracking_stop, remote_camera_scan_for_subject, remote_camera_cinematic_capture, remote_camera_set_lens, remote_camera_select_capture_source, remote_camera_select_audio_input, remote_camera_set_source_name, remote_camera_screen_dim, remote_camera_request_keyframe, remote_camera_time_sync_overlay. remote_camera_set_lens pins capture to a physical back lens instead of the virtual multi-lens device; remote_camera_request_keyframe is the repair to reach for when one camera’s picture freezes or smears while the others are fine.

Phone screen sharingremote_camera_arm_screen_capture, remote_camera_disarm_screen_capture. iOS will not let anything but a person start a screen broadcast, so these raise the broadcast picker on the phone; someone standing at it still taps to start or stop.

Gimbalgimbal_poses_list, gimbal_save_pose, gimbal_move_to_pose, remote_camera_gimbal_speed, remote_camera_gimbal_recenter, remote_camera_gimbal_set_home, remote_camera_gimbal_centre_level. Named DockKit positions, plus direct pan/tilt drive. remote_camera_gimbal_set_home marks the pose you’ve lined up by hand as home and remote_camera_gimbal_recenter drives back to it; remote_camera_gimbal_centre_level is a different thing — it asks the head for its own neutral mechanical posture, centred and level against gravity, which is what you want when home was calibrated crooked.

A/V syncavsync_status, avsync_configure, avsync_calibrate

Diagnosticsdiagnostics_health, diagnostics_levels, diagnostics_network, diagnostics_latency, diagnostics_audio_capture, diagnostics_audio_decoders, diagnostics_quiccam_sender, preflight_run, screenshot. The three audio and camera reads are the ones to hand an assistant asking why something is wrong: diagnostics_audio_capture for the iPad’s own mic, audio interface and output route, diagnostics_audio_decoders for a network source that has gone silent, and diagnostics_quiccam_sender for a phone camera that keeps dropping out while its neighbours are fine.

Visiondetect_objects, count_people. On-device detection, no token or cloud call needed.

Cloud visiondescribe_source, describe_program, remote_camera_locate_and_focus. These describe what’s actually on screen in words, and point a camera at a subject you name (“the person in red”). They call a multimodal model, so they only appear in tools/list when cloud vision is switched on — an assistant that can’t see them doesn’t have them.

Virtual operatorzones_list, zone_create, zone_update, operator_shot. Scene-zone authoring and named operator shots. This group is developer-gated and returns an error unless the virtual-operator API has been switched on.

UI automationui_select_tab, ui_program_fullscreen, ui_source_fullscreen. The two fullscreen tools open and close the same enlarged preview the magnify buttons do, which is how an assistant gets a proper look at one source or at program. Requires Allow UI navigation in SettingsControl API. Intended for smoke tests and screenshot automation, not live shows.

Risk ratings

Every tool carries an access level and a risk rating in GET /manifest:

Rating Meaning
read No token needed, changes nothing
safe_write Changes state the audience won’t notice
show_affecting Visible on the output
destructive Going live, stopping a recording, clearing slots
ui_automation Drives the app’s own interface

Worth surfacing to an assistant so it knows what to confirm before doing. There’s more on working safely during a live show on Pointing an AI assistant at pMix.

Authentication

Read-only tools — state, lists, meters — work without any setup, including tools/list. Write tools need the API token. When a write fails, the assistant sees the authentication error as a tool result rather than a silent failure, so it can ask you to paste the token from SettingsControl APIAPI Token.

The screenshot tool is a read but needs the token too: it captures the whole app window, which can include on-screen credentials.


Back to top

© 2026 pMix Studio. Built by Smash It Studios.

© 2026 pMix Studio · pmix.studio ·