Propresenter

177 tools. 74 can modify or destroy data without limits.

14 destructive tools with no built-in limits. Policy required.

Last updated:

74 can modify or destroy data
103 read-only
177 tools total
Read (103) Write / Execute (60) Destructive / Financial (14)

Destructive tools (clear_get_group, clear_get_groups, clear_layer) permanently delete resources. There is no undo. An agent calling these in a retry loop causes irreversible damage.

Write operations (messages_create, messages_update, playlists_create) modify state. Without rate limits, an agent can make hundreds of changes in seconds — faster than any human can review or revert.

Execute tools (announcement_trigger_active, announcement_trigger_cue, announcement_trigger_next) trigger processes with side effects. Builds, notifications, workflows — all fired without throttling.

Deny destructive operations
clear_get_group:
  rules:
    - action: deny

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
messages_create:
  rules:
    - rate_limit: 30/hour

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
announcement_focus_active:
  rules:
    - rate_limit: 60/minute

Controls API costs and prevents retry loops from exhausting upstream rate limits.

EXECUTE 47 tools
Execute announcement_trigger_active Execute announcement_trigger_cue Execute announcement_trigger_next Execute announcement_trigger_previous Execute audio_trigger_active_next Execute audio_trigger_active_playlist Execute audio_trigger_active_previous Execute audio_trigger_focused_next Execute audio_trigger_focused_playlist Execute audio_trigger_focused_previous Execute audio_trigger_playlist Execute audio_trigger_playlist_item Execute capture_operation Execute library_trigger_presentation Execute library_trigger_presentation_cue Execute looks_trigger Execute macros_trigger Execute messages_trigger Execute playlists_trigger Execute playlists_trigger_active_announcement Execute playlists_trigger_active_announcement_item Execute playlists_trigger_active_presentation Execute playlists_trigger_active_presentation_item Execute playlists_trigger_focused Execute playlists_trigger_focused_item Execute playlists_trigger_focused_next Execute playlists_trigger_focused_previous Execute playlists_trigger_item Execute playlists_trigger_next Execute playlists_trigger_previous Execute props_trigger Execute timers_start Execute timers_stop Execute trigger_active_group Execute trigger_active_presentation Execute trigger_focused_cue Execute trigger_focused_group Execute trigger_focused_next Execute trigger_focused_presentation Execute trigger_focused_previous Execute trigger_next_slide Execute trigger_presentation Execute trigger_presentation_cue Execute trigger_presentation_group Execute trigger_presentation_next Execute trigger_presentation_previous Execute trigger_previous_slide
READ 103 tools
Read announcement_focus_active Read announcement_get_active Read announcement_get_slide_index Read announcement_get_timeline_status Read announcement_timeline_operation Read audio_focus_active_playlist Read audio_focus_next_playlist Read audio_focus_playlist Read audio_focus_previous_playlist Read audio_get_active_playlist Read audio_get_focused_playlist Read audio_get_playlist Read audio_get_playlist_updates Read audio_get_playlists Read capture_get_encodings Read capture_get_settings Read capture_get_status Read find_my_mouse Read focus_active_presentation Read focus_next_presentation Read focus_presentation Read focus_previous_presentation Read focused_timeline_operation Read get_active_presentation Read get_active_slide_index Read get_chord_chart Read get_chord_chart_updates Read get_focused_presentation Read get_focused_timeline_status Read get_presentation Read get_presentation_thumbnail Read get_propresenter_version Read get_timeline_status Read global_groups_get_all Read library_get Read library_get_libraries Read looks_get Read looks_get_all Read looks_get_current Read macros_get Read macros_get_all Read masks_get Read masks_get_all Read masks_get_thumbnail Read messages_get Read messages_get_all Read playlists_focus Read playlists_focus_active_announcement Read playlists_focus_active_presentation Read playlists_focus_next Read playlists_focus_previous Read playlists_get Read playlists_get_active Read playlists_get_active_announcement_thumbnail Read playlists_get_active_presentation_thumbnail Read playlists_get_all Read playlists_get_focused Read playlists_get_focused_next Read playlists_get_focused_previous Read playlists_get_thumbnail Read playlists_get_updates Read presentation_timeline_operation Read props_get Read props_get_all Read props_get_collection Read props_get_collections Read props_get_thumbnail Read stage_get_layout_map Read stage_get_layout_thumbnail Read stage_get_layouts Read stage_get_message Read stage_get_screen_layout Read stage_get_screens Read stage_hide_message Read stage_show_message Read status_get_audience Read status_get_layers Read status_get_screens Read status_get_slide Read status_get_stage Read status_post_updates Read status_set_audience Read status_set_stage Read themes_get Read themes_get_all Read themes_get_slide Read themes_get_slide_thumbnail Read timeline_operation Read timers_get Read timers_get_all Read timers_get_current Read timers_get_system_time Read timers_get_video_countdown Read timers_increment Read timers_operate_all Read transport_get_auto_advance Read transport_get_current Read transport_get_time Read transport_go_to_end Read transport_pause Read transport_play Read transport_skip_backward Read transport_skip_forward
Can an AI agent delete data through the Propresenter MCP server? +

Yes. The Propresenter server exposes 14 destructive tools including clear_get_group, clear_get_groups, clear_layer. These permanently remove resources with no undo. Intercept blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Propresenter? +

The Propresenter server has 13 write tools including messages_create, messages_update, playlists_create. Set rate limits in your policy file -- for example, rate_limit: 10/hour prevents an agent from making more than 10 modifications per hour. Intercept enforces this at the transport layer.

How many tools does the Propresenter MCP server expose? +

177 tools across 4 categories: Destructive, Execute, Read, Write. 103 are read-only. 74 can modify, create, or delete data.

How do I add Intercept to my Propresenter setup? +

One line change. Instead of running the Propresenter server directly, prefix it with Intercept: intercept -c io-github-alxpark-propresenter-mcp.yaml -- npx -y @@alxpark/propresenter-mcp. Download a pre-built policy from policylayer.com/policies/io-github-alxpark-propresenter-mcp and adjust the limits to match your use case.

Other MCP servers with similar tools.

Starter policies available for each. Same risk classification, same one-command setup.

Let agents act without letting them run wild.

Deterministic policy on every MCP tool call. Per-identity grants. Full audit log.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.