About Danushkumar-V-mcp-discord
MCP-Discord lets AI assistants interact with Discord through bot-based tools. It supports message and channel operations, forum posts, reactions, and webhooks, with stdio and streamable HTTP transports.
Key features
- 01Send and read channel messages
- 02Manage text channels
- 03Create and manage forum posts
- 04Add or remove reactions
- 05Manage webhooks
Use cases
- 01Send messages to a Discord channel
- 02Review or delete channel messages
- 03Create and reply to forum posts
- 04Manage channel webhooks
MCP support
This MCP server exposes Discord bot operations as tools for MCP clients. It supports stdio and streamable HTTP transports.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://server.smithery.ai/@Danushkumar-V/mcp-discord/mcpclaude mcp add --transport http ai-smithery-danushkumar-v-mcp-discord https://server.smithery.ai/@Danushkumar-V/mcp-discord/mcp{"mcpServers":{"ai-smithery-danushkumar-v-mcp-discord":{"type":"http","url":"https://server.smithery.ai/@Danushkumar-V/mcp-discord/mcp"}}}Open in Cursor{"servers":{"ai-smithery-danushkumar-v-mcp-discord":{"type":"http","url":"https://server.smithery.ai/@Danushkumar-V/mcp-discord/mcp"}}}Open in VS Code{"mcpServers":{"ai-smithery-danushkumar-v-mcp-discord":{"type":"http","url":"https://server.smithery.ai/@Danushkumar-V/mcp-discord/mcp"}}}{"mcpServers":{"ai-smithery-danushkumar-v-mcp-discord":{"serverUrl":"https://server.smithery.ai/@Danushkumar-V/mcp-discord/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://server.smithery.ai/@Danushkumar-V/mcp-discord/mcpAuth requiredTools
Details
From the project READMEMCP-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
- Get server information
- 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
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
- To add your Discord bot to your server, use one of the following invite links (replace
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:
npx mcp-discord --config ${DISCORD_TOKEN}
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
# Pull the latest image
docker pull barryy625/mcp-discord:latest
# Run with environment variable
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 8080:8080 barryy625/mcp-discord:latest
# Or run with command line config
docker run -p 8080:8080 barryy625/mcp-discord:latest --config "your_discord_bot_token"
Available Tags:
latest- Latest stable version from main branchv1.3.3, etc. - Specific version releases
Manual Installation
# Clone the repository
git clone https://github.com/barryyip0625/mcp-discord.git
cd mcp-discord
# Install dependencies
npm install
# Compile TypeScript
npm run build
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:
DISCORD_TOKEN=your_discord_bot_token
- Using command line arguments:
# For stdio transport (default)
node build/index.js --config "your_discord_bot_token"
# For streamable HTTP transport
node build/index.js --transport http --port 3000 --config "your_discord_bot_token"
Usage with Claude/Cursor
Docker
You can use Docker containers with both Claude and Cursor:
{
"mcpServers": {
"discord": {
"command": "docker",
"args": [
"run",
"--rm",
"-e",
"DISCORD_TOKEN=your_discord_bot_token",
"-p",
"8080:8080",
"barryy625/mcp-discord:latest",
"--transport",
"http",
"--port",
"8080"
]
}
}
}
Claude
- Using stdio transport:
{
"mcpServers": {
"discord": {
"command": "node",
"args": [
"path/to/mcp-discord/build/index.js",
"--config",
"your_discord_bot_token"
]
}
}
}
- Using streamable HTTP transport:
{
"mcpServers": {
"discord": {
"command": "node",
"args": [
"path/to/mcp-discord/build/index.js",
"--transport",
"http",
"--port",
"3000",
"--config",
"your_discord_bot_token"
]
}
}
}
Cursor
- Using stdio transport:
{
"mcpServers": {
"discord": {
"command": "cmd",
"args": [
"/c",
"node",
"path/to/mcp-discord/build/index.js",
"--config",
"your_discord_bot_token"
]
}
}
}
- Using streamable HTTP transport:
{
"mcpServers": {
"discord": {
"command": "cmd",
"args": [
"/c",
"node",
"path/to/mcp-discord/build/index.js",
"--transport",
"http",
"--port",
"3000",
"--config",
"your_discord_bot_token"
]
}
}
}
Tools Documentation
Basic Functions
discord_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_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
Development
# Development mode
npm run dev
License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.