# messages_update

Update an existing message

Agent View of the PolicyLayer registry record for `messages_update`. HTML page: https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/messages-update

## Facts

- Tool: `messages_update`
- Server: Propresenter (`@alxpark/propresenter-mcp`) — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp.md
- Install: `npx -y @alxpark/propresenter-mcp`
- Homepage: https://github.com/alxpark/propresenter-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "messages_update",
    "arguments": {}
  }
}
```

## Why messages_update is rated Medium

This tool creates or modifies data (a message) in a reversible way, fitting the Write category definition. The severity is medium because updating messages in a presentation control system could affect displayed content to an audience, but the action is not destructive (reversible) or financial. Confidence is high based on clear evidence from the name and description.

From the tool's own definition: "Tool name 'messages_update' and description 'Update an existing message' indicate modification of existing data in a reversible manner."

## Use case

AI agents use messages_update to create or update resources in Propresenter, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Propresenter environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Propresenter:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "messages_update": {
      "limits": [
        {
          "counter": "messages_update_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Propresenter (176)

- `clear_layer` — Destructive — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/clear-layer.md
- `messages_delete` — Destructive — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/messages-delete.md
- `props_clear` — Destructive — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/props-clear.md
- `props_delete` — Destructive — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/props-delete.md
- `props_delete_collection` — Destructive — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/props-delete-collection.md
- `stage_delete_layout` — Destructive — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/stage-delete-layout.md
- `announcement_focus_active` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/announcement-focus-active.md
- `announcement_timeline_operation` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/announcement-timeline-operation.md
- `announcement_trigger_active` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/announcement-trigger-active.md
- `announcement_trigger_cue` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/announcement-trigger-cue.md
- `announcement_trigger_next` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/announcement-trigger-next.md
- `announcement_trigger_previous` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/announcement-trigger-previous.md
- `audio_focus_active_playlist` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/audio-focus-active-playlist.md
- `audio_focus_next_playlist` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/audio-focus-next-playlist.md
- `audio_focus_playlist` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/audio-focus-playlist.md
- `audio_focus_previous_playlist` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/audio-focus-previous-playlist.md
- `audio_trigger_active_next` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/audio-trigger-active-next.md
- `audio_trigger_active_playlist` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/audio-trigger-active-playlist.md
- `audio_trigger_active_previous` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/audio-trigger-active-previous.md
- `audio_trigger_focused_next` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/audio-trigger-focused-next.md
- `audio_trigger_focused_playlist` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/audio-trigger-focused-playlist.md
- `audio_trigger_focused_previous` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/audio-trigger-focused-previous.md
- `audio_trigger_playlist` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/audio-trigger-playlist.md
- `audio_trigger_playlist_item` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/audio-trigger-playlist-item.md
- `capture_operation` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/capture-operation.md
- `clear_trigger_group` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/clear-trigger-group.md
- `find_my_mouse` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/find-my-mouse.md
- `focus_active_presentation` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/focus-active-presentation.md
- `focus_next_presentation` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/focus-next-presentation.md
- `focus_presentation` — Execute — https://policylayer.com/tools/io-github-alxpark-propresenter-mcp/focus-presentation.md
- …and 146 more: https://policylayer.com/tools/io-github-alxpark-propresenter-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-alxpark-propresenter-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-alxpark-propresenter-mcp
