Discord MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | HTTP server host (use 0.0.0.0 for remote access) | localhost |
| PORT | No | HTTP server port (when using http transport) | 3000 |
| TRANSPORT | No | Transport mode: stdio or http | stdio |
| DISCORD_BOT_TOKEN | Yes | Your Discord bot token (required) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| discord_list_guildsA | List all Discord servers (guilds) the bot has access to. Returns server names, IDs, member counts, and owner information. Args:
Returns: List of guilds with id, name, memberCount, icon, ownerId |
| discord_get_guildA | Get detailed information about a specific Discord server. Args:
Returns: Server details including name, member count, owner, and icon |
| discord_leave_guildA | Leave a Discord server (guild). The bot will no longer have access to this server. WARNING: This is a destructive action. The bot will need to be re-invited to rejoin. Args:
Returns: Confirmation message with server details |
| discord_edit_guildA | Edit server settings like name, verification level, and system channel. Args:
Returns: Updated server details |
| discord_list_channelsA | List channels in a Discord server. Args:
Returns: List of channels with id, name, type, topic, and category info |
| discord_get_channelA | Get detailed information about a specific channel. Args:
Returns: Channel details including name, type, topic, and category |
| discord_create_channelA | Create a new channel or category in a Discord server. Args:
Returns: The created channel's details |
| discord_delete_channelA | Delete a channel from a Discord server. This action is permanent! Args:
Returns: Confirmation of deletion |
| discord_edit_channelA | Edit a channel's properties including name, topic, category, position, and more. Args:
Returns: Updated channel details |
| discord_set_channel_permissionsA | Set permission overrides for a role or member on a channel. Common permission names:
Args:
Returns: Confirmation of permission changes |
| discord_remove_channel_permissionsB | Remove all permission overrides for a role or member on a channel. Args:
Returns: Confirmation of removal |
| discord_get_channel_permissionsA | Get all permission overrides for a channel. Args:
Returns: List of permission overrides with allow/deny for each role/member |
| discord_sync_channel_permissionsA | Sync a channel's permissions with its parent category. Args:
Returns: Confirmation of sync |
| discord_send_messageA | Send a message to a Discord channel. Args:
Returns: The sent message details including ID |
| discord_get_messagesA | Retrieve messages from a Discord channel. Args:
Returns: List of messages with content, author, timestamp, attachments |
| discord_delete_messageA | Delete a message from a Discord channel. Args:
Returns: Confirmation of deletion |
| discord_edit_messageA | Edit a message sent by the bot. Args:
Returns: Confirmation of edit |
| discord_add_reactionA | Add an emoji reaction to a message. Args:
Returns: Confirmation of reaction added |
| discord_remove_reactionA | Remove the bot's emoji reaction from a message. Args:
Returns: Confirmation of reaction removed |
| discord_pin_messageB | Pin a message in a channel. Args:
Returns: Confirmation of message pinned |
| discord_unpin_messageA | Unpin a message in a channel. Args:
Returns: Confirmation of message unpinned |
| discord_get_pinned_messagesB | Get all pinned messages in a channel. Args:
Returns: List of pinned messages |
| discord_list_membersA | List members in a Discord server. Args:
Returns: List of members with username, nickname, roles, join date |
| discord_get_memberA | Get detailed information about a specific member. Args:
Returns: Member details including username, nickname, roles, join date |
| discord_move_memberA | Move a member to a different voice channel or disconnect them from voice. The member must currently be connected to a voice channel to be moved. Args:
Returns: Confirmation of move or disconnect |
| discord_set_nicknameA | Set or clear a member's nickname. Args:
Returns: Confirmation of nickname change |
| discord_list_rolesA | List all roles in a Discord server. Args:
Returns: List of roles with name, color, position, permissions |
| discord_add_roleA | Add a role to a Discord member. Args:
Returns: Confirmation of role added |
| discord_remove_roleA | Remove a role from a Discord member. Args:
Returns: Confirmation of role removed |
| discord_create_roleA | Create a new role in a Discord server. Args:
Returns: The created role's details |
| discord_delete_roleA | Delete a role from a Discord server. This action is permanent! Args:
Returns: Confirmation of deletion |
| discord_edit_roleA | Edit a role's properties including name, color, and permissions. Common permission names:
Args:
Returns: Updated role details |
| discord_set_role_positionsA | Reorder role hierarchy by setting role positions. Higher position = more authority in the hierarchy. The @everyone role is always at position 0. Roles can only manage other roles below them in the hierarchy. IMPORTANT: The bot can only move roles that are below its own highest role in the hierarchy. Args:
Returns: Confirmation of position changes |
| discord_kick_memberA | Kick a member from a Discord server. Args:
Returns: Confirmation of kick |
| discord_ban_memberB | Ban a member from a Discord server. Args:
Returns: Confirmation of ban |
| discord_unban_memberA | Remove a ban from a user. Args:
Returns: Confirmation of unban |
| discord_timeout_memberA | Timeout (mute) a member for a specified duration. They cannot send messages, react, or join voice. Args:
Returns: Confirmation of timeout |
| discord_list_bansA | List all banned users in a server. Args:
Returns: List of banned users with reasons |
| discord_prune_membersA | Remove inactive members from the server. Args:
Returns: Number of members pruned (or would be pruned if dry_run) |
| discord_get_audit_logA | Get the audit log for a server. Shows who did what actions. Common action types: 1=GuildUpdate, 10=ChannelCreate, 11=ChannelUpdate, 12=ChannelDelete, 20=MemberKick, 22=MemberBanAdd, 23=MemberBanRemove, 24=MemberUpdate, 25=MemberRoleUpdate, 30=RoleCreate, 31=RoleUpdate, 32=RoleDelete, 72=MessageDelete, 73=MessageBulkDelete Args:
Returns: Audit log entries with action, user, target, and changes |
| discord_list_automod_rulesA | List all auto moderation rules for a server. Args:
Returns: List of auto moderation rules |
| discord_get_automod_ruleA | Get details of a specific auto moderation rule. Args:
Returns: Auto moderation rule details |
| discord_create_automod_ruleA | Create a new auto moderation rule for a server. Args:
Returns: Created rule details |
| discord_edit_automod_ruleB | Edit an existing auto moderation rule. Args:
Returns: Updated rule details |
| discord_delete_automod_ruleA | Delete an auto moderation rule from a server. Args:
Returns: Confirmation of deletion |
| discord_list_emojisA | List all custom emojis in a server. Args:
Returns: List of emojis with name, ID, and whether animated |
| discord_create_emojiA | Create a custom emoji in a server. Args:
Returns: Created emoji details |
| discord_delete_emojiA | Delete a custom emoji from a server. Args:
Returns: Confirmation of deletion |
| discord_list_stickersA | List all custom stickers in a server. Args:
Returns: List of stickers with name, description, and format |
| discord_delete_stickerA | Delete a custom sticker from a server. Args:
Returns: Confirmation of deletion |
| discord_list_webhooksA | List webhooks in a guild or channel. Args:
Returns: List of webhooks with name, channel, and URL |
| discord_create_webhookB | Create a webhook in a channel. Args:
Returns: Created webhook details including URL |
| discord_edit_webhookA | Edit an existing webhook. Args:
Returns: Updated webhook details |
| discord_delete_webhookA | Delete a webhook. Args:
Returns: Confirmation of deletion |
| discord_list_invitesA | List all active invites in a server. Args:
Returns: List of invites with code, uses, max uses, expiration |
| discord_create_inviteA | Create an invite link for a channel. Args:
Returns: Created invite URL |
| discord_delete_inviteA | Delete an invite by its code. Args:
Returns: Confirmation of deletion |
| discord_list_eventsA | List all scheduled events in a server. Args:
Returns: List of events with name, time, location, and status |
| discord_create_eventB | Create a scheduled event in a server. Args:
Returns: Created event details |
| discord_delete_eventA | Delete a scheduled event from a server. Args:
Returns: Confirmation of deletion |
| discord_get_welcome_screenA | Get the welcome screen configuration for a server. Requires the server to have Community features enabled. Args:
Returns: Welcome screen settings including description and channels |
| discord_edit_welcome_screenA | Edit the welcome screen configuration for a server. Requires the server to have Community features enabled and bot must have MANAGE_GUILD permission. Args:
Returns: Updated welcome screen settings |
| discord_get_onboardingA | Get the onboarding configuration for a server. Onboarding guides new members through a questionnaire to customize their experience. Args:
Returns: Onboarding settings including prompts, options, and default channels |
| discord_edit_onboardingA | Edit the onboarding configuration for a server. Configure prompts/questions that new members answer to customize their server experience. Each prompt can assign roles or show channels based on member selections. Args:
Returns: Updated onboarding configuration |
| discord_setup_onboardingA | Setup and enable onboarding for a server from scratch. This tool configures the complete onboarding experience for new members. The server must have Community features enabled. Requirements:
Args:
Returns: Confirmation with onboarding status |
| discord_get_community_settingsB | Get the community settings for a server. Shows rules channel, updates channel, and other community-related settings. Args:
Returns: Community settings including channels and features |
| discord_setup_communityA | Configure the required channels for a Community server. Sets the rules channel and public updates channel which are required for Community features. The server must already have Community enabled in Discord Server Settings. Args:
Returns: Updated community settings |
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/Oratorian/discord-node-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server