
Discord Node Mcp
io.github.OratorianPublished by GitHub account Oratorianv1.1.4Updated Oct 24, 2026
MCP server for controlling Discord servers via bot token
Overview
A local MCP server that lets an assistant administer Discord servers through a bot token: channels, roles, members, messages, moderation and community settings.
- What you can do
- List and inspect servers, channels, members, roles, invites, webhooks, emojis, stickers, scheduled events and audit logs, with JSON or markdown output for reads. Create, edit and delete channels, categories, forum tags, roles, invites, webhooks, emojis, stickers and events. Send, edit, delete, pin and react to messages, and read message history. Moderate members: kick, ban, unban, timeout, set nicknames, move between voice channels and prune inactive members. Manage channel permission overrides, role hierarchy, auto moderation rules, community settings, welcome screen and onboarding.
- When to use it
- Useful when you want an assistant to run routine Discord server administration or moderation from chat: setting up channels and roles, posting and cleaning up messages, or configuring community and onboarding features. Best for servers where you control the bot and are comfortable with broad write access.
- Requirements
- Runs locally as an npm package (Node.js), via global install or npx, over stdio by default; an HTTP transport can be enabled with TRANSPORT, HOST and PORT. Requires a Discord bot token in DISCORD_BOT_TOKEN, a bot created in the Discord Developer Portal with the Server Members and Message Content privileged intents, invited to the target server with the permissions the tools need.
Installation
In SourceWeft
- Open Discord Node Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Discord MCP Server
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.
Features
Guild/Server Management
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 server
Channel Management
discord_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 category
Forum Channel Features
- Create forum channels with
type: "forum" - Set default reaction emoji, sort order, and layout
- Manage forum tags (create, edit, delete)
- Tags support custom emojis and moderation settings
Permission Management
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 category
Message Operations
discord_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 messages
Member Management
discord_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)
Role Management
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 hierarchy
Server Administration
discord_list_bans- List all banned usersdiscord_prune_members- Remove inactive members (with dry-run option)discord_get_audit_log- View audit log entries
Community Features
discord_get_community_settings- View community settings (rules channel, features, etc.)discord_setup_community- Configure community channels (rules, updates, safety alerts)
Welcome Screen
discord_get_welcome_screen- Get welcome screen configurationdiscord_edit_welcome_screen- Edit welcome screen (description, channels, emojis)
Onboarding
discord_get_onboarding- Get onboarding configurationdiscord_edit_onboarding- Edit existing onboarding settingsdiscord_setup_onboarding- Setup onboarding from scratch (prompts, default channels, roles)
Auto Moderation
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 rule
Emoji Management
discord_list_emojis- List custom emojisdiscord_create_emoji- Create emoji from image URLdiscord_delete_emoji- Delete a custom emoji
Sticker Management
discord_list_stickers- List custom stickersdiscord_delete_sticker- Delete a custom sticker
Invite Management
discord_list_invites- List active invitesdiscord_create_invite- Create channel invitediscord_delete_invite- Delete an invite
Webhook Management
discord_list_webhooks- List webhooks (guild or channel)discord_create_webhook- Create a webhookdiscord_edit_webhook- Edit webhook name or channeldiscord_delete_webhook- Delete a webhook
Scheduled Events
discord_list_events- List scheduled eventsdiscord_create_event- Create a scheduled event (stage, voice, or external)discord_delete_event- Delete a scheduled event
Setup
1. Create a Discord Bot
- Go to the Discord Developer Portal
- Click "New Application" and give it a name
- Go to the "Bot" section and click "Add Bot"
- Copy the bot token (keep this secret!)
- Enable these Privileged Gateway Intents:
- Server Members Intent
- Message Content Intent
2. Invite the Bot to Your Server
-
Go to OAuth2 -> URL Generator
-
Select scopes:
bot,applications.commands -
Select bot permissions (choose based on features you need):
Core Permissions:
- Manage Channels
- Manage Roles
- Manage Messages
- Read Message History
- Send Messages
- Add Reactions
Member Management:
- Kick Members
- Ban Members
- Manage Nicknames
- Moderate Members (for timeouts)
Server Administration:
- Manage Guild (for server settings)
- View Audit Log
- Manage Emojis and Stickers
- Manage Webhooks
- Manage Events
- Create Instant Invite
-
Copy the generated URL and open it to invite the bot
3. Install the MCP Server
Option A: Install globally from npm
Option B: Run directly with npx (no install required)
Usage
MCP Client Configuration
Add to your MCP client configuration (e.g., Claude Desktop or Claude Code):
Using globally installed package:
Using npx (no install required):
Environment Variables
The server supports loading environment variables from a .env file in the current directory:
HTTP Transport
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:
Tool Examples
Create a Forum Channel with Tags
Setup Server Onboarding
Configure Community Settings
Edit Welcome Screen
Create a Category
Create a Channel in a Category
Set Channel Permissions
Common Permission Names
View & Access:
ViewChannel- See the channel
Messages:
SendMessages,ReadMessageHistory,ManageMessagesEmbedLinks,AttachFiles,AddReactionsUseExternalEmojis,UseExternalStickersMentionEveryone
Threads:
CreatePublicThreads,CreatePrivateThreadsSendMessagesInThreads,ManageThreads
Voice:
Connect,Speak,StreamMuteMembers,DeafenMembers,MoveMembersUseVAD,PrioritySpeaker
Management:
ManageChannels,ManageRoles,ManageWebhooks
Send a Message
Assign a Role
Response Formats
Most read operations support two response formats:
- json (default): Structured data for programmatic processing
- markdown: Human-readable formatted output
Error Handling
All tools return clear error messages with suggestions when operations fail:
- Missing permissions
- Invalid IDs (guild, channel, user, role, message)
- Rate limiting
- Network issues
Security Notes
- Never commit your bot token - use environment variables
- The bot can only operate in servers it's been invited to
- Destructive operations (delete, kick, ban) are marked with
destructiveHint: true - All inputs are validated with Zod schemas
Required Bot Permissions
Depending on which tools you use, your bot needs these permissions:
Tool Examples
Edit Role Permissions
Reorder Role Hierarchy
Timeout a Member
Create an Invite
Create a Scheduled Event
Role Permission Names
When editing roles, use these permission names:
General:
Administrator- Full access (use with caution)ManageGuild,ManageRoles,ManageChannelsKickMembers,BanMembers,ModerateMembersViewAuditLog,ViewGuildInsights
Messages:
SendMessages,ManageMessages,ReadMessageHistoryEmbedLinks,AttachFiles,AddReactionsMentionEveryone,UseExternalEmojis
Voice:
Connect,Speak,StreamMuteMembers,DeafenMembers,MoveMembers
Other:
ManageWebhooks,ManageEmojisAndStickersManageEvents,CreateEvents
License
MIT
Source: README.md at commit 06847bb
Tools
0Version history
1- v1.1.4LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts