# discord_bulk_delete_messages

Bulk delete 2-100 messages (must be <14 days old).

Agent View of the PolicyLayer registry record for `discord_bulk_delete_messages`. HTML page: https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-bulk-delete-messages

## Facts

- Tool: `discord_bulk_delete_messages`
- Server: Discord MCP Server (`bennettschwartz/discord-mcp`) — https://policylayer.com/tools/bennettschwartz-discord-mcp.md
- Homepage: https://github.com/BennettSchwartz/discord-mcp
- Risk category: Destructive (Critical risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Hidden

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

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

## Why discord_bulk_delete_messages is rated Critical

This tool permanently removes messages from Discord channels. Deletion is irreversible and represents a destructive action that destroys data. While the age restriction (<14 days) and batch size limit (2-100) provide some guardrails, the core function is destructive.

From the tool's own definition: "Tool name contains 'bulk_delete' and description states 'Bulk delete 2-100 messages'; deletion is irreversible and cannot be undone."

## Use case

AI agents call discord_bulk_delete_messages to permanently remove resources in Discord MCP Server, typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.

## Recommended policy (PolicyLayer)

Verdict: **Hidden**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Discord MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "hide": [
    "discord_bulk_delete_messages"
  ]
}
```

## Other tools on Discord MCP Server (57)

- `discord_ban_user` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-ban-user.md
- `discord_clear_all_reactions` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-clear-all-reactions.md
- `discord_delete_channel` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-channel.md
- `discord_delete_command` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-command.md
- `discord_delete_emoji` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-emoji.md
- `discord_delete_guild_sticker` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-guild-sticker.md
- `discord_delete_invite` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-invite.md
- `discord_delete_reaction` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-reaction.md
- `discord_delete_role` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-role.md
- `discord_delete_scheduled_event` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-scheduled-event.md
- `discord_kick_member` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-kick-member.md
- `discord_remove_user_reaction` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-remove-user-reaction.md
- `discord_webhook_delete` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-webhook-delete.md
- `discord_trigger_typing` — Execute — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-trigger-typing.md
- `discord_fetch_messages` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-fetch-messages.md
- `discord_gateway_get_events` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-gateway-get-events.md
- `discord_gateway_info` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-gateway-info.md
- `discord_get_member` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-get-member.md
- `discord_get_user` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-get-user.md
- `discord_help` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-help.md
- `discord_list_bans` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-bans.md
- `discord_list_channels` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-channels.md
- `discord_list_commands` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-commands.md
- `discord_list_emojis` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-emojis.md
- `discord_list_guild_stickers` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-guild-stickers.md
- `discord_list_joined_private_archived_threads` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-joined-private-archived-threads.md
- `discord_list_pins` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-pins.md
- `discord_list_private_archived_threads` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-private-archived-threads.md
- `discord_list_public_archived_threads` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-public-archived-threads.md
- `discord_list_roles` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-roles.md
- …and 27 more: https://policylayer.com/tools/bennettschwartz-discord-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=bennettschwartz-discord-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/bennettschwartz-discord-mcp
