
Discord
STDIODiscord integration MCP server for AI assistants to interact with Discord platform.
Discord integration MCP server for AI assistants to interact with Discord platform.
A Discord MCP (Model Context Protocol) server that enables AI assistants to interact with the Discord platform.
MCP-Discord provides the following Discord-related functionalities:
Node.js (v16.0.0 or higher)
npm (v7.0.0 or higher)
A Discord bot with appropriate permissions
Permissions required in your Discord server:
Add your Discord bot to your server
INSERT_CLIENT_ID_HERE
with your bot's client ID):
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.
You can use it with the following command:
npx mcp-discord --config ${DISCORD_TOKEN}
For more details, you can check out the NPM Package.
To install mcp-discord automatically via Smithery
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# Clone the repository git clone https://github.com/barryyip0625/mcp-discord.git cd mcp-discord # Install dependencies npm install # Compile TypeScript npm run build
A Discord bot token is required for proper operation. The server supports two transport methods: stdio and streamable HTTP.
stdio (Default)
streamable HTTP
You can provide configuration in two ways:
DISCORD_TOKEN=your_discord_bot_token
# 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"
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" ] } } }
{ "mcpServers": { "discord": { "command": "node", "args": [ "path/to/mcp-discord/build/index.js", "--config", "your_discord_bot_token" ] } } }
{ "mcpServers": { "discord": { "command": "node", "args": [ "path/to/mcp-discord/build/index.js", "--transport", "http", "--port", "3000", "--config", "your_discord_bot_token" ] } } }
{ "mcpServers": { "discord": { "command": "cmd", "args": [ "/c", "node", "path/to/mcp-discord/build/index.js", "--config", "your_discord_bot_token" ] } } }
{ "mcpServers": { "discord": { "command": "cmd", "args": [ "/c", "node", "path/to/mcp-discord/build/index.js", "--transport", "http", "--port", "3000", "--config", "your_discord_bot_token" ] } } }
discord_send
: Send a message to a specified channel (supports both channel ID and channel name)discord_get_server_info
: Get Discord server informationdiscord_create_text_channel
: Create a text channeldiscord_delete_channel
: Delete a channeldiscord_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 postdiscord_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 channeldiscord_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 mode npm run dev