communicationoauth2

Discord Bot

Discordbot refers to automated programs on Discord servers, performing tasks like moderation, music playback, and user engagement to enhance community interactions

Verdict

Discord Bot MCP lets your team manage Discord servers, channels, and members directly from Switchy. @Mention it to moderate conversations (bulk delete messages, ban users, assign roles), coordinate threads (add members, archive discussions), or automate community tasks (create invites, post announcements, react to messages). Most valuable for community managers, support teams, or anyone running a Discord as part of their workflow. Requires OAuth with scopes matching your intended actions — 'Manage Roles', 'Ban Members', 'Manage Messages' — and the bot must already exist in your server with appropriate permissions before you connect.

Common use cases

  • Bulk moderate spam messages during raids
  • Assign roles to new members from chat
  • Create invite links for partner servers
  • Archive completed project threads automatically
  • React to milestone messages with emojis

Integration

Vendor
Discord Bot
Category
communication
Auth
OAUTH2
Tools
50
Composio slug
discordbot

Tools

  • Add or update thread member

    Adds a user to a specific, unarchived thread; the user must have access to the thread's parent channel, and for private threads, the bot must already be a member.

  • Add reaction to message

    Adds an emoji reaction from the authenticated user/bot to a specific message in a discord channel; does not return information about existing reactions.

  • Add recipient to group channel

    Adds a user to a discord group direct message (dm) channel.

  • Assign role to guild member

    Assigns a role to a guild member, provided the bot has 'manage roles' permission in the guild and the role to be assigned is hierarchically lower than the bot's highest role.

  • Bulk ban users in guild with message deletion option

    Bans up to 200 users from a discord guild, optionally deleting their recent messages; the bot must have 'ban members' permission in the guild, and this action is irreversible.

  • Bulk delete messages in channel
    destructive

    Atomically bulk deletes messages in a discord channel for moderation or maintenance; deletion may not be instantaneous and messages are unrecoverable.

  • Create application command objects

    Creates a new global discord application command, accessible across guilds and in dms (if `dm permission` is true), noting global commands can take up to an hour to propagate and have registration limits; for guild-specific commands, use a

  • Create channel invite

    Creates a new invite for the specified discord channel, provided the bot has 'create instant invite' permission for that channel.

  • Create channel webhook

    Creates a webhook in a specified discord channel for external applications to post messages, provided the caller has 'manage webhooks' permission in that channel.

  • Create guild application command

    Creates a new guild-specific application command (slash, user, or message) in discord; command name must be unique per type within the guild (max 100 total commands), and client ui updates may take up to an hour.

  • Create guild auto moderation rule

    Creates a new auto moderation rule for a discord guild, requiring 'manage guild' permission; rule parameters are passed in the json request body (see request schema description for body content).

  • Create guild channel

    Creates a new discord channel (text, voice, category, etc.) within a guild, with options for permissions, topic, and type-specific settings.

  • Create guild emoji

    Creates a new custom emoji in a specified discord guild, requiring `create expressions` permission and adherence to guild emoji limits.

  • Create guild scheduled event

    Creates a new scheduled event in a discord guild; a separate json request body (not defined in this action's request schema model) with event details (e.g., name, type, schedule) is required, and its specific fields depend on the event's `e

  • Create guild sticker

    Uploads a png, apng, or lottie json file (max 512kb) as a new custom sticker to the specified discord guild; requires 'manage expressions' permissions and sufficient server boost level for sticker slots.

  • Create guild template

    Creates a template of an existing discord guild's structure (settings, roles, channels) but not its content (e.g., messages, members).

  • Create new guild object

    Creates a new discord guild (server) with the specified name, roles, and channels; icon must be a base64 encoded 128x128 image, and if `afk channel id` is set, `afk timeout` must also be set.

  • Create new thread in channel

    Creates a new thread in a text or announcement discord channel; requires a 'name' and optionally other details (e.g., 'auto archive duration', an initial 'message') in the request body.

  • Create role with guild id

    Creates a new role in a discord guild with customizable name, permissions, color, hoist, mentionability, and icon; `icon` (custom image hash) and `unicode emoji` (standard emoji) are mutually exclusive.

  • Create stage instance

    Creates a new stage instance in a specified stage channel for live audio events; requires `manage channels`, `mute members`, and `move members` permissions in the channel.

  • Create thread in message channel

    Creates a new thread from a specific message in a discord channel, requiring `create public threads` permission (and `send messages` if in a forum/media channel).

  • Crosspost channel message

    Crossposts a message from an announcement channel to all following channels, provided the message has not been previously crossposted and is not a system message or a message sent by a webhook.

  • Delete application command
    destructive

    Permanently deletes a specific application command; this action is irreversible.

  • Delete channel by id
    destructive

    Permanently deletes a discord channel by its id; this action is irreversible and the channel must exist and be deletable.

  • Delete channel message
    destructive

    Permanently and irreversibly deletes a message from a specified discord channel.

  • Delete channel message reaction by emoji
    destructive

    Removes all reactions for a specific emoji from a message in a discord channel; requires 'manage messages' permission and this operation is irreversible.

  • Delete channel permission override
    destructive

    Deletes a specific user's or role's permission overwrite in a discord channel, reverting their permissions to default; this action is irreversible.

  • Delete channel recipient
    destructive

    Permanently removes a user from an accessible discord group dm channel, revoking their access.

  • Delete channel thread member
    destructive

    Removes a user from a specified, unarchived thread in a discord channel.

  • Delete guild auto moderation rule
    destructive

    Deletes a specific auto-moderation rule from a discord guild.

  • Delete guild by id
    destructive

    Permanently deletes a specified discord guild (server); the authenticated user must be the owner of the guild.

  • Delete guild command
    destructive

    Permanently deletes a specific application command (e.g., slash, user, or message) for an application from a discord guild, used to remove outdated or unnecessary commands.

  • Delete guild emoji by id
    destructive

    Permanently deletes a specified custom emoji from a guild, requiring 'manage expressions' permissions; cannot delete default emojis and is irreversible.

  • Delete guild integration
    destructive

    Permanently deletes a specific, unwanted or problematic integration from a discord guild; requires 'manage server' or 'administrator' permissions.

  • Delete guild member by id
    destructive

    Removes (kicks) a member from a discord guild; the user must be an existing member of the specified guild, and this action is permanent.

  • Delete guild member role
    destructive

    Removes a specified role from a member of a discord guild, provided the member currently possesses that role.

  • Delete guild scheduled event
    destructive

    Permanently deletes a specific scheduled event from a discord guild; this action is irreversible.

  • Delete guild sticker
    destructive

    Permanently deletes a custom sticker from a discord guild; the specified guild and sticker must exist, and this action is irreversible.

  • Delete guild template by code
    destructive

    Deletes an existing guild template by its unique code from a specified guild, returning the deleted template's details.

  • Delete original webhook message
    destructive

    Permanently deletes an existing original message posted by a webhook (using its id and token), optionally within a specific thread.

  • Delete reaction from message
    destructive

    Deletes all reactions (not just the bot's) from a message in a channel; requires 'manage messages' permission.

  • Delete role from guild
    destructive

    Permanently deletes a specified role from a discord guild, revoking it from all members; requires 'manage roles' permission and the target role must be lower in hierarchy than the bot's highest role.

  • Delete stage instance by channel id
    destructive

    Deletes the stage instance for the given `channel id`, permanently ending its live audio event.

  • Delete user reaction on message
    destructive

    Removes the authenticated user's own emoji reaction, which they must have previously added, from a specific message in a discord channel; this action is irreversible and cannot remove others' reactions.

  • Initiate user channel with recipient

    Creates a new direct message (dm) channel or retrieves an existing one, using `recipient id` for a 1-on-1 dm or `access tokens` for a group dm; this action only establishes or fetches the channel and does not send messages.

  • Modify guild ban settings

    Permanently bans a user from a discord guild, optionally deleting their recent messages (specify deletion period in seconds or days, not both).

  • Post guild template by code

    Creates a new discord guild by applying channels, roles, and settings from a specified, valid, and accessible guild template code.

  • Post interaction callback

    Sends a response to a discord interaction (e.g., slash command, component); ensure response type is context-appropriate and initial reply is within 3 seconds.

  • Post message to channel

    Sends a message to a specified discord channel (text, embeds, stickers, components, attachments); requires `send messages` permission and one of `content`, `embeds`, `sticker ids`, or `attachments`.

  • Update guild member information

    Adds a user (who is not already a member) to a guild using their `access token` (which must have `guilds.join` scope), optionally setting nickname, roles, mute/deaf status, or flags.

Setup

Setup guide

  1. 11. In Switchy, open Settings → Integrations → Add Integration and select Discord Bot. 2. Click 'Connect' to start OAuth; Discord will prompt you to select a server and authorize scopes like 'Manage Messages', 'Manage Roles', 'Ban Members', and 'Create Instant Invite' — grant only what your team needs. 3. Confirm the bot appears in your server's member list with a 'Bot' tag and the correct role hierarchy (it can only manage roles below its own). 4. Return to Switchy and test the connection: open any Space, type '@Discord Bot list channels in [your server name]' and send. 5. If you see channel names, the integration is live; if you get a permissions error, revisit your server's role settings and ensure the bot role sits above any roles it needs to assign or manage.

What teammates see: by default, memories from Discord Bot are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Spaces have used this MCP together with a given model.

How Switchy teams use it

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

Starter prompts

Clean Up Spam

@Discord Bot delete the last 50 messages in #general on the Acme Community server. Confirm the count before proceeding.
Open in a Space →

Onboard New Member

@Discord Bot assign the 'Verified' role to user @alex#1234 in the Acme Community server.
Open in a Space →

Archive Project Thread

@Discord Bot archive the thread 'Q1 Launch Planning' in #projects on Acme Community and remove all members except moderators.
Open in a Space →

React to Milestone

@Discord Bot add a 🎉 reaction to the message with ID 123456789 in #announcements on Acme Community.
Open in a Space →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@Discord Bot show me all messages in #general from the last 24 hours that mention 'bug' or 'error'

Output

Found 12 messages matching your search in #general: • @alice (2h ago): "Seeing a weird error when I try to upload files" • @bob (4h ago): "Bug report: the login button isn't responding on mobile" • @charlie (6h ago): "Is anyone else getting this error code?" [9 more messages listed with timestamps and authors] All messages are from the past 24 hours. This is an illustrative example—actual results depend on your server's message history and the bot's channel access.

Notes

This example demonstrates read-heavy message retrieval and search. The bot needs 'Read Message History' permission in the target channel. Discord's API rate limits may slow bulk message fetching in high-traffic channels, and the bot can only access channels it's been added to.

Prompt

@Discord Bot create a new thread called 'Sprint Planning Q2' in #product-team and add @sarah, @mike, and @jen to it

Output

Created thread 'Sprint Planning Q2' in #product-team. Added members: ✓ @sarah ✓ @mike ✓ @jen The thread is now active and visible to all three members. They'll receive notifications about the new thread. This is an illustrative example—actual thread creation depends on the bot having 'Create Public Threads' or 'Create Private Threads' permission in #product-team.

Notes

This showcases the bot's ability to create structured conversations and manage membership. All added users must have access to the parent channel. For private threads, the bot must already be a member. This action is immediate but requires 'Manage Threads' permission.

Prompt

@Discord Bot read the last 50 messages in #support, identify the top 3 unresolved issues, and post a summary to #team-updates

Output

Analyzed 50 messages in #support. Here are the top 3 unresolved issues: 1. **Login timeout errors** (mentioned by 8 users) - Users report being logged out after 5 minutes of inactivity 2. **Mobile app crashes on Android 13** (5 reports) - App closes when accessing the settings menu 3. **Payment processing delays** (4 reports) - Transactions taking 24+ hours to complete Posted summary to #team-updates with links to original messages. This is an illustrative example—the AI synthesizes patterns from message content the bot retrieves.

Notes

This example pairs Discord's message-fetching tools with AI reasoning to surface trends. The bot needs 'Read Message History' in #support and 'Send Messages' in #team-updates. Rate limits apply when reading large message volumes. The summary quality depends on message clarity and the AI's pattern recognition.

Use-case deep-dives

Community moderation at 500+ members

When Discord Bot MCP handles high-volume moderation workflows

A 3-person community team managing a 2,000-member Discord server uses this MCP to automate moderation during product launches. The bulk ban and bulk delete tools let them script responses to spam waves without clicking through Discord's UI 200 times. OAuth2 auth means the bot acts with the team's permissions, so role assignments and channel invites stay auditable. The catch: if your moderation logic needs context from Slack or Linear, you're stitching two MCPs together, which adds latency. This MCP wins when Discord is your primary community surface and moderation volume justifies scripting. If you're moderating fewer than 50 actions per week, Discord's native UI is faster than writing the automation.

Event coordination with threaded Q&A

Using Discord threads for live webinar support

A 5-person customer success team runs monthly webinars and uses Discord threads for live Q&A. This MCP lets them programmatically add attendees to private threads, pin answers, and react to questions with status emojis—all from a Switchy workflow that pulls attendee lists from Airtable. The add-thread-member and add-reaction tools handle the repetitive setup; the team focuses on answering questions. The boundary: if your event has fewer than 20 attendees, manually creating threads is faster than OAuth setup. This MCP pays off when you're running 3+ events per month and thread management becomes a time sink. For one-off events, skip the integration.

Cross-platform customer support triage

When Discord Bot MCP isn't the right support hub

A 6-person support team fields tickets from email, Intercom, and a 400-member Discord server. They want one Switchy workspace to triage everything. The Discord Bot MCP can pull messages and post replies, but it doesn't sync ticket state back to Intercom or create Linear issues. You'd need a second MCP (like Linear or a webhook tool) to close the loop, and now you're managing OAuth for two platforms. The honest call: if Discord is less than 30% of your support volume, route Discord questions into your primary ticketing system and skip this MCP. It wins when Discord is your main support channel and you're automating moderation or role assignments, not when you're trying to unify three inboxes.

Frequently asked

What can the Discord Bot MCP do in Switchy?

It lets AI agents perform moderation and community management tasks in your Discord server — add reactions, bulk delete messages, assign roles, ban users, create invites, and manage threads. The MCP exposes 50 Discord Bot API endpoints, so agents can respond to community events without you writing custom bot code or switching to the Discord dashboard.

Do I need Discord admin permissions to connect this MCP?

You need a Discord bot token with OAuth2 scopes matching the actions you want Switchy to perform — typically 'Manage Roles', 'Ban Members', 'Manage Messages', and 'Create Instant Invite'. The bot must already be invited to your server with those permissions before you connect the MCP. Standard Discord members cannot generate bot tokens.

Can the Discord Bot MCP read message history or listen to events?

No. This MCP only exposes action tools — adding reactions, deleting messages, assigning roles. It cannot subscribe to Discord gateway events or fetch historical messages. If you need agents to respond to new messages in real time, you will need a separate Discord bot with gateway access running outside Switchy.

How is this different from using Discord's API directly?

The MCP wraps Discord's Bot API so AI agents can call it through natural language instructions instead of you writing HTTP requests and handling rate limits. You still need a Discord bot token and the same permissions, but agents can execute moderation workflows — like 'ban users who posted spam in the last hour' — without custom scripts.

Who on my team should connect the Discord Bot MCP?

Whoever manages your Discord server's bot applications and has access to the Developer Portal. That person generates the bot token, invites the bot to your server with the right permissions, then pastes the token into Switchy. Other team members can then instruct agents to use the MCP without touching Discord settings.

Data last verified 609 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.