discord-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DISCORD_TOKEN | Yes | Your Discord bot token from the Discord Developer Portal. | |
| DISCORD_PRIVILEGED_INTENTS | No | Set to 'true' to enable Server Members Intent and Message Content Intent (optional). Default is 'false'. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_serversA | List the Discord servers (guilds) the bot has been added to. |
| get_server_infoB | Show an overview of a server: channel counts, role count, owner, members. |
| edit_serverA | Update server settings. Only provided fields are changed. Requires Manage Server (and Manage Guild for icon/banner changes). |
| get_audit_logA | Browse the server's audit log. Optionally filter by action type or the user who performed the action. Requires View Audit Log permission. |
| list_channelsB | List every channel in a server with its type, id, and parent category. |
| create_channelB | Create a channel. type can be: text, voice, category, announcement, stage, or forum. Use |
| edit_channelC | Rename a channel, change its topic, or move it into/out of a category. |
| delete_channelA | Permanently delete a channel. This cannot be undone. |
| send_messageA | Post a message to a text channel. Supports standard Discord markdown. |
| read_messagesA | Read the most recent messages from a channel (newest last). Reading the text body requires DISCORD_PRIVILEGED_INTENTS=true plus the Message Content intent. |
| delete_messageB | Delete a single message by its id. |
| edit_messageA | Edit the content of a message the bot sent. The bot can only edit its own messages. |
| pin_messageB | Pin a message in its channel. Requires Manage Messages permission. |
| unpin_messageA | Remove a message from a channel's pinned list. Requires Manage Messages permission. |
| get_pinned_messagesA | Fetch all pinned messages in a channel, newest first. |
| add_reactionA | React to a message with a Unicode emoji or custom guild emoji (name or id). |
| remove_reactionA | Remove a reaction from a message. Omit user to remove the bot's own reaction. Removing another user's reaction requires Manage Messages permission. |
| get_reactionsB | List users who reacted to a message with a specific emoji. |
| list_rolesA | List all roles in a server, highest first. |
| create_roleA | Create a role with an optional color, permissions, and display options. |
| edit_roleA | Edit an existing role's name, color, permissions, or display options. Only provided fields are changed. |
| delete_roleB | Delete a role from the server. |
| assign_roleC | Give a role to a member. |
| remove_roleC | Remove a role from a member. |
| list_membersA | List members of a server. Requires DISCORD_PRIVILEGED_INTENTS=true and the Server Members intent enabled in the Developer Portal. |
| get_memberA | Show details about one member: nickname, join date, and roles. |
| kick_memberA | Remove a member from the server. They can rejoin with a new invite. |
| ban_memberA | Ban a user from the server, optionally deleting their recent messages. |
| list_bansB | List all banned users in a server with their ban reasons. |
| unban_memberA | Lift a ban. Accepts a user id or username (looked up from the ban list). |
| timeout_memberA | Temporarily mute a member for a number of minutes. Use 0 to clear a timeout. |
| move_member_to_voiceA | Move a member who is already in a voice channel to a different one. The member must be connected to voice for this to succeed. |
| server_muteB | Toggle server-level mute for a member in a voice channel. Pass mute=false to unmute. |
| server_deafenC | Toggle server-level deafen for a member in a voice channel. Pass deafen=false to undeafen. |
| list_channel_permissionsA | Show the permission overwrites on a channel — which roles/members are explicitly allowed or denied which permissions. Anything not listed is inherited. |
| set_channel_permissionA | Allow or deny specific permissions for a role or member on one channel (a permission overwrite). Examples: deny "ViewChannel" for @everyone to make a channel private; allow "ViewChannel" and "SendMessages" for a Team role. This merges with any existing overwrite. Use |
| remove_channel_permissionA | Remove a role's or member's entire permission overwrite from a channel, reverting them to inherited permissions. |
| create_threadA | Start a thread from an existing message, or as a standalone thread in a text/forum channel. Pass message_id to branch from a message; omit it for a standalone thread. |
| list_threadsA | List active threads in a channel. Pass archived=true to include archived threads. |
| archive_threadA | Archive a thread, optionally locking it so only moderators can unarchive it. |
| unarchive_threadA | Reopen an archived thread so members can post again. |
| create_inviteB | Generate an invite link for a channel. |
| list_invitesA | Show all active invites for the server with use counts and expiry info. |
| delete_inviteB | Revoke an invite by its code. Accepts the full URL or just the code. |
| create_eventA | Schedule a guild event. For voice/stage events pass a voice channel; for external events pass a location string instead. |
| list_eventsA | Fetch upcoming scheduled events in the server with interested-user counts. |
| delete_eventB | Cancel and remove a scheduled guild event by name or id. |
| create_webhookA | Create a webhook for a channel. Requires Manage Webhooks permission. |
| list_webhooksB | List all webhooks in the server, optionally filtered to one channel. |
| delete_webhookA | Remove a webhook by name or id. Requires Manage Webhooks permission. |
| send_webhook_messageB | Post a message through a webhook. Supports a custom username and avatar override for this message. |
| list_emojisA | Return all custom emoji in the server with their names and ids. |
| create_emojiA | Upload a new custom emoji from a URL or base64-encoded image. Requires Manage Expressions permission. |
| delete_emojiA | Remove a custom emoji by name or id. Requires Manage Expressions permission. |
| list_stickersB | Fetch all guild stickers with their names, formats, and tags. |
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
- 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/grooving6/discord-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server