Discord Automation via Rube MCP
Automate Discord operations through Composio's Discord/Discordbot toolkits via Rube MCP.
Toolkit docs: composio.dev/toolkits/discord
Prerequisites
- •Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- •Active Discord connection via
RUBE_MANAGE_CONNECTIONSwith toolkitsdiscordanddiscordbot - •Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- •Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - •Call
RUBE_MANAGE_CONNECTIONSwith toolkitdiscordbot(bot operations) ordiscord(user operations) - •If connection is not ACTIVE, follow the returned auth link to complete Discord auth
- •Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Send Messages
When to use: User wants to send messages to channels or DMs
Tool sequence:
- •
DISCORD_LIST_MY_GUILDS- List guilds the bot belongs to [Prerequisite] - •
DISCORDBOT_LIST_GUILD_CHANNELS- List channels in a guild [Prerequisite] - •
DISCORDBOT_CREATE_MESSAGE- Send a message [Required] - •
DISCORDBOT_UPDATE_MESSAGE- Edit a sent message [Optional]
Key parameters:
- •
channel_id: Channel snowflake ID - •
content: Message text (max 2000 characters) - •
embeds: Array of embed objects for rich content - •
guild_id: Guild ID for channel listing
Pitfalls:
- •Bot must have SEND_MESSAGES permission in the channel
- •High-frequency sends can hit per-route rate limits; respect Retry-After headers
- •Only messages sent by the same bot can be edited
2. Send Direct Messages
When to use: User wants to DM a Discord user
Tool sequence:
- •
DISCORDBOT_CREATE_DM- Create or get DM channel [Required] - •
DISCORDBOT_CREATE_MESSAGE- Send message to DM channel [Required]
Key parameters:
- •
recipient_id: User snowflake ID for DM - •
channel_id: DM channel ID from CREATE_DM
Pitfalls:
- •Cannot DM users who have DMs disabled or have blocked the bot
- •CREATE_DM returns existing channel if one already exists
3. Manage Roles
When to use: User wants to create, assign, or remove roles
Tool sequence:
- •
DISCORDBOT_CREATE_GUILD_ROLE- Create a new role [Optional] - •
DISCORDBOT_ADD_GUILD_MEMBER_ROLE- Assign role to member [Optional] - •
DISCORDBOT_DELETE_GUILD_ROLE- Delete a role [Optional] - •
DISCORDBOT_GET_GUILD_MEMBER- Get member details [Optional] - •
DISCORDBOT_UPDATE_GUILD_MEMBER- Update member (roles, nick, etc.) [Optional]
Key parameters:
- •
guild_id: Guild snowflake ID - •
user_id: User snowflake ID - •
role_id: Role snowflake ID - •
name: Role name - •
permissions: Bitwise permission value - •
color: RGB color integer
Pitfalls:
- •Role assignment requires MANAGE_ROLES permission
- •Target role must be lower in hierarchy than bot's highest role
- •DELETE permanently removes the role from all members
4. Manage Webhooks
When to use: User wants to create or use webhooks for external integrations
Tool sequence:
- •
DISCORDBOT_GET_GUILD_WEBHOOKS/DISCORDBOT_LIST_CHANNEL_WEBHOOKS- List webhooks [Optional] - •
DISCORDBOT_CREATE_WEBHOOK- Create a new webhook [Optional] - •
DISCORDBOT_EXECUTE_WEBHOOK- Send message via webhook [Optional] - •
DISCORDBOT_UPDATE_WEBHOOK- Update webhook settings [Optional]
Key parameters:
- •
webhook_id: Webhook ID - •
webhook_token: Webhook secret token - •
channel_id: Channel for webhook creation - •
name: Webhook name - •
content/embeds: Message content for execution
Pitfalls:
- •Webhook tokens are secrets; handle securely
- •Webhooks can post with custom username and avatar per message
- •MANAGE_WEBHOOKS permission required for creation
5. Manage Reactions
When to use: User wants to view or manage message reactions
Tool sequence:
- •
DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI- List users who reacted [Optional] - •
DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS- Remove all reactions [Optional] - •
DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS_BY_EMOJI- Remove specific emoji reactions [Optional] - •
DISCORDBOT_DELETE_USER_MESSAGE_REACTION- Remove specific user's reaction [Optional]
Key parameters:
- •
channel_id: Channel ID - •
message_id: Message snowflake ID - •
emoji_name: URL-encoded emoji orname:idfor custom emojis - •
user_id: User ID for specific reaction removal
Pitfalls:
- •Unicode emojis must be URL-encoded (e.g., '%F0%9F%91%8D' for thumbs up)
- •Custom emojis use
name:idformat - •DELETE_ALL requires MANAGE_MESSAGES permission
Common Patterns
Snowflake IDs
Discord uses snowflake IDs (64-bit integers as strings) for all entities:
- •Guilds, channels, users, roles, messages, webhooks
Permission Bitfields
Permissions are combined using bitwise OR:
- •SEND_MESSAGES =