Discord MCP Server
Provides secure access to Discord's REST API and Gateway events, enabling 120+ tools for message management, user/guild info retrieval, channel operations, rich content creation, live event subscriptions, and moderation actions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Discord MCP Serversend a message to the announcements channel saying our meeting starts in 10 minutes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Discord MCP Server
A Model Context Protocol server that provides AI agents with secure access to Discord's REST API and Gateway events.
Features
🔧 120+ Discord API Tools - Complete coverage of Discord's REST API
🔒 Security First - Guild/channel allowlists, safe defaults, no accidental mentions
⚡ Real-time Events - Gateway integration for live Discord activity
🎯 Smart Routing - Auto-generated tools from declarative API catalog
📦 Modular Packs - Enable only the functionality you need
Related MCP server: discord-mcp
Quick Start
# Clone and install
git clone https://github.com/GustyCube/discord-mcp
cd discord-mcp
npm install
# Configure your bot
cp .env.example .env
# Add your DISCORD_BOT_TOKEN and other settings
# Build and run
npm run build
npm startDocumentation
📖 Complete documentation available at discord-mcp.gustycube.com
Quick Links
Example: Claude Desktop Integration
Add to your mcp.json:
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["/path/to/discord-mcp/dist/index.js"],
"env": {
"DISCORD_BOT_TOKEN": "your_bot_token_here",
"ALLOW_GUILD_IDS": "123456789,987654321",
"ALLOW_CHANNEL_IDS": "111111111,222222222"
}
}
}
}What You Can Do
📝 Message Management - Send, edit, delete messages and reactions
👥 User & Guild Info - Get user profiles, guild details, member lists
🔊 Channel Operations - List channels, manage permissions, create threads
🎭 Rich Content - Send embeds, manage webhooks, upload files
⚡ Live Events - Subscribe to message events, member joins, etc.
🛡️ Moderation - Manage bans, kicks, roles (with appropriate permissions)
Contributing
See the full documentation for development setup, API reference, and contribution guidelines.
License
MIT License - see LICENSE file for details.
Available Tools
19 toolsdiscord_add_friendB
Send a friend request to a user
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
discord_add_reactionC
Add a reaction to a message
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | The Discord channel ID | |
| messageId | Yes | The message ID to react to | |
| emoji | Yes | Emoji to react with (Unicode or custom emoji format) |
discord_cleanup_downloadC
Clean up a previously downloaded Discord attachment file
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | File path to clean up |
discord_clear_presenceB
Clear your Discord presence/activity
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
discord_create_dmC
Create or get existing DM channel with a user
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | The user ID to create DM with |
discord_delete_messageC
Delete a message
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | The Discord channel ID | |
| messageId | Yes | The message ID to delete |
discord_download_attachmentB
Download a Discord attachment and return it as MCP file reference
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Discord CDN URL of the attachment to download |
discord_edit_messageC
Edit a previously sent message
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | The Discord channel ID | |
| messageId | Yes | The message ID to edit | |
| content | Yes | New message content |
discord_get_channelB
Get information about a Discord channel
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | The Discord channel ID |
discord_get_dm_channelsB
Get list of DM channels for the current user
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
discord_get_friendsB
Get list of friends for the current user
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
discord_get_messageB
Get a specific message by ID with full attachment details
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | The Discord channel ID | |
| messageId | Yes | The message ID to retrieve |
discord_get_message_historyC
Get message history from a Discord channel with optional filtering
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | The Discord channel ID | |
| limit | No | Number of messages to retrieve (1-100, default: 50) | |
| before | No | Get messages before this message ID | |
| after | No | Get messages after this message ID | |
| around | No | Get messages around this message ID |
discord_list_attachmentsC
List all attachments in a Discord channel from recent messages
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | The Discord channel ID | |
| limit | No | Number of messages to scan for attachments (default: 50) | |
| imageOnly | No | Only show image attachments | |
| minSize | No | Minimum file size in KB | |
| maxSize | No | Maximum file size in KB |
discord_remove_friendC
Remove a friend or cancel a friend request
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | User ID to remove as friend |
discord_remove_reactionC
Remove a reaction from a message
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | The Discord channel ID | |
| messageId | Yes | The message ID to remove reaction from | |
| emoji | Yes | Emoji to remove (Unicode or custom emoji format) | |
| userId | No | User ID to remove reaction from (defaults to self) |
discord_search_messagesC
Search for messages in a Discord channel with text query and filters
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | The Discord channel ID | |
| query | Yes | Text to search for in messages | |
| limit | No | Number of results to return (1-25, default: 25) | |
| authorId | No | Filter by author user ID | |
| hasAttachments | No | Filter messages that have attachments | |
| hasImages | No | Filter messages that have images | |
| hasFiles | No | Filter messages that have files | |
| before | No | Search messages before this date (ISO format) | |
| after | No | Search messages after this date (ISO format) |
discord_send_messageC
Send a message to a Discord channel, optionally with up to 10 files
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | The Discord channel ID | |
| content | No | Message content (max 2000 characters) | |
| files | No | Files to attach to the message | |
| tts | No | Send as text-to-speech message | |
| replyTo | No | Message ID to reply to |
discord_update_presenceB
Update your Discord presence/status
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Your status (online, dnd, idle, invisible, offline) | |
| activity | No | Activity to display | |
| afk | No | Whether you are AFK |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- Changed
discord_clear_presence1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
discord_get_dm_channels1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
discord_get_friends1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
19 tool updates
- First observed
discord_add_friend - First observed
discord_add_reaction - First observed
discord_cleanup_download - First observed
discord_clear_presence - First observed
discord_create_dm - First observed
discord_delete_message - First observed
discord_download_attachment - First observed
discord_edit_message - First observed
discord_get_channel - First observed
discord_get_dm_channels - First observed
discord_get_friends - First observed
discord_get_message - First observed
discord_get_message_history - First observed
discord_list_attachments - First observed
discord_remove_friend - First observed
discord_remove_reaction - First observed
discord_search_messages - First observed
discord_send_message - First observed
discord_update_presence
TDQS
Scored across 19 tools
Each tool has a clearly distinct purpose with no ambiguity, as they target specific Discord actions like friend management, message handling, channel operations, and presence updates. The descriptions clearly differentiate between similar actions, such as discord_add_friend vs discord_remove_friend or discord_send_message vs discord_edit_message, ensuring agents can easily select the correct tool.
All tool names follow a consistent verb_noun pattern with the prefix 'discord_', such as discord_add_friend, discord_edit_message, and discord_get_channel. This uniformity makes the tools predictable and easy to understand, with no deviations in naming conventions across the set.
With 19 tools, the server is well-scoped for Discord interactions, covering a comprehensive range of actions from messaging and reactions to friend management and presence updates. Each tool earns its place by addressing specific needs without redundancy, making the count appropriate for the domain.
The tool set provides complete coverage for Discord operations, including CRUD actions for messages (send, edit, delete, get), friends (add, remove, list), channels (get, DM creation), and presence (update, clear). There are no obvious gaps, as it supports core workflows like attachment handling, message history, and search, ensuring agents can perform all essential tasks.
Related MCP Connectors
An MCP server that integrates with Discord to provide AI-powered features.
The official MCP Server for the Mux API
An MCP server for deep research or task groups
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for interacting with Discord via REST API, enabling guild, channel, and message operations using a bot token.7MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Discord communications, enabling listing guilds and channels, reading and sending messages, creating threads, and adding reactions.MIT
- AlicenseBqualityDmaintenanceEnables MCP clients to interact with Discord servers, allowing operations such as sending messages and reading message history through the Discord API.23203 npmMIT
- AlicenseAqualityDmaintenanceAn MCP server for Discord that enables AI assistants to interact with Discord servers, channels, and messages via the Discord API.67 npmMIT