Discord

97 tools. 65 can modify or destroy data without limits.

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

Last updated:

65 can modify or destroy data
32 read-only
97 tools total

Community server · catalogue entry verified 28/06/2026

How to control Discord ↓

What Discord exposes to your agents

Read (32) Write / Execute (49) Destructive / Financial (16)
Critical Risk

The most dangerous Discord tools

65 of Discord's 97 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Discord

PolicyLayer is an MCP gateway — it sits between your AI agents and Discord, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "discord_ban_member": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

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

Rate limit write operations
{
  "discord_add_reaction": {
    "limits": [
      {
        "counter": "discord_add_reaction_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "discord_audit_permissions": {
    "limits": [
      {
        "counter": "discord_audit_permissions_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

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

  1. Create a free account and register Discord — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON DISCORD →

Instant setup, no code required.

All 97 Discord tools

DESTRUCTIVE 16 tools
Destructive discord_ban_member Ban a user from the server, blocking re-entry until unbanned. Optionally bulk-deletes their recent messages. R Destructive discord_bulk_ban Ban many users in a single call, intended for raid mitigation. SAFE BY DEFAULT: dry_run is true unless explici Destructive discord_bulk_delete_messages Permanently delete multiple recent messages in one call. IRREVERSIBLE. SAFE BY DEFAULT: dry_run is true unless Destructive discord_delete_channel Permanently delete a channel and all of its messages. IRREVERSIBLE. SAFE BY DEFAULT: dry_run is true unless ex Destructive discord_delete_dm Permanently delete a DM message previously sent by this bot. IRREVERSIBLE. The bot can only delete its own DM Destructive discord_delete_forum_post Permanently delete a forum post (thread) and all its messages. IRREVERSIBLE. To merely close it without deleti Destructive discord_delete_invite Revoke an invite by its code so it can no longer be used. IRREVERSIBLE (the code is freed). Requires the Manag Destructive discord_delete_message Permanently delete one specific message. IRREVERSIBLE. The bot can always delete its own messages; deleting an Destructive discord_delete_role Permanently delete a role from the server; it is automatically removed from every member who held it. IRREVERS Destructive discord_delete_scheduled_event Permanently delete a scheduled event. IRREVERSIBLE. To cancel an event while keeping a record, use discord_edi Destructive discord_delete_webhook Permanently delete a webhook by its ID, invalidating its token. IRREVERSIBLE — any integrations using the old Destructive discord_delete_webhook_message Permanently delete a message that was sent through a webhook, using the webhook Destructive discord_kick_member Remove a member from the server. They can rejoin with a new invite (unlike a ban). Requires the Kick Members p Destructive discord_prune_members Remove members who have been inactive (no roles, not seen) for a number of days. SAFE BY DEFAULT: dry_run is t Destructive discord_remove_reactions Remove reactions from a message. With no emoji: removes ALL reactions. With emoji only: removes every reaction Destructive discord_reset_channel_permissions Remove ALL permission overwrites on a channel, so only role/server-level permissions apply. Does NOT re-sync w
WRITE 48 tools
Write discord_add_reaction Add a single emoji reaction to a message as the bot. Requires the Add Reactions and Read Message History permi Write discord_add_role Assign an existing role to a member. Requires the Manage Roles permission, and the role must be below the bot Write discord_clone_channel Create a copy of a channel, including its name, topic, and permission overwrites (but not its messages). Requi Write discord_copy_permissions Replace the target channel Write discord_create_channel Create a text channel, voice channel, or category in a server. Requires the Manage Channels permission. For fo Write discord_create_event_invite Create a shareable invite URL that points to a scheduled event, so recipients land on the event when joining. Write discord_create_forum_channel Create a new forum channel in a server. A forum holds posts (threads) rather than a linear message feed. Requi Write discord_create_forum_post Create a new post (a thread with a starter message) in a forum channel. Requires the Send Messages and Create Write discord_create_invite Create an invite link for a channel, optionally limiting its lifetime, uses, and membership type. SECURITY: an Write discord_create_role Create a new role in a server. Requires the Manage Roles permission; the new role is placed below the bot Write discord_create_scheduled_event Create a scheduled event. For Write discord_create_thread Create a thread, either branching from an existing message (pass message_id) or as a standalone thread in a te Write discord_create_webhook Create a webhook on a channel and return its ID and token. SECURITY: the returned token grants anyone the abil Write discord_crosspost_message Publish (crosspost) a message from an Announcement channel to every server that follows it. Only works in anno Write discord_edit_channel Update a channel Write discord_edit_dm Edit the text content of a DM message previously sent by this bot. Only the bot Write discord_edit_dm_embed Replace the embed on a DM message previously sent by this bot. Only the bot Write discord_edit_embed Replace the embed on a message previously sent by this bot. Only this bot Write discord_edit_message Edit the text content of a message previously sent by this bot. Discord forbids editing other users Write discord_edit_role Update an existing role Write discord_edit_scheduled_event Update a scheduled event; only provided fields change. Use the status field to start ( Write discord_edit_webhook Update a webhook Write discord_edit_webhook_message Edit a message previously sent through a webhook, using the webhook Write discord_follow_announcement_channel Subscribe a target channel to an announcement (news) channel, so the source Write discord_forward_message Forward an existing message to another channel using Discord Write discord_lock_channel_permissions Reset a channel Write discord_move_channel Move a channel into a category, or remove it from its category when category_id is omitted. Requires the Manag Write discord_pin_message Pin or unpin a message in a channel, controlled by the pin flag. Requires the Pin Messages permission (a dedic Write discord_remove_role Remove a role from a member. Requires the Manage Roles permission, and the role must be below the bot Write discord_reply_dm Reply to a specific message in a DM, attaching a quoted reply reference. Unlike the edit/delete DM tools, this Write discord_reply_message Reply to a specific message, attaching a reply reference so clients show it as a threaded reply. Use discord_s Write discord_reply_to_forum Post a follow-up message inside an existing forum post (thread). Requires the Send Messages in Threads permiss Write discord_send_dm Send a private direct message to a user by their user ID. Use discord_send_message to post in a server channel Write discord_send_dm_embed Send a rich embed as a private direct message to a user. Use discord_send_dm for plain text, or discord_send_e Write discord_send_embed Send a single rich embed (title, description, color, fields, author, footer, images, timestamp). Use discord_s Write discord_send_message Send a plain-text message to a channel or thread. For rich content (title, color, fields, images) use discord_ Write discord_send_multiple_embeds Send up to 10 embeds in a single message, with optional text above them. Use discord_send_embed for a single e Write discord_send_webhook_message Send a message through a webhook using its ID and token (no bot permissions needed — the token authorizes the Write discord_set_channel_position Set a channel Write discord_set_forum_tags Replace the full set of available tags on a forum channel with the provided list. This overwrites existing tag Write discord_set_member_permission Add or update a per-channel permission overwrite for a single member, allowing and/or denying specific permiss Write discord_set_nickname Set or clear a member Write discord_set_role_icon Set or clear a role Write discord_set_role_permission Add or update a per-channel permission overwrite for a role, allowing and/or denying specific permissions. Mer Write discord_set_role_position Move a role up or down in the server Write discord_unban_member Lift a ban so the user may rejoin via a new invite. Requires the Ban Members permission. Reverses discord_ban_ Write discord_update_forum_post Update a forum post Write discord_update_membership_screening Update the server
READ 32 tools
Read discord_audit_permissions Generate a server-wide permission report: for every channel that has overwrites, lists each role/member and th Read discord_fetch_pinned_messages List all pinned messages in a channel. Returns { messages: [...] } with id, author, content, timestamp, pinned Read discord_fetch_webhook_message Fetch a single message sent through a webhook (id, content, embed count, timestamp), using the webhook Read discord_find_channel_by_name Find channels whose name contains a substring (case-insensitive). Returns matching channels (id, name, type) a Read discord_get_audit_log Fetch the server Read discord_get_channel_permissions List every permission overwrite on a channel, per role and per member, with the allowed and denied permission Read discord_get_event_subscribers List the users who marked themselves Read discord_get_forum_channels List the forum channels in a server (id, name, topic, parent category). Read-only. Use discord_get_forum_tags Read discord_get_forum_post Get a forum post Read discord_get_forum_tags List the tags available on a forum channel (id, name, emoji, moderated flag). Read-only. Use these IDs with di Read discord_get_guild_info Get details about one server: name, description, member/channel/role counts, boost tier, owner, and creation d Read discord_get_invite Look up a single invite by its code: target server and channel, inviter, and expiry. Works for any public invi Read discord_get_member_info Get full details for one server member: roles, effective permissions, account/join dates, bot flag, and curren Read discord_get_membership_screening Fetch the server Read discord_get_reactions List the users who reacted to a message with a specific emoji. Returns { reactions: [...] } with id, username, Read discord_get_role_members List members who currently hold a specific role, scanning up to 20,000 members. Returns { members: [...], trun Read discord_get_scheduled_event Get full details for one scheduled event: name, description, status, type, channel/location, start/end times, Read discord_get_server_stats Get a snapshot of server metrics: total members (humans vs cached bots), channel breakdown (text/voice/categor Read discord_list_bans List the users banned from the server, with their ban reasons. Returns { bans: [...], nextCursor }. A page hol Read discord_list_channel_invites List the active invites that point to one specific channel. Unlike discord_list_invites (server-wide), this sc Read discord_list_channels List all channels in a server, grouped by their parent category and ordered by position. Returns a JSON object Read discord_list_forum_threads List posts in a forum channel. Returns { threads: [...], hasMore, nextBefore }. The first call (no Read discord_list_guilds List every Discord server (guild) the bot is a member of (id, name, member count, icon). Takes no arguments. R Read discord_list_invites List all active invites across a server (code, url, channel, inviter, uses, expiry). Requires the Manage Serve Read discord_list_members List members of a server with their roles, ordered by user ID. Returns { members: [...], nextCursor }. A page Read discord_list_roles List all roles in a server (excluding @everyone), highest-first, with color, position, member count, and permi Read discord_list_scheduled_events List all scheduled events in a server (id, name, status, type, time, location, interested count). Read-only. U Read discord_list_webhooks List the webhooks in a single channel or across a whole server (id, name, channel, token when visible, creator Read discord_read_dms Read the most recent messages from the bot Read discord_read_messages Read the most recent messages from a text channel or thread, oldest-to-newest. Returns { messages: [...] } wit Read discord_search_members Find server members whose username or nickname starts with a query string (prefix match). Returns { members: [ Read discord_search_messages Keyword search over a channel

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Discord

Can an AI agent delete data through the Discord MCP server? +

Yes. The Discord server exposes 16 destructive tools including discord_ban_member, discord_bulk_ban, discord_bulk_delete_messages. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Discord? +

The Discord server has 48 write tools including discord_add_reaction, discord_add_role, discord_clone_channel. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Discord.

How many tools does the Discord MCP server expose? +

97 tools across 3 categories: Destructive, Read, Write. 32 are read-only. 65 can modify, create, or delete data.

How do I enforce a policy on Discord? +

Register the Discord MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Discord tool call.

Deterministic rules across all 97 Discord tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

97 Discord tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

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

Message sent.

We'll get back to you soon.