Discord Management MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Stderr log level: error, warn, info, or debug; logs are JSON lines | info |
| BACKUP_DIR | No | Relative directory for local JSON backups; it must stay inside the project directory | backups |
| DISCORD_TOKEN | Yes | Discord bot token from Developer Portal > Bot > Token | |
| ENABLE_GUILD_MEMBERS | No | Enables the Guild Members gateway intent for workflows that require it | false |
| ENABLE_MESSAGE_CONTENT | No | Enables message-content tools and requires the Discord Message Content intent | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| discord_list_guildsA | List Discord guilds visible to the configured bot. |
| discord_get_guildC | Get Discord guild metadata. |
| discord_list_channelsB | List channels in a Discord guild. |
| discord_get_channelC | Get Discord channel metadata. |
| discord_list_channel_messagesB | List recent messages from a text-based channel. Requires ENABLE_MESSAGE_CONTENT=true and the Discord Message Content privileged intent. |
| discord_list_rolesC | List roles in a Discord guild. |
| discord_get_roleC | Get Discord role metadata. |
| discord_list_membersC | List guild members, capped at 1000. |
| discord_list_automod_rulesB | List AutoMod rules in a Discord guild. |
| discord_list_scheduled_eventsC | List scheduled events in a Discord guild. |
| discord_list_webhooksA | List webhooks in a Discord guild without exposing tokens. |
| discord_list_invitesA | List non-secret invite metadata in a Discord guild; invite codes and URLs are omitted. |
| discord_list_emojisC | List emojis in a Discord guild. |
| discord_list_stickersC | List stickers in a Discord guild. |
| discord_list_application_commandsC | List guild application commands. |
| discord_list_audit_logB | Read recent Discord audit log entries. Requires the View Audit Log permission for the bot. |
| discord_search_membersA | Search guild members by username or nickname. Requires ENABLE_GUILD_MEMBERS=true and the Guild Members privileged intent. |
| discord_backup_createA | Capture the current Discord guild configuration as a JSON backup snapshot. |
| discord_backup_listA | List stored Discord backup snapshot IDs, newest first. |
| discord_backup_readA | Validate a stored Discord backup and return sanitized metadata without exposing its payload. |
| discord_backup_diffA | Compare roles and channels between two stored backup snapshots. |
| discord_backup_restore_planA | Create a non-mutating restore plan that compares the live guild to a stored backup and includes a stable planHash. |
| discord_backup_restore_applyA | Conservatively apply role/channel create/update operations from a backup. Creates a pre-restore backup first, rejects an expectedPlanHash mismatch before mutating, and deletes require includeDeletes: true. |
| discord_create_channelC | Create a text, voice, category, forum, or stage channel. |
| discord_update_channelC | Update editable properties on a Discord guild channel, including voice bitrate, user limit, and RTC region. |
| discord_delete_channelB | Delete a Discord guild channel after confirmation and backup acknowledgement. |
| discord_set_channel_permissionsC | Set explicit channel permission overwrites for a role or member. |
| discord_reorder_channelsC | Set channel positions within a guild. |
| discord_set_voice_channel_statusB | Set or clear the status text shown on a voice channel. Uses the Discord REST voice-status endpoint and requires the bot to be allowed to manage the channel. |
| discord_create_roleC | Create a Discord role, optionally with primary/secondary/tertiary gradient colors. |
| discord_update_roleC | Update editable Discord role fields, including gradient colors. |
| discord_delete_roleA | Delete a Discord role after confirmation and backup acknowledgement. |
| discord_assign_roleC | Assign a role to a guild member. |
| discord_remove_roleC | Remove a role from a guild member. |
| discord_reorder_rolesC | Set role positions within a guild. |
| discord_list_role_member_countsB | List how many guild members currently hold each role. |
| discord_timeout_memberC | Timeout a guild member for the requested duration in seconds. |
| discord_kick_memberA | Kick a guild member. Requires confirmation and either a backupId or allowWithoutBackup. |
| discord_ban_memberB | Ban a guild member. Requires confirmation and either a backupId or allowWithoutBackup. |
| discord_unban_memberC | Remove a guild ban for a user. |
| discord_bulk_delete_messagesA | Bulk delete messages by count or explicit message IDs. Requires confirmation and backup acknowledgement. |
| discord_create_automod_ruleC | Create a Discord AutoMod rule with JSON trigger metadata and actions. |
| discord_update_automod_ruleC | Update a Discord AutoMod rule with JSON trigger metadata and actions. |
| discord_delete_automod_ruleC | Delete a Discord AutoMod rule. |
| discord_create_scheduled_eventB | Create a Discord scheduled event. Use channelId for voice/stage events or location for external events. |
| discord_update_scheduled_eventD | Update a Discord scheduled event. |
| discord_delete_scheduled_eventC | Delete a Discord scheduled event. |
| discord_list_bansB | List guild bans with pagination. Requires the Ban Members permission. |
| discord_bulk_ban_membersA | Ban up to 200 users in one Discord request. Requires confirmation and either a backupId or allowWithoutBackup. |
| discord_update_guild_settingsA | Update basic guild settings such as name, description, moderation levels, locale, and AFK timeout. Requires a backupId or allowWithoutBackup. |
| discord_create_inviteC | Create an invite for a channel without returning its secret code or URL. |
| discord_create_webhookC | Create a webhook in a text-capable guild channel. |
| discord_delete_webhookA | Delete a webhook by ID. Requires confirmation and either a backupId or allowWithoutBackup. |
| discord_set_incident_actionsA | Temporarily disable guild invites and/or DMs during a raid or incident. Emergency action: no backup is required, each window is capped at 24 hours, and null re-enables immediately. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
This server cannot be deployed
TDQS
Scored across 54 tools
Most tools target clearly distinct resources and actions, especially the CRUD families for channels, roles, events, webhooks, and AutoMod. A few boundaries are less crisp, such as backup/restore-plan/apply versus general guild settings mutation, but descriptions generally guide selection correctly.
Tool names consistently use the discord_ prefix followed by a snake_case verb_noun pattern. Variants like bulk_delete, backup_restore_plan, and set_voice_channel_status remain predictable and readable within the same convention.
With 54 tools, the surface is very large for a single MCP server and exceeds the range where an agent can comfortably scan and select tools. Many administrative operations could likely be grouped into fewer parameterized tools.
The server covers a broad Discord admin surface: guilds, channels, roles, members, moderation, AutoMod, scheduled events, webhooks, invites, audit logs, and backups. Notable gaps remain around message sending/editing, webhook updates, invite deletion, and application command management.