Automate Discord tasks via Rube MCP (Composio): messages, channels, roles, webhooks, reactions. Always search tools first for current schemas.
Install with Tessl CLI
npx tessl i github:Lingjie-chen/MT5 --skill discord-automation71
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Automate Discord operations through Composio's Discord/Discordbot toolkits via Rube MCP.
Toolkit docs: composio.dev/toolkits/discord
RUBE_MANAGE_CONNECTIONS with toolkits discord and discordbotRUBE_SEARCH_TOOLS first to get current tool schemasGet 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.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit discordbot (bot operations) or discord (user operations)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 IDcontent: Message text (max 2000 characters)embeds: Array of embed objects for rich contentguild_id: Guild ID for channel listingPitfalls:
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 DMchannel_id: DM channel ID from CREATE_DMPitfalls:
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 IDuser_id: User snowflake IDrole_id: Role snowflake IDname: Role namepermissions: Bitwise permission valuecolor: RGB color integerPitfalls:
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 IDwebhook_token: Webhook secret tokenchannel_id: Channel for webhook creationname: Webhook namecontent/embeds: Message content for executionPitfalls:
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 IDmessage_id: Message snowflake IDemoji_name: URL-encoded emoji or name:id for custom emojisuser_id: User ID for specific reaction removalPitfalls:
name:id formatDiscord uses snowflake IDs (64-bit integers as strings) for all entities:
Permissions are combined using bitwise OR:
limit, before, after parametersafter for paginationBot vs User Tokens:
discordbot toolkit uses bot tokens; discord uses user OAuthRate Limits:
Retry-After headers on 429 responses| Task | Tool Slug | Key Params |
|---|---|---|
| List guilds | DISCORD_LIST_MY_GUILDS | (none) |
| List channels | DISCORDBOT_LIST_GUILD_CHANNELS | guild_id |
| Send message | DISCORDBOT_CREATE_MESSAGE | channel_id, content |
| Edit message | DISCORDBOT_UPDATE_MESSAGE | channel_id, message_id |
| Get messages | DISCORDBOT_LIST_MESSAGES | channel_id, limit |
| Create DM | DISCORDBOT_CREATE_DM | recipient_id |
| Create role | DISCORDBOT_CREATE_GUILD_ROLE | guild_id, name |
| Assign role | DISCORDBOT_ADD_GUILD_MEMBER_ROLE | guild_id, user_id, role_id |
| Delete role | DISCORDBOT_DELETE_GUILD_ROLE | guild_id, role_id |
| Get member | DISCORDBOT_GET_GUILD_MEMBER | guild_id, user_id |
| Update member | DISCORDBOT_UPDATE_GUILD_MEMBER | guild_id, user_id |
| Get guild | DISCORDBOT_GET_GUILD | guild_id |
| Create webhook | DISCORDBOT_CREATE_WEBHOOK | channel_id, name |
| Execute webhook | DISCORDBOT_EXECUTE_WEBHOOK | webhook_id, webhook_token |
| List webhooks | DISCORDBOT_GET_GUILD_WEBHOOKS | guild_id |
| Get reactions | DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI | channel_id, message_id, emoji_name |
| Clear reactions | DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS | channel_id, message_id |
| Test auth | DISCORDBOT_TEST_AUTH | (none) |
| Get channel | DISCORDBOT_GET_CHANNEL | channel_id |
Powered by Composio
f0d513a
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.