better-discord-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DISCORD_MCP_PORT | No | Port for the WebSocket server (must match plugin port) | 6473 |
| DISCORD_MCP_TIMEOUT | No | Timeout in milliseconds for requests | 15000 |
| DISCORD_MCP_REQUIRE_CONFIRM | No | Set to 'false' to disable confirmation requirement for destructive tools | true |
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_statusA | Check whether the BetterDiscord plugin bridge is connected. |
| discord_get_contextA | Get the currently selected guild, channel, and the logged-in user. |
| discord_get_guildsA | List all guilds (servers) the user is in. |
| discord_get_channelsA | List channels in a guild. |
| discord_get_messagesA | Read messages from a channel. Use before/after/around (message IDs) to page through history beyond the latest 100. |
| discord_send_messageC | Send a message to a channel. |
| discord_edit_messageA | Edit one of your own messages. |
| discord_search_messagesC | Search messages in a guild (set guildId) or a DM/channel (set channelId). |
| discord_add_reactionB | Add a reaction. Use a unicode emoji (e.g. 👍) or custom as name:id. |
| discord_remove_reactionC | Remove your reaction from a message. |
| discord_trigger_typingC | Show the typing indicator in a channel. |
| discord_open_dmB | Open (or fetch) a DM channel with a user; returns the channelId. |
| discord_get_dmsA | List your open DM and group-DM channels. |
| discord_get_rolesC | List a guild's roles. |
| discord_add_roleB | Add a role to a member (requires Manage Roles). |
| discord_remove_roleC | Remove a role from a member (requires Manage Roles). |
| discord_delete_messageB | Delete a message in a channel. |
| discord_purge_messagesA | Bulk-delete recent messages in a channel (optionally only from one user). Only affects messages newer than 14 days; requires Manage Messages. |
| discord_get_userB | Get info about a user by ID (optionally as a guild member). |
| discord_ban_userA | Ban a user from a guild (requires your account to have Ban Members). |
| discord_kick_userC | Kick a user from a guild (requires Kick Members). |
| discord_timeout_userC | Time out (mute) a guild member for a duration in seconds. Pass 0 to remove the timeout. |
| discord_create_channelB | Create a channel or category in a guild. type: 0=text, 2=voice, 4=category, 5=announcement, 13=stage, 15=forum. Put a channel under a category with parentId. |
| discord_edit_channelC | Edit a channel/category (name, topic, parent/category, position, slowmode, nsfw, voice bitrate/limit). |
| discord_delete_channelA | Delete a channel or category (deleting a category does NOT delete its channels). |
| discord_create_roleC | Create a role. permissions is a permission bitfield as a string. |
| discord_edit_roleB | Edit a role's name/permissions/color/hoist/mentionable. |
| discord_delete_roleC | Delete a role from a guild. |
| discord_pin_messageC | Pin a message. |
| discord_unpin_messageC | Unpin a message. |
| discord_get_pinnedB | List pinned messages in a channel. |
| discord_create_threadC | Create a thread. Pass messageId to thread off a message, otherwise a standalone thread in the channel. |
| discord_edit_threadC | Archive/unarchive, lock/unlock, or rename a thread. |
| discord_create_inviteB | Create an invite link for a channel. |
| discord_get_invitesC | List a guild's invites. |
| discord_delete_inviteC | Revoke an invite by code. |
| discord_search_membersC | Search guild members by username/nickname prefix. |
| discord_set_nicknameA | Set a member's nickname (omit userId to set your own). Pass empty/no nickname to clear. |
| discord_move_member_voiceA | Move a member to another voice channel (they must already be connected). Omit channelId to disconnect. |
| discord_list_emojisC | List a guild's custom emojis. |
| discord_create_emojiB | Create a custom emoji. imageDataUri must be a data URI (data:image/png;base64,...). |
| discord_delete_emojiC | Delete a custom emoji. |
| discord_list_webhooksC | List a channel's webhooks. |
| discord_create_webhookC | Create a webhook on a channel. |
| discord_delete_webhookA | Delete a webhook. |
| discord_get_guild_infoC | Get details about a guild. |
| discord_edit_guildC | Edit guild name/description/icon (iconDataUri is a data URI). |
| discord_leave_guildC | Leave a guild. |
| discord_requestA | Advanced: call ANY Discord REST endpoint directly (covers every feature not wrapped by a named tool). path is relative, e.g. /guilds/{id}/templates. |
| discord_get_messageC | Fetch a single message. |
| discord_get_reactionsB | List users who reacted with an emoji. |
| discord_list_bansD | List a guild's bans. |
| discord_get_banC | Get a single ban entry. |
| discord_get_audit_logC | Read the guild audit log. |
| discord_list_active_threadsC | List active threads in a guild. |
| discord_list_archived_threadsC | List archived threads in a channel. |
| discord_list_stickersA | List a guild's stickers. |
| discord_list_scheduled_eventsC | List a guild's scheduled events. |
| discord_list_automod_rulesC | List a guild's AutoMod rules. |
| discord_reply_messageB | Reply to a message (set ping:false to not ping the author). |
| discord_send_embedC | Send a message with rich embeds (Discord embed objects). |
| discord_crosspost_messageC | Publish (crosspost) a message from an announcement channel. |
| discord_remove_all_reactionsB | Remove all reactions (or all of one emoji) from a message. |
| discord_remove_user_reactionC | Remove a specific user's reaction. |
| discord_create_pollC | Create a poll message. |
| discord_end_pollC | End a poll early. |
| discord_set_channel_permissionB | Set a permission overwrite. type 0=role, 1=member. allow/deny are bitfield strings. |
| discord_delete_channel_permissionC | Remove a permission overwrite. |
| discord_reorder_channelsB | Reorder channels. positions: array of {id, position, parent_id?}. |
| discord_follow_announcementC | Follow an announcement channel into a target channel. |
| discord_create_forum_postC | Create a forum post (thread + starter message). |
| discord_set_voice_statusC | Set a voice channel's status text (empty to clear). |
| discord_unban_userC | Unban a user. |
| discord_get_prune_countB | Count members who would be pruned for inactivity. |
| discord_prune_membersC | Prune (kick) inactive members. |
| discord_set_voice_stateC | Server mute/deafen a member (mute/deaf booleans). |
| discord_reorder_rolesB | Reorder roles. positions: array of {id, position}. |
| discord_thread_joinB | Join a thread. |
| discord_thread_leaveB | Leave a thread. |
| discord_thread_add_memberC | Add a member to a thread. |
| discord_thread_remove_memberC | Remove a member from a thread. |
| discord_delete_stickerC | Delete a guild sticker. |
| discord_create_scheduled_eventC | Create a scheduled event. entityType: 1=stage,2=voice,3=external. Times are ISO8601. |
| discord_edit_scheduled_eventC | Edit a scheduled event. fields = raw Discord event fields. |
| discord_delete_scheduled_eventC | Delete a scheduled event. |
| discord_create_automod_ruleC | Create an AutoMod rule. rule = raw Discord AutoMod rule object. |
| discord_delete_automod_ruleC | Delete an AutoMod rule. |
| discord_list_integrationsC | List guild integrations. |
| discord_delete_integrationC | Delete a guild integration. |
| discord_get_vanity_urlC | Get the guild's vanity invite. |
| discord_get_welcome_screenC | Get the guild welcome screen. |
| discord_edit_welcome_screenC | Edit the welcome screen. fields = raw Discord welcome-screen fields. |
| discord_list_relationshipsB | List friends/blocked (relationships). |
| discord_add_friendB | Send a friend request (by userId, or username+discriminator). |
| discord_remove_relationshipB | Remove a friend / cancel request / unblock. |
| discord_block_userC | Block a user. |
| discord_get_noteC | Get your private note on a user. |
| discord_set_noteC | Set your private note on a user. |
| discord_set_statusA | Set your status (online/idle/dnd/invisible) and/or custom status text. |
| discord_edit_webhookB | Edit a webhook's name/channel. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sys0xdbg/better-discord-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server