# How to connect Discordbot to Claude Cowork

```json
{
  "title": "How to connect Discordbot to Claude Cowork",
  "toolkit": "Discordbot",
  "toolkit_slug": "discordbot",
  "framework": "Claude Cowork",
  "framework_slug": "claude-cowork",
  "url": "https://composio.dev/toolkits/discordbot/framework/claude-cowork",
  "markdown_url": "https://composio.dev/toolkits/discordbot/framework/claude-cowork.md",
  "updated_at": "2026-05-12T10:08:56.540Z"
}
```

## Introduction

Cowork is Anthropic's AI agent for knowledge work. Think of it as Claude Code for everything else. It works autonomously with your computer, local files, and applications to accomplish complex tasks.
This guide walks you through the easiest and most secure way to connect your Discordbot account to Cowork via Composio Connect, enabling it to add reaction emoji to welcome message, bulk delete spam messages in general channel, assign moderator role to user instantly, and more such actions on your behalf without compromising your account security.

## Also integrate Discordbot with

- [OpenAI Agents SDK](https://composio.dev/toolkits/discordbot/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/discordbot/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/discordbot/framework/claude-code)
- [Codex](https://composio.dev/toolkits/discordbot/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/discordbot/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/discordbot/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/discordbot/framework/cli)
- [Google ADK](https://composio.dev/toolkits/discordbot/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/discordbot/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/discordbot/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/discordbot/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/discordbot/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/discordbot/framework/crew-ai)

## Connect Discordbot to Claude Cowork

### Connecting Discordbot to Claude Cowork
1. Open Customize
In Claude Desktop, click Customize in the left sidebar, then select Connectors and click the + icon at the top.
2. Add the Composio MCP server
Click Add custom connector and paste in the Composio MCP server URL:

```bash
https://connect.composio.dev/mcp
```

## What is Claude Cowork?

Claude Cowork is Anthropic's agent for general knowledge work. It can use your computer, files, and connected applications to complete longer-running tasks across your work tools.
With Composio Connect, Cowork can securely access apps like Discordbot through MCP without you sharing account credentials directly with the agent.

## What is the Discordbot MCP server, and what's possible with it?

The Discordbot MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Discordbot account. It provides structured and secure access to your Discord servers, so your agent can perform actions like moderating users, managing roles, handling group messages, triggering auto-moderation, and automating channel maintenance on your behalf.
- User moderation and banning: Instruct your agent to ban or bulk ban users, delete their recent messages, and keep your community safe from unwanted behavior.
- Role and membership management: Automatically assign roles, add users to servers or threads, and update member information to streamline onboarding and permissions.
- Automated message handling: Let your agent bulk delete messages in a channel or add emoji reactions to keep conversations tidy and interactive.
- Custom command creation: Enable your agent to create new global application commands, so your Discord server can respond to custom triggers and workflows.
- Auto moderation rule setup: Have your agent set up or update auto moderation rules for your guild, ensuring safe and compliant community interactions around the clock.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `DISCORDBOT_ADD_GROUP_DM_USER` | Add recipient to group channel | Adds a user to a Discord group DM channel. Requires a user OAuth2 access token with the gdm.join scope. Bot tokens cannot be used for this endpoint. |
| `DISCORDBOT_ADD_GUILD_MEMBER` | Add guild member | Adds a user to a Discord guild using their OAuth2 access token (which must have guilds.join scope). Returns the guild member object on 201 Created, or indicates the user is already a member on 204. |
| `DISCORDBOT_ADD_GUILD_MEMBER_ROLE` | Assign role to guild member | Assigns a role to a guild member. Requires MANAGE_ROLES permission and the role must be lower in hierarchy than the bot's highest role. Returns 204 on success. |
| `DISCORDBOT_ADD_MY_MESSAGE_REACTION` | Add Reaction To Message | Adds an emoji reaction from the bot to a message. Requires READ_MESSAGE_HISTORY, and ADD_REACTIONS if no one else has reacted with this emoji yet. |
| `DISCORDBOT_ADD_THREAD_MEMBER` | Add thread member | Adds a user to a specific, unarchived thread. The user must have access to the parent channel. |
| `DISCORDBOT_BAN_USER_FROM_GUILD` | Ban user from guild | Permanently bans a user from a Discord guild, optionally deleting their recent messages. |
| `DISCORDBOT_BULK_BAN_USERS_FROM_GUILD` | Bulk ban users from guild | Bans up to 200 users from a Discord guild, optionally deleting their recent messages. Requires BAN_MEMBERS permission. |
| `DISCORDBOT_BULK_DELETE_MESSAGES` | Bulk Delete Messages | Bulk deletes messages in a Discord channel. Requires MANAGE_MESSAGES permission. Messages must be less than 14 days old. Between 2 and 100 messages can be deleted at once. |
| `DISCORDBOT_CREATE_APPLICATION_COMMAND` | Create global application command | Creates a new global Discord application command. Global commands can take up to an hour to propagate. Command names must be unique per type within the application scope. |
| `DISCORDBOT_CREATE_AUTO_MODERATION_RULE` | Create auto moderation rule | Creates a new auto moderation rule for a Discord guild. Requires MANAGE_GUILD permission. Use this to set up filters for profanity, spam, excessive mentions, or custom keywords. |
| `DISCORDBOT_CREATE_CHANNEL_INVITE` | Create channel invite | Creates a new invite link for a Discord channel. Requires CREATE_INSTANT_INVITE permission. |
| `DISCORDBOT_CREATE_DM` | 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. |
| `DISCORDBOT_CREATE_GUILD` | Create new guild | Creates a new Discord guild (server). The bot must be in fewer than 10 guilds to use this endpoint. Icon must be a base64 encoded 128x128 image, and if afk_channel_id is set, afk_timeout must also be set. |
| `DISCORDBOT_CREATE_GUILD_APPLICATION_COMMAND` | Create guild application command | Creates a new guild-specific application command. Command names must be unique per type within the guild (max 100 total commands). |
| `DISCORDBOT_CREATE_GUILD_CHANNEL` | Create guild channel | Creates a new Discord channel (text, voice, category, etc.) within a guild. Requires MANAGE_CHANNELS permission. |
| `DISCORDBOT_CREATE_GUILD_EMOJI` | Create guild emoji | Creates a new custom emoji in a specified Discord guild, requiring CREATE_EXPRESSIONS permission and adherence to guild emoji limits. |
| `DISCORDBOT_CREATE_GUILD_FROM_TEMPLATE` | Create guild from template | Creates a new Discord guild by applying channels, roles, and settings from a specified guild template code. |
| `DISCORDBOT_CREATE_GUILD_ROLE` | Create role with guild id | Creates a new role in a Discord guild with customizable name, permissions, color, hoist, mentionability, and icon. Requires MANAGE_ROLES permission. The icon and unicode_emoji fields are mutually exclusive. |
| `DISCORDBOT_CREATE_GUILD_SCHEDULED_EVENT` | Create guild scheduled event | Creates a new scheduled event in a Discord guild. Events can be hosted in stage channels, voice channels, or external locations. STAGE_INSTANCE/VOICE require channel_id, while EXTERNAL requires entity_metadata with a location and scheduled_end_time. |
| `DISCORDBOT_CREATE_GUILD_STICKER` | Create guild sticker | Uploads a PNG, APNG, GIF, or Lottie JSON file (max 512KB) as a new custom sticker to the specified Discord guild; requires Manage Expressions permission. |
| `DISCORDBOT_CREATE_GUILD_TEMPLATE` | Create guild template | Creates a template of an existing Discord guild's structure (settings, roles, channels) but not its content (messages, members). |
| `DISCORDBOT_CREATE_INTERACTION_RESPONSE` | 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. |
| `DISCORDBOT_CREATE_MESSAGE` | Send Message To Channel | Sends a message to a Discord channel. Supports text content, embeds, stickers, components, and replies. Requires SEND_MESSAGES permission and at least one of content, embeds, sticker_ids, or components. |
| `DISCORDBOT_CREATE_STAGE_INSTANCE` | Create stage instance | Creates a new Stage instance in a Stage channel for hosting live audio events. Requires MANAGE_CHANNELS, MUTE_MEMBERS, and MOVE_MEMBERS permissions. A Stage channel can only have one active instance at a time. |
| `DISCORDBOT_CREATE_THREAD` | Create new thread in channel | Creates a new thread in a text, announcement, forum, or media channel. |
| `DISCORDBOT_CREATE_THREAD_FROM_MESSAGE` | Create thread from message | Creates a new thread from a specific message in a Discord channel, requiring CREATE_PUBLIC_THREADS permission. |
| `DISCORDBOT_CREATE_WEBHOOK` | Create channel webhook | Creates a new webhook in a specified Discord channel, requiring MANAGE_WEBHOOKS permission. |
| `DISCORDBOT_CROSSPOST_MESSAGE` | Crosspost Message | Crossposts a message from an announcement channel to all channels following it. The message must not have been previously crossposted and must not be a system message. |
| `DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS` | Delete All Reactions | Removes all reactions from a message. Requires MANAGE_MESSAGES permission. This removes reactions from all users, not just the bot. |
| `DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS_BY_EMOJI` | Delete All Reactions By Emoji | Removes all reactions for a specific emoji from a message. Requires MANAGE_MESSAGES permission. Removes reactions from all users, not just the bot. |
| `DISCORDBOT_DELETE_APPLICATION_COMMAND` | Delete global application command | Permanently deletes a global application command. This is irreversible and the command will no longer appear in Discord clients. Global command deletions can take up to 1 hour to propagate. |
| `DISCORDBOT_DELETE_AUTO_MODERATION_RULE` | Delete auto moderation rule | Permanently deletes a specific auto moderation rule from a Discord guild. Requires MANAGE_GUILD permission. |
| `DISCORDBOT_DELETE_CHANNEL` | Delete channel by id | Permanently deletes a Discord channel by its ID. This action is irreversible. Returns the deleted channel object (not 204). |
| `DISCORDBOT_DELETE_CHANNEL_PERMISSION_OVERWRITE` | Delete channel permission override | Removes channel-specific permission overwrites for a user or role, reverting them to default permissions inherited from the server or category. Requires MANAGE_ROLES permission. This action is irreversible. |
| `DISCORDBOT_DELETE_GROUP_DM_USER` | Remove user from group DM | Removes a recipient from a Discord group DM channel. Requires OAuth2 user access tokens with the gdm.join scope. Only the group DM owner or managing application can remove recipients. |
| `DISCORDBOT_DELETE_GUILD` | Delete guild by id | Permanently deletes a specified Discord guild (server). The authenticated user must be the owner of the guild. This action is irreversible. |
| `DISCORDBOT_DELETE_GUILD_APPLICATION_COMMAND` | Delete guild application command | Permanently deletes a guild-specific application command. This is irreversible. |
| `DISCORDBOT_DELETE_GUILD_EMOJI` | Delete guild emoji by id | Permanently deletes a specified custom emoji from a guild, requiring Manage Expressions permissions; cannot delete default emojis and is irreversible. |
| `DISCORDBOT_DELETE_GUILD_INTEGRATION` | Delete guild integration | Permanently deletes a specific integration from a Discord guild, removing any associated webhooks and kicking the bot if present. Requires MANAGE_GUILD permission. |
| `DISCORDBOT_DELETE_GUILD_MEMBER` | Delete guild member by id | Removes (kicks) a member from a Discord guild. The user must be an existing member of the specified guild. Requires KICK_MEMBERS permission. |
| `DISCORDBOT_DELETE_GUILD_MEMBER_ROLE` | Delete guild member role | Removes a specified role from a member of a Discord guild. Requires MANAGE_ROLES permission and the role must be lower in hierarchy than the bot's highest role. Idempotent - succeeds even if member does not have the role. |
| `DISCORDBOT_DELETE_GUILD_ROLE` | Delete role from guild | 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. |
| `DISCORDBOT_DELETE_GUILD_SCHEDULED_EVENT` | Delete guild scheduled event | Permanently deletes a specific scheduled event from a Discord guild. This action is irreversible. |
| `DISCORDBOT_DELETE_GUILD_STICKER` | Delete guild sticker | Permanently deletes a custom sticker from a Discord guild; the specified guild and sticker must exist, and this action is irreversible. |
| `DISCORDBOT_DELETE_GUILD_TEMPLATE` | Delete guild template by code | Deletes an existing guild template by its unique code from a specified guild, returning the deleted template's details. |
| `DISCORDBOT_DELETE_MESSAGE` | Delete Message | Permanently deletes a message from a Discord channel. The bot can delete its own messages or, with MANAGE_MESSAGES permission, delete messages from other users. |
| `DISCORDBOT_DELETE_MY_MESSAGE_REACTION` | Remove My Reaction | Removes the bot's own emoji reaction from a message. Only removes the bot's reaction, not other users' reactions. |
| `DISCORDBOT_DELETE_ORIGINAL_WEBHOOK_MESSAGE` | Delete original webhook message | Permanently deletes the original (@original) message posted by a webhook or interaction response. |
| `DISCORDBOT_DELETE_STAGE_INSTANCE` | Delete stage instance | Permanently deletes the Stage instance for a given stage channel, ending the live audio event. |
| `DISCORDBOT_DELETE_THREAD_MEMBER` | Remove thread member | Removes a user from a specified, unarchived thread. Requires MANAGE_THREADS permission. |
| `DISCORDBOT_DELETE_USER_MESSAGE_REACTION` | Remove User Reaction | Removes a specific user's emoji reaction from a message. Requires MANAGE_MESSAGES permission. |
| `DISCORDBOT_DELETE_WEBHOOK` | Delete webhook by id | Permanently deletes a Discord webhook by its unique ID. This action is irreversible. |
| `DISCORDBOT_DELETE_WEBHOOK_BY_TOKEN` | Delete webhook by token | Permanently deletes a Discord webhook using its ID and token, without bot authentication. |
| `DISCORDBOT_DELETE_WEBHOOK_MESSAGE` | Delete webhook message | Deletes a message previously sent by a Discord webhook. |
| `DISCORDBOT_EXECUTE_GITHUB_COMPATIBLE_WEBHOOK` | Execute GitHub-compatible webhook | Forwards GitHub event notifications to a Discord channel via a GitHub-compatible webhook endpoint. |
| `DISCORDBOT_EXECUTE_SLACK_COMPATIBLE_WEBHOOK` | Execute Slack-compatible webhook | Sends messages to Discord via its Slack-compatible webhook endpoint, supporting Slack attachment formatting. |
| `DISCORDBOT_EXECUTE_WEBHOOK` | Execute webhook | Executes a Discord webhook to send messages, embeds, or interactive components to a channel or thread. |
| `DISCORDBOT_FOLLOW_CHANNEL` | Add follower to channel via webhook | Follows an Announcement Channel to relay its messages to a target channel via webhook. The bot must have MANAGE_WEBHOOKS permission in the target channel. |
| `DISCORDBOT_GET_ACTIVE_GUILD_THREADS` | List active threads in guild | Retrieves all active (non-archived) threads in a Discord guild that the bot can access. |
| `DISCORDBOT_GET_APPLICATION` | Get application details | Retrieves the full details of a Discord application by its application_id. |
| `DISCORDBOT_GET_APPLICATION_COMMAND` | Get global application command | Retrieves a specific global application command by its application ID and command ID. |
| `DISCORDBOT_GET_APPLICATION_ROLE_CONNECTIONS_METADATA` | Get application role connections metadata | Retrieves all role connection metadata records for a Discord application. Returns an empty list if none are configured. |
| `DISCORDBOT_GET_APPLICATION_USER_ROLE_CONNECTION` | Get user role connection | Fetches the role connection object for the current user for a specified Discord application. Requires OAuth2 with the role_connections.write scope. |
| `DISCORDBOT_GET_AUTO_MODERATION_RULE` | Get auto moderation rule | Retrieves the complete configuration of a specific auto moderation rule within a Discord guild. |
| `DISCORDBOT_GET_BOT_GATEWAY` | Get bot gateway | Retrieves the WSS URL, recommended shard count, and session start limits for connecting a bot to the Discord Gateway. |
| `DISCORDBOT_GET_CHANNEL` | Retrieve channel details | Retrieves detailed metadata for a specific Discord channel by its channel_id. Returns only channel metadata, not message content or member lists. |
| `DISCORDBOT_GET_GATEWAY` | Get gateway URL | Retrieves the WebSocket URL to connect to Discord's Gateway for receiving real-time events. This is a public endpoint that does not require authentication. |
| `DISCORDBOT_GET_GUILD` | Retrieve guild details | Retrieves detailed information for a specified Discord guild (server) by its guild_id, optionally including approximate member and presence counts if with_counts is true. |
| `DISCORDBOT_GET_GUILD_APPLICATION_COMMAND` | Get guild application command | Retrieves detailed information for a specific application command within a Discord guild. |
| `DISCORDBOT_GET_GUILD_APPLICATION_COMMAND_PERMISSIONS` | Get guild command permissions | Retrieves the permissions for a specific application command within a guild. |
| `DISCORDBOT_GET_GUILD_BAN` | Get guild ban | Fetches the ban details for a specific user in a Discord guild, if that user is currently banned. |
| `DISCORDBOT_GET_GUILD_EMOJI` | Fetch emoji by guild and id | Retrieves details for a specific custom emoji within a specified Discord guild, requiring valid and accessible guild and emoji IDs. |
| `DISCORDBOT_GET_GUILD_MEMBER` | Retrieve guild member by user id | Retrieves detailed information for a specific member of a Discord guild, provided the bot belongs to the guild and has necessary permissions. |
| `DISCORDBOT_GET_GUILD_PREVIEW` | Preview guild by id | Fetches a public preview of a Discord guild by its ID, if the guild has the preview feature enabled. |
| `DISCORDBOT_GET_GUILD_SCHEDULED_EVENT` | Get guild scheduled event | Retrieves a specific scheduled event from a Discord guild by its ID, optionally including the count of subscribed users. |
| `DISCORDBOT_GET_GUILDS_ONBOARDING` | Get guild onboarding | Retrieves the onboarding settings for a specified Discord guild, including prompts, options, default channels, and enabled status. |
| `DISCORDBOT_GET_GUILD_STICKER` | Retrieve sticker from guild | Retrieves a specific sticker from a Discord guild using the guild and sticker IDs; requires the sticker to exist in the guild. |
| `DISCORDBOT_GET_GUILD_TEMPLATE` | Retrieve guild template with code | Retrieves the complete structure and details of a Discord guild template using its unique code. |
| `DISCORDBOT_GET_GUILD_VANITY_URL` | Retrieve guild vanity url | Retrieves the vanity URL invite code and usage count for a Discord guild. Requires MANAGE_GUILD permission and the VANITY_URL feature. |
| `DISCORDBOT_GET_GUILD_WEBHOOKS` | Retrieve guild webhooks | Retrieves all webhooks for a specified Discord guild, requiring MANAGE_WEBHOOKS permission. |
| `DISCORDBOT_GET_GUILD_WELCOME_SCREEN` | Retrieve guild welcome screen | Retrieves the welcome screen configuration for a Discord guild with the Community feature enabled. Returns the welcome screen description and up to 5 suggested channels. |
| `DISCORDBOT_GET_GUILD_WIDGET` | Retrieve guild widget json | Retrieves the public JSON widget data for a Discord guild, if the widget is enabled for that guild. |
| `DISCORDBOT_GET_GUILD_WIDGET_PNG` | Get Guild Widget PNG | Tool to retrieve a PNG image widget for a Discord guild. Use when you need a visual representation of the guild widget that can be displayed on external websites. The widget must be enabled in the guild's server settings. |
| `DISCORDBOT_GET_GUILD_WIDGET_SETTINGS` | Retrieve guild widget settings | Retrieves the widget settings for a specified Discord guild, indicating if the widget is enabled and its configured channel ID. |
| `DISCORDBOT_GET_MESSAGE` | Get Message | Retrieves a specific message from a Discord channel by channel and message ID. |
| `DISCORDBOT_GET_MY_APPLICATION` | Get my application | Retrieves detailed information about the current authenticated Discord application via /applications/@me. |
| `DISCORDBOT_GET_MY_OAUTH2_APPLICATION` | Get my OAuth2 application | Retrieves detailed information about the OAuth2 application associated with the current authentication. |
| `DISCORDBOT_GET_ORIGINAL_WEBHOOK_MESSAGE` | Retrieve original webhook message | Retrieves the original (@original) message from a Discord webhook or interaction response. |
| `DISCORDBOT_GET_PUBLIC_KEYS` | Get OAuth2 public keys | Retrieves Discord's OAuth2 public keys in JWK format for verifying access tokens. Keys may rotate, so refresh caches periodically. |
| `DISCORDBOT_GET_STAGE_INSTANCE` | Get stage instance | Retrieves the active Stage instance for a specified stage channel. Returns 404 if no active Stage instance exists. |
| `DISCORDBOT_GET_STICKER` | Get sticker | Retrieves a specific Discord sticker by its unique ID. |
| `DISCORDBOT_GET_THREAD_MEMBER` | Retrieve thread member by id | Retrieves a member from a specified thread using their user ID, optionally including guild member details. |
| `DISCORDBOT_GET_USER` | Get user | Fetches public information for a Discord user by their user ID. |
| `DISCORDBOT_GET_WEBHOOK` | Retrieve webhook by id | Retrieves detailed information for a Discord webhook by its unique ID. |
| `DISCORDBOT_GET_WEBHOOK_BY_TOKEN` | Retrieve webhook by token | Retrieves a Discord webhook's configuration using its ID and token, without requiring bot authentication. |
| `DISCORDBOT_GET_WEBHOOK_MESSAGE` | Retrieve webhook message | Retrieves a specific message previously sent by a Discord webhook. |
| `DISCORDBOT_INVITE_RESOLVE` | Resolve invite by code | Resolves a Discord invite code to get its details, optionally including member counts and expiration. |
| `DISCORDBOT_INVITE_REVOKE` | Revoke invite by code | Revokes a Discord invite using its code, permanently preventing new joins via this link. |
| `DISCORDBOT_JOIN_THREAD` | Join thread | Joins the authenticated user to a thread specified by channel_id. |
| `DISCORDBOT_LEAVE_GUILD` | Leave Guild | Enables the bot to leave a specified Discord guild (server). This action is irreversible and the bot must be re-invited to rejoin. |
| `DISCORDBOT_LEAVE_THREAD` | Leave thread | Removes the currently authenticated user from a specified thread. |
| `DISCORDBOT_LIST_APPLICATION_COMMANDS` | List global application commands | Fetches all global application commands for the specified Discord application. Does not include guild-specific commands. |
| `DISCORDBOT_LIST_AUTO_MODERATION_RULES` | List auto moderation rules | Retrieves all auto moderation rules for a specified Discord guild. Requires MANAGE_GUILD permission. |
| `DISCORDBOT_LIST_CHANNEL_INVITES` | List channel invites | Fetches all active invites for a given Discord channel. Requires MANAGE_CHANNELS permission. |
| `DISCORDBOT_LIST_CHANNEL_WEBHOOKS` | List Channel Webhooks | Retrieves all webhooks configured in a given Discord channel. Requires the MANAGE_WEBHOOKS permission. |
| `DISCORDBOT_LIST_GUILD_APPLICATION_COMMAND_PERMISSIONS` | List guild command permissions | Retrieves all guild-level permission settings for all commands of a specific application within a guild. |
| `DISCORDBOT_LIST_GUILD_APPLICATION_COMMANDS` | List guild application commands | Fetches all application commands registered for a specific guild. Does not include global commands. |
| `DISCORDBOT_LIST_GUILD_AUDIT_LOG_ENTRIES` | Get guild audit logs | Retrieves audit log entries for a specified Discord guild, requiring VIEW_AUDIT_LOG permission. Supports filtering by user, action type, and pagination. |
| `DISCORDBOT_LIST_GUILD_BANS` | List guild bans | Fetches a list of users banned from a specified Discord guild. Requires BAN_MEMBERS permission. |
| `DISCORDBOT_LIST_GUILD_CHANNELS` | Retrieve guild channels | Fetches all channels (text, voice, category, etc.) for a specified Discord guild. Does not include threads or message content. |
| `DISCORDBOT_LIST_GUILD_EMOJIS` | Retrieve guild emojis | Fetches all custom emoji objects for a specified Discord guild if the bot has access; returns only custom guild emojis, not standard Unicode or Nitro emojis. |
| `DISCORDBOT_LIST_GUILD_INTEGRATIONS` | List guild integrations | Lists all integration objects for a specified Discord guild. Requires MANAGE_GUILD permission. |
| `DISCORDBOT_LIST_GUILD_INVITES` | List guild invites | Retrieves all currently active invite codes for a specified Discord guild. |
| `DISCORDBOT_LIST_GUILD_MEMBERS` | Get guild members | Retrieves a list of members for a Discord guild. Requires GUILD_MEMBERS intent. Supports pagination via limit and after parameters. |
| `DISCORDBOT_LIST_GUILD_ROLES` | List guild roles | Fetches all roles in a Discord guild, providing details for each role including permissions, color, position, and other attributes. |
| `DISCORDBOT_LIST_GUILD_SCHEDULED_EVENTS` | List guild scheduled events | Retrieves a list of scheduled events for a specified Discord guild, optionally including subscribed user counts. |
| `DISCORDBOT_LIST_GUILD_SCHEDULED_EVENT_USERS` | List scheduled event users | Fetches users who have expressed interest in a specific scheduled event within a Discord guild. Supports pagination and optional guild member data. |
| `DISCORDBOT_LIST_GUILD_STICKERS` | Retrieve guild stickers | Retrieves all custom sticker objects for a Discord guild; does not include standard/Nitro stickers. |
| `DISCORDBOT_LIST_GUILD_TEMPLATES` | Get guild templates by guild id | Retrieves all guild templates for an existing Discord guild, specified by its ID. Requires MANAGE_GUILD permission. |
| `DISCORDBOT_LIST_GUILD_VOICE_REGIONS` | List guild voice regions | Fetches a list of available voice regions for a specified Discord guild. |
| `DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI` | List Reactions By Emoji | Lists users who reacted to a message with a specific emoji. Supports pagination. |
| `DISCORDBOT_LIST_MESSAGES` | Fetch Messages From Channel | Retrieves messages from a Discord channel, ordered newest first. Supports pagination via before/after/around parameters. |
| `DISCORDBOT_LIST_MY_PRIVATE_ARCHIVED_THREADS` | List my private archived threads | Retrieves private archived threads from a channel that the current user is a member of. |
| `DISCORDBOT_LIST_PINNED_MESSAGES` | List Pinned Messages | Retrieves all pinned messages from a Discord channel. Returns up to 50 pinned messages. |
| `DISCORDBOT_LIST_PRIVATE_ARCHIVED_THREADS` | List private archived threads | Lists private archived threads in a Discord channel, sorted by most recent archival. Requires view access. |
| `DISCORDBOT_LIST_PUBLIC_ARCHIVED_THREADS` | List public archived threads | Lists public archived threads in a Discord channel, sorted by most recent archival. |
| `DISCORDBOT_LIST_STICKER_PACKS` | List sticker packs | Fetches all available Nitro sticker packs from Discord, excluding custom or guild-specific sticker packs. |
| `DISCORDBOT_LIST_THREAD_MEMBERS` | List thread members | Retrieves members of a specified Discord thread, with an option to include full guild member objects. |
| `DISCORDBOT_LIST_VOICE_REGIONS` | List voice regions | Lists all available Discord voice regions that can be used when setting a voice or stage channel's region. |
| `DISCORDBOT_PIN_MESSAGE` | Pin Message | Pins a message in a Discord channel. Requires MANAGE_MESSAGES permission. A channel can have at most 50 pinned messages. |
| `DISCORDBOT_PREVIEW_PRUNE_GUILD` | Preview guild prune | Previews the number of members that would be pruned from a Discord guild based on inactivity days and optional roles; does not remove members. |
| `DISCORDBOT_PRUNE_GUILD` | Prune inactive guild members | Removes inactive members from a Discord guild. Requires KICK_MEMBERS permission. Set compute_prune_count=false for large guilds to avoid timeouts. |
| `DISCORDBOT_PUT_GUILDS_ONBOARDING` | Update guild onboarding configuration | Configures or updates a Discord guild's new member onboarding flow, including prompts, options, default channels, and enabled status. |
| `DISCORDBOT_SEARCH_GUILD_MEMBERS` | Search guild members by username or nickname | Searches for members in a specific Discord guild by matching a query string against usernames and nicknames. Returns matching guild member objects. |
| `DISCORDBOT_SET_CHANNEL_PERMISSION_OVERWRITE` | Modify channel permissions | Updates or creates a permission overwrite for a role (type 0) or member (type 1) within a Discord channel using allow and deny bitwise values. Requires MANAGE_ROLES permission. |
| `DISCORDBOT_SYNC_GUILD_TEMPLATE` | Sync guild template | Synchronizes a guild template with its source guild, updating it to match the source's current configuration; does not affect guilds already created from this template. |
| `DISCORDBOT_TEST_AUTH` | Test bot token authentication | Tool to validate the configured Discord bot token by fetching the current authenticated bot user. Use when diagnosing repeated 401 errors to determine if the issue is an invalid token (this endpoint returns 401) or missing guild membership/permissions/wrong channel_id (this endpoint returns 200 but other operations fail). |
| `DISCORDBOT_TRIGGER_TYPING_INDICATOR` | Trigger typing indicator | Shows the bot is typing in a Discord channel. The indicator stops after 10 seconds or upon message send. Use when actively preparing a response. |
| `DISCORDBOT_UNBAN_USER_FROM_GUILD` | Unban user from guild | Revokes a ban for a user from a Discord guild, allowing them to rejoin. Requires BAN_MEMBERS permission. |
| `DISCORDBOT_UNPIN_MESSAGE` | Unpin Message | Unpins a message from a Discord channel. The message is not deleted, only removed from the pinned list. Requires MANAGE_MESSAGES permission. |
| `DISCORDBOT_UPDATE_APPLICATION` | Update application | Updates a Discord application's settings using its application_id. |
| `DISCORDBOT_UPDATE_APPLICATION_COMMAND` | Update global application command | Updates properties of a global application command. Omitted properties remain unchanged. The options field, if provided, overwrites all existing options. |
| `DISCORDBOT_UPDATE_APPLICATION_USER_ROLE_CONNECTION` | Update user application role connection | Updates the current user's application role connection metadata for Discord's Linked Roles feature. Requires OAuth2 with the role_connections.write scope. |
| `DISCORDBOT_UPDATE_AUTO_MODERATION_RULE` | Update auto moderation rule | Updates an existing auto moderation rule in a Discord guild. Only fields provided in the request body are changed. Requires MANAGE_GUILD permission. |
| `DISCORDBOT_UPDATE_CHANNEL` | Update channel settings | Updates a Discord channel's settings (name, topic, permissions, etc.). Requires MANAGE_CHANNELS permission. All body parameters are optional -- only include fields you want to change. |
| `DISCORDBOT_UPDATE_GUILD` | Update guild settings | Updates settings for a Discord guild (server). Requires the MANAGE_GUILD permission. All parameters except guild_id are optional -- only include the settings you want to change. |
| `DISCORDBOT_UPDATE_GUILD_APPLICATION_COMMAND` | Update guild application command | Updates properties of a guild-specific application command. Omitted properties remain unchanged. |
| `DISCORDBOT_UPDATE_GUILD_EMOJI` | Update guild emoji | Updates a custom emoji's name and/or role restrictions in a Discord guild; cannot create or delete emojis, and role updates for managed emojis may be restricted by their integration. |
| `DISCORDBOT_UPDATE_GUILD_MEMBER` | Modify guild member details | Updates a guild member's attributes including nickname, roles, voice state, timeout status, and flags. Only provided fields will be updated. Requires appropriate permissions for each operation. |
| `DISCORDBOT_UPDATE_GUILD_ROLE` | Modify guild role | Updates a Discord guild role's attributes (name, permissions, color, etc.). Requires MANAGE_ROLES permission. Unspecified attributes remain unchanged. The icon and unicode_emoji fields are mutually exclusive. |
| `DISCORDBOT_UPDATE_GUILD_SCHEDULED_EVENT` | Update guild scheduled event | Updates an existing scheduled event in a Discord guild. Only fields provided in the request body are changed. Supports updating name, description, schedule, status, location, and other event attributes. |
| `DISCORDBOT_UPDATE_GUILD_STICKER` | Update guild sticker info | Modifies a guild sticker's name, description, or tags. Requires MANAGE_EXPRESSIONS permission. |
| `DISCORDBOT_UPDATE_GUILD_TEMPLATE` | Update guild template | Updates a Discord guild template's name and/or description; omitted fields retain current values, and an empty string for description clears it. |
| `DISCORDBOT_UPDATE_GUILD_WELCOME_SCREEN` | Update guild welcome screen | Updates a guild's welcome screen configuration, including description, enabled status, and up to 5 welcome channels. Requires MANAGE_GUILD permission and the COMMUNITY feature. |
| `DISCORDBOT_UPDATE_GUILD_WIDGET_SETTINGS` | Update guild widget settings | Updates a Discord guild's widget settings, such as its enabled state or invite channel. Requires MANAGE_GUILD permission. |
| `DISCORDBOT_UPDATE_MESSAGE` | Edit Message | Edits a message previously sent by the bot. Only provide fields you want to change; use null or empty list to clear values. |
| `DISCORDBOT_UPDATE_MY_APPLICATION` | Update my application | Updates settings for the current authenticated Discord application via /applications/@me. |
| `DISCORDBOT_UPDATE_MY_GUILD_MEMBER` | Update bot's nickname in guild | Modifies the current bot's member profile (nickname) in a Discord guild. The bot must be a member of the guild and have CHANGE_NICKNAME permission. |
| `DISCORDBOT_UPDATE_MY_USER` | Update current bot user profile | Updates the current bot user's Discord username and/or avatar. Only works with bot tokens. Username changes are rate-limited to 2 per hour. |
| `DISCORDBOT_UPDATE_ORIGINAL_WEBHOOK_MESSAGE` | Update original webhook message | Updates the original (@original) message previously sent by a webhook or interaction response. |
| `DISCORDBOT_UPDATE_SELF_VOICE_STATE` | Update own voice state | Updates the bot's own voice state in a guild Stage channel, such as toggling suppress or requesting to speak. The bot must already be connected to a stage channel via the Gateway API. |
| `DISCORDBOT_UPDATE_VOICE_STATE` | Update user voice state | Updates another user's voice state in a Discord stage channel. Only works for stage channels, not regular voice channels. Primarily used to toggle suppress state for speaking permissions. Requires MUTE_MEMBERS permission. |
| `DISCORDBOT_UPDATE_WEBHOOK` | Update webhook details | Updates properties of an existing Discord webhook such as name, avatar, or channel. |
| `DISCORDBOT_UPDATE_WEBHOOK_BY_TOKEN` | Update webhook by token | Updates a Discord webhook's name and/or avatar using its ID and token, without bot authentication. |
| `DISCORDBOT_UPDATE_WEBHOOK_MESSAGE` | Update webhook message | Updates a message previously sent by a webhook, allowing modification of content, embeds, attachments, or components. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

The Discordbot MCP server connects Claude Cowork to your Discordbot account through Composio. Once connected, Cowork can use the available Discordbot tools and triggers to complete tasks on your behalf.

## Complete Code

None listed.

## How to build Discordbot MCP Agent with another framework

- [OpenAI Agents SDK](https://composio.dev/toolkits/discordbot/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/discordbot/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/discordbot/framework/claude-code)
- [Codex](https://composio.dev/toolkits/discordbot/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/discordbot/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/discordbot/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/discordbot/framework/cli)
- [Google ADK](https://composio.dev/toolkits/discordbot/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/discordbot/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/discordbot/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/discordbot/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/discordbot/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/discordbot/framework/crew-ai)

## Related Toolkits

- [Gmail](https://composio.dev/toolkits/gmail) - Gmail is Google's email service with powerful spam protection, search, and G Suite integration. It keeps your inbox organized and makes communication fast and reliable.
- [Outlook](https://composio.dev/toolkits/outlook) - Outlook is Microsoft's email and calendaring platform for unified communications and scheduling. It helps users stay organized with powerful email, contacts, and calendar management.
- [Slack](https://composio.dev/toolkits/slack) - Slack is a channel-based messaging platform for teams and organizations. It helps people collaborate in real time, share files, and connect all their tools in one place.
- [Gong](https://composio.dev/toolkits/gong) - Gong is a platform for video meetings, call recording, and team collaboration. It helps teams capture conversations, analyze calls, and turn insights into action.
- [Microsoft teams](https://composio.dev/toolkits/microsoft_teams) - Microsoft Teams is a collaboration platform that combines chat, meetings, and file sharing within Microsoft 365. It keeps distributed teams connected and productive through seamless virtual communication.
- [Slackbot](https://composio.dev/toolkits/slackbot) - Slackbot is a conversational automation tool for Slack that handles reminders, notifications, and automated responses. It boosts team productivity by streamlining onboarding, answering FAQs, and managing timely alerts—all right inside Slack.
- [2chat](https://composio.dev/toolkits/_2chat) - 2chat is an API platform for WhatsApp and multichannel text messaging. It streamlines chat automation, group management, and real-time messaging for developers.
- [Agent mail](https://composio.dev/toolkits/agent_mail) - Agent mail provides AI agents with dedicated email inboxes for sending, receiving, and managing emails. It empowers agents to communicate autonomously with people, services, and other agents—no human intervention needed.
- [Basecamp](https://composio.dev/toolkits/basecamp) - Basecamp is a project management and team collaboration tool by 37signals. It helps teams organize tasks, share files, and communicate efficiently in one place.
- [Chatwork](https://composio.dev/toolkits/chatwork) - Chatwork is a team communication platform with group chats, file sharing, and task management. It helps businesses boost collaboration and streamline productivity.
- [Clickmeeting](https://composio.dev/toolkits/clickmeeting) - ClickMeeting is a cloud-based platform for running online meetings and webinars. It helps businesses and individuals host, manage, and engage virtual audiences with ease.
- [Confluence](https://composio.dev/toolkits/confluence) - Confluence is Atlassian's team collaboration and knowledge management platform. It helps your team organize, share, and update documents and project content in one secure workspace.
- [Dailybot](https://composio.dev/toolkits/dailybot) - DailyBot streamlines team collaboration with chat-based standups, reminders, and polls. It keeps work flowing smoothly in your favorite messaging platforms.
- [Dialmycalls](https://composio.dev/toolkits/dialmycalls) - Dialmycalls is a mass notification service for sending voice and text messages to contacts. It helps teams and organizations quickly broadcast urgent alerts and updates.
- [Dialpad](https://composio.dev/toolkits/dialpad) - Dialpad is a cloud-based business phone and contact center system for teams. It unifies voice, video, messaging, and meetings across your devices.
- [Discord](https://composio.dev/toolkits/discord) - Discord is a real-time messaging and VoIP platform for communities and teams. It lets users chat, share media, and collaborate across public and private channels.
- [Echtpost](https://composio.dev/toolkits/echtpost) - Echtpost is a secure digital communication platform for encrypted document and message exchange. It ensures confidential data stays private and protected during transmission.
- [Egnyte](https://composio.dev/toolkits/egnyte) - Egnyte is a cloud-based platform for secure file sharing, storage, and governance. It helps teams collaborate efficiently while maintaining data compliance and security.
- [Google Meet](https://composio.dev/toolkits/googlemeet) - Google Meet is a secure video conferencing platform for virtual meetings, chat, and screen sharing. It helps teams connect, collaborate, and communicate seamlessly from anywhere.
- [Heartbeat](https://composio.dev/toolkits/heartbeat) - Heartbeat is a plug-and-play platform for building and managing online communities. It helps you organize users, channels, events, and discussions in one place.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Discordbot MCP?

With a standalone Discordbot MCP server, the agents and LLMs can only access a fixed set of Discordbot tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Discordbot and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Claude Cowork?

Yes, you can. Claude Cowork fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Discordbot tools.

### Can I manage the permissions and scopes for Discordbot while using Tool Router?

Yes, absolutely. You can configure which Discordbot scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Discordbot data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
