MCP server for controlling Discord servers via bot token
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
An MCP (Model Context Protocol) server that enables LLMs to control Discord servers via a bot token. This server provides comprehensive Discord management tools including sending messages, managing members, roles, channels, permissions, and more.
discord_list_guilds - List all servers the bot has access todiscord_get_guild - Get detailed info about a specific serverdiscord_edit_guild - Edit server settings (name, verification level, system channels, etc.)discord_leave_guild - Leave a serverdiscord_list_channels - List channels in a server (filter by type)discord_get_channel - Get channel details (includes forum tags for forum channels)discord_create_channel - Create text/voice/forum channels and categoriesdiscord_edit_channel - Edit channel name, topic, position, category, forum tags, and morediscord_delete_channel - Delete a channel or categorytype: "forum"discord_set_channel_permissions - Set permission overrides for roles/members on channelsdiscord_remove_channel_permissions - Remove permission overridesdiscord_get_channel_permissions - View all permission overrides on a channeldiscord_sync_channel_permissions - Sync channel permissions with parent categorydiscord_send_message - Send messages (with optional reply)discord_get_messages - Retrieve channel messages (with pagination)discord_edit_message - Edit bot's messagesdiscord_delete_message - Delete messagesdiscord_add_reaction - Add emoji reactionsdiscord_remove_reaction - Remove bot's reactionsdiscord_pin_message - Pin a messagediscord_unpin_message - Unpin a messagediscord_get_pinned_messages - Get all pinned messagesdiscord_list_members - List server members (with pagination)discord_get_member - Get member detailsdiscord_kick_member - Kick a memberdiscord_ban_member - Ban a member (with message deletion option)discord_unban_member - Unban a userdiscord_set_nickname - Set/clear member nicknamediscord_move_member - Move member to a different voice channeldiscord_timeout_member - Timeout/mute a member (up to 28 days)discord_list_roles - List all server rolesdiscord_create_role - Create a new rolediscord_edit_role - Edit role name, color, permissions, and settingsdiscord_delete_role - Delete a rolediscord_add_role - Assign role to memberdiscord_remove_role - Remove role from memberdiscord_set_role_positions - Reorder role hierarchydiscord_list_bans - List all banned usersdiscord_prune_members - Remove inactive members (with dry-run option)discord_get_audit_log - View audit log entriesdiscord_get_community_settings - View community settings (rules channel, features, etc.)discord_setup_community - Configure community channels (rules, updates, safety alerts)discord_get_welcome_screen - Get welcome screen configurationdiscord_edit_welcome_screen - Edit welcome screen (description, channels, emojis)discord_get_onboarding - Get onboarding configurationdiscord_edit_onboarding - Edit existing onboarding settingsdiscord_setup_onboarding - Setup onboarding from scratch (prompts, default channels, roles)discord_list_automod_rules - List auto moderation rulesdiscord_get_automod_rule - Get details of an auto mod rulediscord_create_automod_rule - Create auto moderation rulediscord_edit_automod_rule - Edit auto moderation rulediscord_delete_automod_rule - Delete auto moderation rulediscord_list_emojis - List custom emojisdiscord_create_emoji - Create emoji from image URLdiscord_delete_emoji - Delete a custom emojidiscord_list_stickers - List custom stickersdiscord_delete_sticker - Delete a custom stickerdiscord_list_invites - List active invitesdiscord_create_invite - Create channel invitediscord_delete_invite - Delete an invitediscord_list_webhooks - List webhooks (guild or channel)discord_create_webhook - Create a webhookdiscord_edit_webhook - Edit webhook name or channeldiscord_delete_webhook - Delete a webhookdiscord_list_events - List scheduled eventsdiscord_create_event - Create a scheduled event (stage, voice, or external)discord_delete_event - Delete a scheduled eventGo to OAuth2 -> URL Generator
Select scopes: bot, applications.commands
Select bot permissions (choose based on features you need):
Core Permissions:
Member Management:
Server Administration:
Copy the generated URL and open it to invite the bot
Option A: Install globally from npm
Option B: Run directly with npx (no install required)
Add to your MCP client configuration (e.g., Claude Desktop or Claude Code):
Using globally installed package:
Using npx (no install required):
The server supports loading environment variables from a .env file in the current directory:
| Variable | Description | Default |
|---|---|---|
DISCORD_BOT_TOKEN | Your Discord bot token (required) | - |
TRANSPORT | Transport mode: stdio or http | stdio |
PORT | HTTP server port (when using http transport) | 3000 |
HOST | HTTP server host (use 0.0.0.0 for remote access) | localhost |
For remote access, run the server with HTTP transport enabled:
Linux/macOS:
Windows (Command Prompt):
Windows (PowerShell):
Or use a .env file (works on all platforms):
Then configure your MCP client to connect via HTTP:
View & Access:
ViewChannel - See the channelMessages:
SendMessages, ReadMessageHistory, ManageMessagesEmbedLinks, AttachFiles, AddReactionsUseExternalEmojis, UseExternalStickersMentionEveryoneThreads:
CreatePublicThreads, CreatePrivateThreadsSendMessagesInThreads, ManageThreadsVoice:
Connect, Speak, StreamMuteMembers, DeafenMembers, MoveMembersUseVAD, PrioritySpeakerManagement:
ManageChannels, ManageRoles, ManageWebhooksMost read operations support two response formats:
All tools return clear error messages with suggestions when operations fail:
destructiveHint: trueDepending on which tools you use, your bot needs these permissions:
| Tool Category | Required Permissions |
|---|---|
| Messages | Send Messages, Read Message History, Manage Messages |
| Channels | Manage Channels |
| Permissions | Manage Roles (for channel permission overrides) |
| Members | Kick Members, Ban Members, Manage Nicknames, Moderate Members |
| Roles | Manage Roles |
| Reactions | Add Reactions |
| Server Settings | Manage Guild |
| Emojis/Stickers | Manage Emojis and Stickers |
| Invites | Create Instant Invite, Manage Guild |
| Webhooks | Manage Webhooks |
| Events | Manage Events |
| Audit Log | View Audit Log |
| Community/Onboarding | Manage Guild |
When editing roles, use these permission names:
General:
Administrator - Full access (use with caution)ManageGuild, ManageRoles, ManageChannelsKickMembers, BanMembers, ModerateMembersViewAuditLog, ViewGuildInsightsMessages:
SendMessages, ManageMessages, ReadMessageHistoryEmbedLinks, AttachFiles, AddReactionsMentionEveryone, UseExternalEmojisVoice:
Connect, Speak, StreamMuteMembers, DeafenMembers, MoveMembersOther:
ManageWebhooks, ManageEmojisAndStickersManageEvents, CreateEventsMIT
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/discord-node-mcp)<a href="https://allmcps.com/mcp/discord-node-mcp"><img src="https://allmcps.com/api/badge/discord-node-mcp?style=directory" alt="Discord Node Mcp on AllMCPs" /></a>