MCP-Discord is a server enabling AI assistants to interact with Discord, offering comprehensive platform management capabilities:
Login & Server Info: Login to Discord and retrieve server information
Channel Management: Send messages, create/delete text channels, read/delete messages
Forum Management: Retrieve forum channels, create/delete/reply to forum posts
Reactions: Add/remove single or multiple reactions to messages
Webhook Management: Create, edit, delete, and use webhooks to send messages
Custom Permissions: Configurable transport methods and permissions for integration
Enables interaction with Discord servers through a bot, providing tools for sending messages, managing channels, creating and managing forum posts, reading channel messages, and adding/removing message reactions.
MCP-Discord
A Discord MCP (Model Context Protocol) server that enables AI assistants to interact with the Discord platform.
Overview
MCP-Discord provides the following Discord-related functionalities:
Login to Discord bot
List servers the bot is a member of
Get server information
Search messages in a server
Read/delete channel messages
Send messages to specified channels (using either channel IDs or channel names)
Retrieve forum channel lists
Create/delete/reply to forum posts
Create/delete text channels
Add/remove message reactions
Create/edit/delete/use webhooks
Related MCP server: MCP Toolkit
Table of Contents
Prerequisites
Node.js (v16.0.0 or higher)
npm (v7.0.0 or higher)
A Discord bot with appropriate permissions
Bot token (obtainable from the Discord Developer Portal)
Message Content Intent enabled
Server Members Intent enabled
Presence Intent enabled
Permissions required in your Discord server:
Easiest Setup
Administrator (Recommended for quick setup and full functionality)
Or, select only the required permissions:
Send Messages
Create Public Threads
Send Messages in Threads
Manage Messages
Manage Threads
Manage Channels
Manage Webhooks
Add Reactions
View Channel
Add your Discord bot to your server
To add your Discord bot to your server, use one of the following invite links (replace
INSERT_CLIENT_ID_HEREwith your bot's client ID):Administrator (full access): https://discord.com/oauth2/authorize?client_id=INSERT_CLIENT_ID_HERE&scope=bot&permissions=8
Custom permissions (minimum required): https://discord.com/oauth2/authorize?client_id=INSERT_CLIENT_ID_HERE&scope=bot&permissions=52076489808
Note:
According to Discord's security model, a bot can only access information from servers it has been explicitly added to.
If you want to use this MCP server to access a specific Discord server, you must add the bot to that server first.
Use the invite link below to add the bot to your target server.
Installation
Installing via NPM
You can use it with the following command:
For more details, you can check out the NPM Package.
Installing via Smithery
To install mcp-discord automatically via Smithery
Installing via Docker
You can run mcp-discord using Docker. The Docker images are automatically built and published to Docker Hub.
Docker Hub Repository: barryy625/mcp-discord
Docker container uses stdio by default.
Alternatively, override the --transport and --port flags to run http on a port of your choosing. In this case, also map the ports.
Available Tags:
latest- Latest stable version from main branchv1.3.3, etc. - Specific version releases
Manual Installation
Configuration
A Discord bot token is required for proper operation. The server supports two transport methods: stdio and streamable HTTP.
Transport Methods
stdio (Default)
Traditional stdio transport for basic usage
Suitable for simple integrations
streamable HTTP
HTTP-based transport for more advanced scenarios
Supports stateless operation
Configurable port number
Configuration Options
You can provide configuration in two ways:
Environment variables:
Using command line arguments:
Usage with Claude/Cursor
Docker
You can use Docker containers with both Claude and Cursor:
Claude
Using stdio transport:
Using streamable HTTP transport:
Cursor
Using stdio transport:
Using streamable HTTP transport:
Tools Documentation
Basic Functions
discord_login: Login to Discord using the configured tokendiscord_list_servers: List all Discord servers the bot is a member ofdiscord_send: Send a message to a specified channel (supports both channel ID and channel name)discord_get_server_info: Get Discord server information
Channel Management
discord_create_text_channel: Create a text channeldiscord_delete_channel: Delete a channel
Forum Functions
discord_get_forum_channels: Get a list of forum channelsdiscord_create_forum_post: Create a forum postdiscord_get_forum_post: Get a forum postdiscord_reply_to_forum: Reply to a forum postdiscord_delete_forum_post: Delete a forum post
Messages and Reactions
discord_search_messages: Search messages in a serverdiscord_read_messages: Read channel messagesdiscord_add_reaction: Add a reaction to a messagediscord_add_multiple_reactions: Add multiple reactions to a messagediscord_remove_reaction: Remove a reaction from a messagediscord_delete_message: Delete a specific message from a channel
Webhook Management
discord_create_webhook: Creates a new webhook for a Discord channeldiscord_send_webhook_message: Sends a message to a Discord channel using a webhookdiscord_edit_webhook: Edits an existing webhook for a Discord channeldiscord_delete_webhook: Deletes an existing webhook for a Discord channel