# io.github.alxpark/propresenter-mcp (npm · @alxpark/propresenter-mcp)

ProPresenter 7 MCP server

- Trust score: 69/100 (medium)
- Change this week: +43
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-04

## Components

- npm · `@alxpark/propresenter-mcp`: 69/100 (this document), [markdown](https://verifymcp.io/servers/alxpark-propresenter-mcp/alxpark-propresenter-mcp.md), [page](https://verifymcp.io/servers/alxpark-propresenter-mcp/alxpark-propresenter-mcp)

## Channel facts

- Registry: `npm`
- Package: `@alxpark/propresenter-mcp`
- Version: `1.0.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-04.

- **Supply Chain Security**: 86/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 185 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 4997 tokens (~28/item across 177 items; 177 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add alxpark-propresenter-mcp -- npx -y @alxpark/propresenter-mcp
```

### Codex

```bash
codex mcp add alxpark-propresenter-mcp -- npx -y @alxpark/propresenter-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "alxpark-propresenter-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@alxpark/propresenter-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add alxpark-propresenter-mcp --command npx --arg -y --arg @alxpark/propresenter-mcp
```

### Hermes

```yaml
mcp_servers:
  alxpark-propresenter-mcp:
    command: "npx"
    args: ["-y", "@alxpark/propresenter-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "alxpark-propresenter-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@alxpark/propresenter-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-04 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-03 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-02 (score 67, +47)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [functional regression] Security disclosure: fail → unverified
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional] Licence: MIT

### 2026-08-01 (score 20, −14)

- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional regression] Security disclosure: unverified → fail
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-07-31 (score 34, −14)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 48, −30)

- [security regression] Malware scan: pass → unverified
- [security regression] Known CVEs: partial → unverified
- [functional regression] Dependency health: partial → unverified

### 2026-07-29 (score 78, +52)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [functional improvement] License: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → good
- [functional improvement] Maintenance: unverified → pass
- [functional] Licence: MIT

### 2026-07-28 (score 26, −20)

- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] Dependency health: unverified → partial
- [functional] First check of Schema quality: unverified

## MCP tools (177)

### `announcement_get_active` (~16 tokens)

Get the currently active announcement presentation

### `announcement_get_slide_index` (~22 tokens)

Get the index of the current slide within the active announcement

### `announcement_focus_active` (~16 tokens)

Focus the currently active announcement presentation

### `announcement_trigger_active` (~20 tokens)

Retrigger the currently active announcement (starts from beginning)

### `announcement_trigger_next` (~18 tokens)

Trigger the next cue in the active announcement

### `announcement_trigger_previous` (~18 tokens)

Trigger the previous cue in the active announcement

### `announcement_trigger_cue` (~38 tokens)

Trigger a specific cue by index in the active announcement

Input parameters:

- `index` (number, required): The index of the cue to trigger (0-based)

### `announcement_timeline_operation` (~36 tokens)

Perform timeline operation (play, pause, rewind) on active announcement

Input parameters:

- `operation` (string, required): The timeline operation to perform

### `announcement_get_timeline_status` (~21 tokens)

Get the current timeline status of the active announcement

### `audio_get_playlists` (~19 tokens)

Get a list of all configured audio playlists

### `audio_get_playlist` (~55 tokens)

Get all items in a specific audio playlist

Input parameters:

- `playlistId` (string, required): The ID of the playlist (UUID, name, or index)
- `start` (number): Optional starting index for pagination (default: 0)

### `audio_get_playlist_updates` (~43 tokens)

Subscribe to updates for a specific audio playlist (chunked response)

Input parameters:

- `playlistId` (string, required): The ID of the playlist (UUID, name, or index)

### `audio_get_focused_playlist` (~18 tokens)

Get the currently focused audio playlist

### `audio_get_active_playlist` (~17 tokens)

Get the currently active audio playlist

### `audio_focus_next_playlist` (~16 tokens)

Focus the next audio playlist

### `audio_focus_previous_playlist` (~16 tokens)

Focus the previous audio playlist

### `audio_focus_active_playlist` (~16 tokens)

Focus the active audio playlist

### `audio_focus_playlist` (~30 tokens)

Focus a specific audio playlist

Input parameters:

- `playlistId` (string, required): The ID of the playlist to focus

### `audio_trigger_focused_playlist` (~17 tokens)

Trigger the focused audio playlist

### `audio_trigger_active_playlist` (~20 tokens)

Trigger the active audio playlist (restart from beginning)

### `audio_trigger_playlist` (~30 tokens)

Trigger a specific audio playlist

Input parameters:

- `playlistId` (string, required): The ID of the playlist to trigger

### `audio_trigger_playlist_item` (~47 tokens)

Trigger a specific item in a specific playlist

Input parameters:

- `itemId` (string, required): The ID of the item to trigger
- `playlistId` (string, required): The ID of the playlist

### `audio_trigger_focused_next` (~20 tokens)

Trigger the next item in the focused playlist

### `audio_trigger_focused_previous` (~20 tokens)

Trigger the previous item in the focused playlist

### `audio_trigger_active_next` (~19 tokens)

Trigger the next item in the active playlist

### `audio_trigger_active_previous` (~19 tokens)

Trigger the previous item in the active playlist

### `capture_get_status` (~18 tokens)

Get the current capture status and capture time

### `capture_operation` (~29 tokens)

Perform a capture operation (start or stop)

Input parameters:

- `operation` (string, required): The capture operation to perform

### `capture_get_settings` (~15 tokens)

Get the current capture settings

### `capture_get_encodings` (~35 tokens)

Get available capture encodings for a specific type

Input parameters:

- `type` (string, required): The capture type to get encodings for

### `clear_layer` (~39 tokens)

Clear a specific layer (audio, props, messages, announcements, slide, media, video_input)

Input parameters:

- `layer` (string, required): The layer to clear

### `clear_get_groups` (~18 tokens)

Get a list of all configured clear groups

### `clear_get_group` (~37 tokens)

Get details of a specific clear group

Input parameters:

- `id` (string, required): The ID of the clear group (UUID, name, or index)

### `clear_trigger_group` (~30 tokens)

Trigger a specific clear group

Input parameters:

- `id` (string, required): The ID of the clear group to trigger

### `library_get_libraries` (~18 tokens)

Get a list of all configured libraries

### `library_get` (~36 tokens)

Get all items in a specific library

Input parameters:

- `libraryId` (string, required): The ID of the library (UUID, name, or index)

### `library_trigger_presentation` (~54 tokens)

Trigger the first cue of a presentation in a library

Input parameters:

- `libraryId` (string, required): The ID of the library
- `presentationId` (string, required): The ID of the presentation (UUID, name, or index)

### `library_trigger_presentation_cue` (~66 tokens)

Trigger a specific cue of a presentation in a library

Input parameters:

- `index` (number, required): The index of the cue to trigger (0-based)
- `libraryId` (string, required): The ID of the library
- `presentationId` (string, required): The ID of the presentation

### `looks_get_all` (~23 tokens)

Get a list of all configured audience looks (except the live look)

### `looks_get_current` (~19 tokens)

Get the details of the currently live audience look

### `looks_get` (~35 tokens)

Get details of a specific audience look

Input parameters:

- `id` (string, required): The ID of the look (UUID, name, or index)

### `looks_trigger` (~33 tokens)

Trigger a specific audience look to make it live/current

Input parameters:

- `id` (string, required): The ID of the look to trigger

### `macros_get_all` (~17 tokens)

Get a list of all configured macros

### `macros_get` (~34 tokens)

Get details of a specific macro

Input parameters:

- `id` (string, required): The ID of the macro (UUID, name, or index)

### `macros_trigger` (~27 tokens)

Trigger a specific macro

Input parameters:

- `id` (string, required): The ID of the macro to trigger

### `messages_get_all` (~16 tokens)

Get a list of all messages

### `messages_create` (~34 tokens)

Create a new message

Input parameters:

- `message` (object, required): The message object with id, message text, tokens, theme, etc.

### `messages_get` (~28 tokens)

Get details of a specific message

Input parameters:

- `messageId` (string, required): The ID of the message

### `messages_update` (~39 tokens)

Update an existing message

Input parameters:

- `message` (object, required): The updated message object
- `messageId` (string, required): The ID of the message to update

### `messages_delete` (~28 tokens)

Delete a specific message

Input parameters:

- `messageId` (string, required): The ID of the message to delete

### `messages_trigger` (~50 tokens)

Trigger (show) a specific message with optional token values

Input parameters:

- `messageId` (string, required): The ID of the message to trigger
- `tokens` (array): Optional array of token values to override defaults

### `messages_clear` (~33 tokens)

Clear (hide) a specific message

Input parameters:

- `messageId` (string, required): The ID of the message to clear/hide

### `trigger_presentation` (~55 tokens)

Trigger a specific presentation by UUID, optionally starting at a specific slide index

Input parameters:

- `index` (number): Optional slide index to start at (0-based)
- `presentationUuid` (string, required): The UUID of the presentation to trigger

### `focus_presentation` (~31 tokens)

Focus a presentation without triggering it

Input parameters:

- `presentationUuid` (string, required): The UUID of the presentation to focus

### `get_focused_presentation` (~17 tokens)

Get the currently focused presentation

### `get_active_presentation` (~16 tokens)

Get the currently active presentation

### `get_active_slide_index` (~22 tokens)

Get the index of the current slide within the active presentation

### `focus_active_presentation` (~16 tokens)

Focus the currently active presentation

### `trigger_active_presentation` (~21 tokens)

Retrigger the currently active presentation (starts from beginning)

### `trigger_focused_presentation` (~17 tokens)

Trigger the currently focused presentation

### `trigger_next_slide` (~18 tokens)

Trigger the next cue in the current presentation

### `trigger_previous_slide` (~18 tokens)

Trigger the previous cue in the current presentation

### `trigger_focused_next` (~19 tokens)

Trigger the next cue in the focused presentation

### `trigger_focused_previous` (~19 tokens)

Trigger the previous slide in the focused presentation

### `trigger_presentation_cue` (~53 tokens)

Trigger a specific cue by index in a presentation by UUID

Input parameters:

- `index` (number, required): The index of the cue to trigger (0-based)
- `presentationUuid` (string, required): The UUID of the presentation

### `trigger_focused_cue` (~39 tokens)

Trigger a specific cue by index in the focused presentation

Input parameters:

- `index` (number, required): The index of the cue to trigger (0-based)

### `timeline_operation` (~34 tokens)

Perform timeline operation (play, pause, rewind) on active presentation

Input parameters:

- `operation` (string, required): The timeline operation to perform

### `get_timeline_status` (~20 tokens)

Get the current timeline status of the active presentation

### `get_focused_timeline_status` (~22 tokens)

Get the current timeline status of the focused presentation

### `focused_timeline_operation` (~36 tokens)

Perform timeline operation (play, pause, rewind) on focused presentation

Input parameters:

- `operation` (string, required): The timeline operation to perform

### `presentation_timeline_operation` (~45 tokens)

Perform timeline operation on a specific presentation by UUID

Input parameters:

- `operation` (string, required): The timeline operation to perform
- `presentationUuid` (string, required): The UUID of the presentation

### `get_presentation` (~31 tokens)

Get details of a specific presentation by UUID

Input parameters:

- `presentationUuid` (string, required): The UUID of the presentation

### `get_presentation_thumbnail` (~60 tokens)

Get a thumbnail for a specific slide in a presentation

Input parameters:

- `index` (number, required): The slide index (0-based)
- `presentationUuid` (string, required): The UUID of the presentation
- `quality` (number): Optional quality setting for the thumbnail

### `focus_next_presentation` (~15 tokens)

Focus the next presentation

### `focus_previous_presentation` (~15 tokens)

Focus the previous presentation

### `trigger_presentation_next` (~34 tokens)

Trigger the next cue in a specific presentation by UUID

Input parameters:

- `presentationUuid` (string, required): The UUID of the presentation

### `trigger_presentation_previous` (~34 tokens)

Trigger the previous cue in a specific presentation by UUID

Input parameters:

- `presentationUuid` (string, required): The UUID of the presentation

### `trigger_focused_group` (~34 tokens)

Trigger a specific group in the focused presentation

Input parameters:

- `groupId` (string, required): The ID of the group to trigger

### `trigger_active_group` (~33 tokens)

Trigger a specific group in the active presentation

Input parameters:

- `groupId` (string, required): The ID of the group to trigger

### `trigger_presentation_group` (~48 tokens)

Trigger a specific group in a presentation by UUID

Input parameters:

- `groupId` (string, required): The ID of the group to trigger
- `presentationUuid` (string, required): The UUID of the presentation

### `get_chord_chart` (~17 tokens)

Get the current chord chart information

### `get_chord_chart_updates` (~16 tokens)

Get chord chart updates

### `get_propresenter_version` (~20 tokens)

Get the ProPresenter version and build information

### `find_my_mouse` (~23 tokens)

Trigger the find my mouse feature to highlight the cursor on all screens

### `status_get_screens` (~21 tokens)

Get the current status of all screens in ProPresenter

### `status_get_audience` (~17 tokens)

Get the status of audience screens

### `status_set_audience` (~29 tokens)

Set the configuration of audience screens

Input parameters:

- `screens` (object, required): The screen configuration to apply

### `status_get_stage` (~16 tokens)

Get the status of stage screens

### `status_set_stage` (~28 tokens)

Set the configuration of stage screens

Input parameters:

- `screens` (object, required): The screen configuration to apply

### `status_get_layers` (~16 tokens)

Get the status of all layers

### `status_get_slide` (~16 tokens)

Get the current slide status information

### `status_post_updates` (~28 tokens)

Subscribe to status updates with specific configuration

Input parameters:

- `updates` (object, required): The update subscription configuration

### `timers_get_all` (~17 tokens)

Get all timers and their current states

### `timers_get_current` (~16 tokens)

Get the current/active timer

### `timers_get` (~28 tokens)

Get details of a specific timer

Input parameters:

- `timerId` (string, required): The ID of the timer

### `timers_start` (~28 tokens)

Start a specific timer

Input parameters:

- `timerId` (string, required): The ID of the timer to start

### `timers_stop` (~28 tokens)

Stop a specific timer

Input parameters:

- `timerId` (string, required): The ID of the timer to stop

### `timers_reset` (~28 tokens)

Reset a specific timer

Input parameters:

- `timerId` (string, required): The ID of the timer to reset

### `timers_operation` (~53 tokens)

Perform a specific operation on a timer (start, stop, reset)

Input parameters:

- `operation` (string, required): The operation to perform: start, stop, or reset
- `timerId` (string, required): The ID of the timer

### `timers_operate_all` (~39 tokens)

Perform an operation on all timers simultaneously

Input parameters:

- `operation` (string, required): The operation to perform on all timers: start, stop, or reset

### `timers_get_system_time` (~19 tokens)

Get the current system time from ProPresenter

### `timers_get_video_countdown` (~18 tokens)

Get the video countdown timer information

### `timers_increment` (~43 tokens)

Increment a specific timer by a duration

Input parameters:

- `duration` (number, required): Duration to increment in seconds
- `timerId` (string, required): The ID of the timer to increment

### `playlists_get_all` (~16 tokens)

Get all playlists in the library

### `playlists_create` (~46 tokens)

Create a new playlist

Input parameters:

- `name` (string, required): The name of the new playlist
- `type` (string, required): The type of playlist (e.g., 'group', 'playlist')

### `playlists_get` (~28 tokens)

Get details of a specific playlist

Input parameters:

- `playlistId` (string, required): The ID of the playlist

### `playlists_set` (~41 tokens)

Update the contents of a specific playlist

Input parameters:

- `contents` (object, required): The playlist contents to set
- `playlistId` (string, required): The ID of the playlist

### `playlists_create_under` (~54 tokens)

Create a new playlist under an existing playlist

Input parameters:

- `name` (string, required): The name of the new playlist
- `playlistId` (string, required): The parent playlist ID
- `type` (string, required): The type of playlist

### `playlists_get_active` (~15 tokens)

Get the currently active playlist

### `playlists_get_active_presentation_thumbnail` (~44 tokens)

Get thumbnail for active playlist presentation item

Input parameters:

- `cueIndex` (number, required): The cue index within the item
- `index` (number, required): The item index

### `playlists_get_active_announcement_thumbnail` (~44 tokens)

Get thumbnail for active playlist announcement item

Input parameters:

- `cueIndex` (number, required): The cue index within the item
- `index` (number, required): The item index

### `playlists_trigger_active_presentation` (~19 tokens)

Trigger the active presentation in the playlist

### `playlists_trigger_active_announcement` (~19 tokens)

Trigger the active announcement in the playlist

### `playlists_trigger_active_presentation_item` (~34 tokens)

Trigger a specific presentation item in the active playlist

Input parameters:

- `index` (number, required): The item index to trigger

### `playlists_trigger_active_announcement_item` (~34 tokens)

Trigger a specific announcement item in the active playlist

Input parameters:

- `index` (number, required): The item index to trigger

### `playlists_focus_active_presentation` (~17 tokens)

Focus the active presentation playlist

### `playlists_focus_active_announcement` (~17 tokens)

Focus the active announcement playlist

### `playlists_get_focused` (~16 tokens)

Get the currently focused playlist

### `playlists_trigger_focused` (~16 tokens)

Trigger the focused playlist item

### `playlists_trigger_focused_item` (~32 tokens)

Trigger a specific item in the focused playlist

Input parameters:

- `index` (number, required): The item index to trigger

### `playlists_get_focused_next` (~20 tokens)

Get the next item in the focused playlist

### `playlists_get_focused_previous` (~20 tokens)

Get the previous item in the focused playlist

### `playlists_trigger_focused_next` (~20 tokens)

Trigger the next item in the focused playlist

### `playlists_trigger_focused_previous` (~20 tokens)

Trigger the previous item in the focused playlist

### `playlists_focus_next` (~14 tokens)

Focus the next playlist

### `playlists_focus_previous` (~14 tokens)

Focus the previous playlist

### `playlists_focus` (~31 tokens)

Focus a specific playlist without triggering it

Input parameters:

- `playlistId` (string, required): The ID of the playlist to focus

### `playlists_trigger` (~28 tokens)

Trigger a specific playlist

Input parameters:

- `playlistId` (string, required): The ID of the playlist to trigger

### `playlists_trigger_next` (~31 tokens)

Trigger the next item in a specific playlist

Input parameters:

- `playlistId` (string, required): The ID of the playlist

### `playlists_trigger_previous` (~31 tokens)

Trigger the previous item in a specific playlist

Input parameters:

- `playlistId` (string, required): The ID of the playlist

### `playlists_trigger_item` (~42 tokens)

Trigger a specific item in a playlist

Input parameters:

- `index` (number, required): The item index to trigger
- `playlistId` (string, required): The ID of the playlist

### `playlists_get_thumbnail` (~54 tokens)

Get thumbnail for a specific playlist item

Input parameters:

- `cueIndex` (number, required): The cue index within the item
- `index` (number, required): The item index
- `playlistId` (string, required): The ID of the playlist

### `playlists_get_updates` (~29 tokens)

Get updates for a specific playlist

Input parameters:

- `playlistId` (string, required): The ID of the playlist

### `props_get_all` (~16 tokens)

Get all props in the library

### `props_get` (~27 tokens)

Get details of a specific prop

Input parameters:

- `id` (string, required): The ID of the prop

### `props_set` (~37 tokens)

Update a specific prop

Input parameters:

- `id` (string, required): The ID of the prop
- `prop` (object, required): The prop data to set

### `props_delete` (~27 tokens)

Delete a specific prop

Input parameters:

- `id` (string, required): The ID of the prop to delete

### `props_trigger` (~29 tokens)

Trigger a specific prop to display

Input parameters:

- `id` (string, required): The ID of the prop to trigger

### `props_clear` (~29 tokens)

Clear a specific prop from display

Input parameters:

- `id` (string, required): The ID of the prop to clear

### `props_pause_auto_clear` (~30 tokens)

Pause auto-clear for a specific prop

Input parameters:

- `id` (string, required): The ID of the prop

### `props_resume_auto_clear` (~30 tokens)

Resume auto-clear for a specific prop

Input parameters:

- `id` (string, required): The ID of the prop

### `props_get_thumbnail` (~28 tokens)

Get thumbnail for a specific prop

Input parameters:

- `id` (string, required): The ID of the prop

### `props_get_collections` (~15 tokens)

Get all prop collections

### `props_create_collection` (~28 tokens)

Create a new prop collection

Input parameters:

- `name` (string, required): The name of the new collection

### `props_get_collection` (~29 tokens)

Get details of a specific prop collection

Input parameters:

- `id` (string, required): The ID of the collection

### `props_set_collection` (~39 tokens)

Update a specific prop collection

Input parameters:

- `collection` (object, required): The collection data to set
- `id` (string, required): The ID of the collection

### `props_delete_collection` (~29 tokens)

Delete a specific prop collection

Input parameters:

- `id` (string, required): The ID of the collection to delete

### `stage_get_message` (~15 tokens)

Get the current stage message

### `stage_show_message` (~28 tokens)

Show a message on stage screens

Input parameters:

- `message` (object, required): The message data to display

### `stage_hide_message` (~15 tokens)

Hide the current stage message

### `stage_get_layout_map` (~18 tokens)

Get the current stage layout map configuration

### `stage_set_layout_map` (~31 tokens)

Set the stage layout map configuration

Input parameters:

- `layoutMap` (object, required): The layout map configuration to set

### `stage_get_screens` (~18 tokens)

Get all stage screens and their configurations

### `stage_get_screen_layout` (~32 tokens)

Get the layout for a specific stage screen

Input parameters:

- `id` (string, required): The ID of the stage screen

### `stage_set_screen_layout` (~47 tokens)

Set the layout for a specific stage screen

Input parameters:

- `id` (string, required): The ID of the stage screen
- `layoutId` (string, required): The ID of the layout to apply

### `stage_get_layouts` (~16 tokens)

Get all available stage layouts

### `stage_delete_layout` (~29 tokens)

Delete a specific stage layout

Input parameters:

- `id` (string, required): The ID of the layout to delete

### `stage_get_layout_thumbnail` (~30 tokens)

Get thumbnail for a specific stage layout

Input parameters:

- `id` (string, required): The ID of the layout

### `themes_get_all` (~16 tokens)

Get all themes in the library

### `themes_get` (~27 tokens)

Get details of a specific theme

Input parameters:

- `id` (string, required): The ID of the theme

### `themes_get_slide` (~43 tokens)

Get a specific slide from a theme

Input parameters:

- `id` (string, required): The ID of the theme
- `themeSlide` (string, required): The slide identifier within the theme

### `themes_set_slide` (~56 tokens)

Update a specific slide in a theme

Input parameters:

- `id` (string, required): The ID of the theme
- `slideData` (object, required): The slide data to set
- `themeSlide` (string, required): The slide identifier within the theme

### `themes_get_slide_thumbnail` (~44 tokens)

Get thumbnail for a specific theme slide

Input parameters:

- `id` (string, required): The ID of the theme
- `themeSlide` (string, required): The slide identifier within the theme

### `transport_play` (~31 tokens)

Play the specified layer (presentation, announcement, or audio)

Input parameters:

- `layer` (string, required): The layer to play

### `transport_pause` (~31 tokens)

Pause the specified layer (presentation, announcement, or audio)

Input parameters:

- `layer` (string, required): The layer to pause

### `transport_skip_backward` (~46 tokens)

Skip backward in the specified layer by a given time

Input parameters:

- `layer` (string, required): The layer to skip backward in
- `time` (number, required): Time in seconds to skip backward

### `transport_skip_forward` (~46 tokens)

Skip forward in the specified layer by a given time

Input parameters:

- `layer` (string, required): The layer to skip forward in
- `time` (number, required): Time in seconds to skip forward

### `transport_go_to_end` (~44 tokens)

Go to the end of content in the specified layer

Input parameters:

- `layer` (string, required): The layer to go to end
- `time` (number): Optional time parameter

### `transport_get_time` (~32 tokens)

Get the current playback time of the specified layer

Input parameters:

- `layer` (string, required): The layer to get time from

### `transport_set_time` (~43 tokens)

Set the playback time of the specified layer

Input parameters:

- `layer` (string, required): The layer to set time for
- `time` (number, required): Time in seconds to set

### `transport_get_auto_advance` (~38 tokens)

Get auto-advance status for presentation or announcement layer

Input parameters:

- `layer` (string, required): The layer to get auto-advance status from

### `transport_cancel_auto_advance` (~36 tokens)

Cancel auto-advance for presentation or announcement layer

Input parameters:

- `layer` (string, required): The layer to cancel auto-advance for

### `transport_get_current` (~32 tokens)

Get the current content on the specified layer

Input parameters:

- `layer` (string, required): The layer to get current content from

### `global_groups_get_all` (~19 tokens)

Get all global groups configured in ProPresenter

### `masks_get_all` (~16 tokens)

Get all masks in the library

### `masks_get` (~27 tokens)

Get details of a specific mask

Input parameters:

- `id` (string, required): The ID of the mask

### `masks_get_thumbnail` (~28 tokens)

Get thumbnail for a specific mask

Input parameters:

- `id` (string, required): The ID of the mask

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/alxpark-propresenter-mcp/alxpark-propresenter-mcp#diagnostics

## Score history

- 2026-08-04: 69
- 2026-08-03: 68
- 2026-08-02: 67
- 2026-08-01: 20
- 2026-07-31: 34
- 2026-07-30: 48
- 2026-07-29: 78
- 2026-07-28: 26
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/@alxpark/propresenter-mcp
- Socket report: https://socket.dev/npm/package/@alxpark/propresenter-mcp
- Repository: https://github.com/alxpark/propresenter-mcp
- Changelog RSS feed: https://verifymcp.io/servers/alxpark-propresenter-mcp/alxpark-propresenter-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/alxpark-propresenter-mcp/alxpark-propresenter-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/alxpark-propresenter-mcp/alxpark-propresenter-mcp
