API Reference
Discord MCP provides a comprehensive set of tools for interacting with the Discord API through the Model Context Protocol.
Core Tools
These tools are always available:
Message Management
discord.post_message
- Send a message to a channeldiscord.fetch_messages
- Retrieve messages from a channeldiscord.reply
- Reply to a specific messagediscord.add_reaction
- Add a reaction to a messagediscord.remove_reaction
- Remove a reaction from a message
Channel Operations
discord.list_channels
- List all channels in accessible guildsdiscord.create_thread
- Create a new thread in a channel
User Interactions
discord.get_user
- Get user informationdiscord.dm_user
- Send a direct message to a user
Admin Pack Tools
Enable with PACK_ADMIN=1
:
Guild Management
discord.list_bans
- List banned users in a guilddiscord.ban_user
- Ban a user from a guilddiscord.unban_user
- Unban a user from a guild
Role Management
discord.list_roles
- List all roles in a guilddiscord.create_role
- Create a new rolediscord.delete_role
- Delete a rolediscord.add_role
- Add a role to a memberdiscord.remove_role
- Remove a role from a member
Channel Administration
discord.create_channel
- Create a new channeldiscord.edit_channel
- Edit channel propertiesdiscord.delete_channel
- Delete a channel
Media Pack Tools
Enable with PACK_MEDIA=1
:
discord.post_message_with_files
- Send messages with file attachmentsdiscord.list_emojis
- List custom emojis in a guilddiscord.create_emoji
- Create a custom emojidiscord.delete_emoji
- Delete a custom emoji
Community Pack Tools
Enable with PACK_COMMUNITY=1
:
discord.list_scheduled_events
- List guild scheduled eventsdiscord.create_scheduled_event
- Create a scheduled eventdiscord.delete_scheduled_event
- Delete a scheduled event
Gateway Tools
Real-time event handling:
discord.gateway_subscribe
- Subscribe to specific event typesdiscord.gateway_get
- Retrieve queued eventsdiscord.gateway_info
- Get gateway connection status
Tool Response Format
All tools return responses in a consistent format:
typescript
{
content: Array<{
type: 'text' | 'json';
text: string;
}>
}
For detailed parameter information for each tool, use the discord.help
tool:
discord.help({ tool_name: "discord.post_message" })