announcement_focus_active
Focus the currently active announcement presentation
Run a live ProPresenter 7 service from an agent: advance cues, start and adjust timers, put a message on the stage screens and switch the audience look.
LABSCO SUMMARY
The tool list tracks the application's own endpoints closely enough that an agent can run a service end to end — cue advance, timers, stage messages, audience looks, capture start and stop — without anyone touching the machine. That fidelity has a price: the whole tool list rides in the model's context on every turn, and the naming distinguishes active, focused and UUID-addressed presentations, a distinction the agent has to keep straight or it will trigger the wrong thing. What it creates is limited to playlists, messages and prop collections; presentations, themes, masks and looks come from a library that already exists.
A control surface for a running ProPresenter 7 machine, exposing its presentation, playlist, announcement, audio, stage, timer and transport endpoints as 177 tools.
ProPresenter 7 running and reachable from the machine the server runs on. No account, no key.
One command — npx -y @alxpark/propresenter-mcp
USE CASES
Step the current presentation cue by cue, check where the slide pointer actually is, and clear a layer when something needs to come off screen.
Read the state of every timer, then add time or restart the one that is driving the room.
Write the message once, show it to the audience with its token values filled in, mirror it to the stage screens, then take both down.
Read the existing playlists, rewrite the contents of the one that moved, add a new one for the change, and fire the item that is next.
Confirm screen and layer state and the slide on air, then switch the live audience look if the wrong one is up.
Find the audio playlist, fire the right item, then play, pause and read the playback position on the audio layer.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
announcement_focus_activeFocus the currently active announcement presentation
announcement_get_activeGet the currently active announcement presentation
announcement_get_slide_indexGet the index of the current slide within the active announcement
announcement_get_timeline_statusGet the current timeline status of the active announcement
announcement_timeline_operationPerform timeline operation (play, pause, rewind) on active announcement
announcement_trigger_activeRetrigger the currently active announcement (starts from beginning)
announcement_trigger_cueTrigger a specific cue by index in the active announcement
announcement_trigger_nextTrigger the next cue in the active announcement
announcement_trigger_previousTrigger the previous cue in the active announcement
audio_focus_active_playlistFocus the active audio playlist
audio_focus_next_playlistFocus the next audio playlist
audio_focus_playlistFocus a specific audio playlist
audio_focus_previous_playlistFocus the previous audio playlist
audio_get_active_playlistGet the currently active audio playlist
audio_get_focused_playlistGet the currently focused audio playlist
audio_get_playlistGet all items in a specific audio playlist
audio_get_playlist_updatesSubscribe to updates for a specific audio playlist (chunked response)
audio_get_playlistsGet a list of all configured audio playlists
audio_trigger_active_nextTrigger the next item in the active playlist
audio_trigger_active_playlistTrigger the active audio playlist (restart from beginning)
audio_trigger_active_previousTrigger the previous item in the active playlist
audio_trigger_focused_nextTrigger the next item in the focused playlist
audio_trigger_focused_playlistTrigger the focused audio playlist
audio_trigger_focused_previousTrigger the previous item in the focused playlist
audio_trigger_playlistTrigger a specific audio playlist
audio_trigger_playlist_itemTrigger a specific item in a specific playlist
capture_get_encodingsGet available capture encodings for a specific type
capture_get_settingsGet the current capture settings
capture_get_statusGet the current capture status and capture time
capture_operationPerform a capture operation (start or stop)
clear_get_groupGet details of a specific clear group
clear_get_groupsGet a list of all configured clear groups
clear_layerClear a specific layer (audio, props, messages, announcements, slide, media, video_input)
clear_trigger_groupTrigger a specific clear group
find_my_mouseTrigger the find my mouse feature to highlight the cursor on all screens
focus_active_presentationFocus the currently active presentation
focus_next_presentationFocus the next presentation
focus_presentationFocus a presentation without triggering it
focus_previous_presentationFocus the previous presentation
focused_timeline_operationPerform timeline operation (play, pause, rewind) on focused presentation
get_active_presentationGet the currently active presentation
get_active_slide_indexGet the index of the current slide within the active presentation
get_chord_chartGet the current chord chart information
get_chord_chart_updatesGet chord chart updates
get_focused_presentationGet the currently focused presentation
get_focused_timeline_statusGet the current timeline status of the focused presentation
get_presentationGet details of a specific presentation by UUID
get_presentation_thumbnailGet a thumbnail for a specific slide in a presentation
get_propresenter_versionGet the ProPresenter version and build information
get_timeline_statusGet the current timeline status of the active presentation
global_groups_get_allGet all global groups configured in ProPresenter
library_getGet all items in a specific library
library_get_librariesGet a list of all configured libraries
library_trigger_presentationTrigger the first cue of a presentation in a library
library_trigger_presentation_cueTrigger a specific cue of a presentation in a library
looks_getGet details of a specific audience look
looks_get_allGet a list of all configured audience looks (except the live look)
looks_get_currentGet the details of the currently live audience look
looks_triggerTrigger a specific audience look to make it live/current
macros_getGet details of a specific macro
macros_get_allGet a list of all configured macros
macros_triggerTrigger a specific macro
masks_getGet details of a specific mask
masks_get_allGet all masks in the library
masks_get_thumbnailGet thumbnail for a specific mask
messages_clearClear (hide) a specific message
messages_createCreate a new message
messages_deleteDelete a specific message
messages_getGet details of a specific message
messages_get_allGet a list of all messages
messages_triggerTrigger (show) a specific message with optional token values
messages_updateUpdate an existing message
playlists_createCreate a new playlist
playlists_create_underCreate a new playlist under an existing playlist
playlists_focusFocus a specific playlist without triggering it
playlists_focus_active_announcementFocus the active announcement playlist
playlists_focus_active_presentationFocus the active presentation playlist
playlists_focus_nextFocus the next playlist
playlists_focus_previousFocus the previous playlist
playlists_getGet details of a specific playlist
playlists_get_activeGet the currently active playlist
playlists_get_active_announcement_thumbnailGet thumbnail for active playlist announcement item
playlists_get_active_presentation_thumbnailGet thumbnail for active playlist presentation item
playlists_get_allGet all playlists in the library
playlists_get_focusedGet the currently focused playlist
playlists_get_focused_nextGet the next item in the focused playlist
playlists_get_focused_previousGet the previous item in the focused playlist
playlists_get_thumbnailGet thumbnail for a specific playlist item
playlists_get_updatesGet updates for a specific playlist
playlists_setUpdate the contents of a specific playlist
playlists_triggerTrigger a specific playlist
playlists_trigger_active_announcementTrigger the active announcement in the playlist
playlists_trigger_active_announcement_itemTrigger a specific announcement item in the active playlist
playlists_trigger_active_presentationTrigger the active presentation in the playlist
playlists_trigger_active_presentation_itemTrigger a specific presentation item in the active playlist
playlists_trigger_focusedTrigger the focused playlist item
playlists_trigger_focused_itemTrigger a specific item in the focused playlist
playlists_trigger_focused_nextTrigger the next item in the focused playlist
playlists_trigger_focused_previousTrigger the previous item in the focused playlist
playlists_trigger_itemTrigger a specific item in a playlist
playlists_trigger_nextTrigger the next item in a specific playlist
playlists_trigger_previousTrigger the previous item in a specific playlist
presentation_timeline_operationPerform timeline operation on a specific presentation by UUID
props_clearClear a specific prop from display
props_create_collectionCreate a new prop collection
props_deleteDelete a specific prop
props_delete_collectionDelete a specific prop collection
props_getGet details of a specific prop
props_get_allGet all props in the library
props_get_collectionGet details of a specific prop collection
props_get_collectionsGet all prop collections
props_get_thumbnailGet thumbnail for a specific prop
props_pause_auto_clearPause auto-clear for a specific prop
props_resume_auto_clearResume auto-clear for a specific prop
props_setUpdate a specific prop
props_set_collectionUpdate a specific prop collection
props_triggerTrigger a specific prop to display
stage_delete_layoutDelete a specific stage layout
stage_get_layout_mapGet the current stage layout map configuration
stage_get_layout_thumbnailGet thumbnail for a specific stage layout
stage_get_layoutsGet all available stage layouts
stage_get_messageGet the current stage message
stage_get_screen_layoutGet the layout for a specific stage screen
stage_get_screensGet all stage screens and their configurations
stage_hide_messageHide the current stage message
stage_set_layout_mapSet the stage layout map configuration
stage_set_screen_layoutSet the layout for a specific stage screen
stage_show_messageShow a message on stage screens
status_get_audienceGet the status of audience screens
status_get_layersGet the status of all layers
status_get_screensGet the current status of all screens in ProPresenter
status_get_slideGet the current slide status information
status_get_stageGet the status of stage screens
status_post_updatesSubscribe to status updates with specific configuration
status_set_audienceSet the configuration of audience screens
status_set_stageSet the configuration of stage screens
themes_getGet details of a specific theme
themes_get_allGet all themes in the library
themes_get_slideGet a specific slide from a theme
themes_get_slide_thumbnailGet thumbnail for a specific theme slide
themes_set_slideUpdate a specific slide in a theme
timeline_operationPerform timeline operation (play, pause, rewind) on active presentation
timers_getGet details of a specific timer
timers_get_allGet all timers and their current states
timers_get_currentGet the current/active timer
timers_get_system_timeGet the current system time from ProPresenter
timers_get_video_countdownGet the video countdown timer information
timers_incrementIncrement a specific timer by a duration
timers_operate_allPerform an operation on all timers simultaneously
timers_operationPerform a specific operation on a timer (start, stop, reset)
timers_resetReset a specific timer
timers_startStart a specific timer
timers_stopStop a specific timer
transport_cancel_auto_advanceCancel auto-advance for presentation or announcement layer
transport_get_auto_advanceGet auto-advance status for presentation or announcement layer
transport_get_currentGet the current content on the specified layer
transport_get_timeGet the current playback time of the specified layer
transport_go_to_endGo to the end of content in the specified layer
transport_pausePause the specified layer (presentation, announcement, or audio)
transport_playPlay the specified layer (presentation, announcement, or audio)
transport_set_timeSet the playback time of the specified layer
transport_skip_backwardSkip backward in the specified layer by a given time
transport_skip_forwardSkip forward in the specified layer by a given time
trigger_active_groupTrigger a specific group in the active presentation
trigger_active_presentationRetrigger the currently active presentation (starts from beginning)
trigger_focused_cueTrigger a specific cue by index in the focused presentation
trigger_focused_groupTrigger a specific group in the focused presentation
trigger_focused_nextTrigger the next cue in the focused presentation
trigger_focused_presentationTrigger the currently focused presentation
trigger_focused_previousTrigger the previous slide in the focused presentation
trigger_next_slideTrigger the next cue in the current presentation
trigger_presentationTrigger a specific presentation by UUID, optionally starting at a specific slide index
trigger_presentation_cueTrigger a specific cue by index in a presentation by UUID
trigger_presentation_groupTrigger a specific group in a presentation by UUID
trigger_presentation_nextTrigger the next cue in a specific presentation by UUID
trigger_presentation_previousTrigger the previous cue in a specific presentation by UUID
trigger_previous_slideTrigger the previous cue in the current presentation
BEFORE YOU INSTALL
177 tools when we connected. The 231 in the documentation counts ProPresenter REST endpoints and the 18 counts source modules; neither is a tool count.
The documented client runs the server on your machine.
CONTEXT COST
Rated by the size of the 177 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y @alxpark/propresenter-mcp{
"mcpServers": {
"propresenter": {
"command": "npx",
"args": [
"-y",
"@alxpark/propresenter-mcp"
],
"env": {
"PROPRESENTER_URL": "http://localhost:50000",
"PROPRESENTER_PASSWORD": "<YOUR_PROPRESENTER_PASSWORD>"
}
}
}
}This runs the published @alxpark/propresenter-mcp package, whose propresenter-mcp command is the same build/index.js the README's local-build block points at. Set PROPRESENTER_URL to your ProPresenter machine and port, and delete PROPRESENTER_PASSWORD if you set no API password.