- Home
- MCP servers
- Discord
Discord
- javascript
0
GitHub Stars
javascript
Language
2 months ago
First Indexed
3 weeks ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You can run a Discord MCP Server to let large language models manage your Discord workspace through a bot token. This server exposes a rich set of tools to control guilds, channels, members, roles, messages, and many other Discord features, enabling automated administration and interactive bot-driven workflows from your MCP client.
How to use
To use this MCP server, run it locally or host it remotely and connect your MCP client to the server using either HTTP transport or standard input/output (stdio) transport. The server supports a wide range of actions, from listing guilds and channels to sending messages, managing members and roles, configuring forums, and handling invites, webhooks, events, and on-boarding flows. Start by launching the server, then configure your MCP client with the appropriate server entry that points to the server endpoint or process.
How to install
Prerequisites: you need Node.js installed on your machine. The MCP server can be run directly via an inline command or installed globally for repeated use.
# Option A: install globally (npm)
npm install -g @mahesvara/discord-mcpserver
# Option B: run directly with npx (no install required)
npx @mahesvara/discord-mcpserver
Additional setup notes
Environment variables are used to configure the server. The essential variable is DISCORD_BOT_TOKEN, which holds your bot token. You can also configure the transport method, port, and host for HTTP transport.
Common environment variables shown in examples include: DISCORD_BOT_TOKEN, TRANSPORT, PORT, and HOST.
Configuration and runtime options
Configure your MCP client to connect to the server via HTTP or stdio transports. The HTTP transport exposes an endpoint at a URL such as http://your-server-ip:3000/mcp, while the stdio transport allows you to run the server as a local process and communicate through standard I/O.
Example HTTP transport connection from the client side: set type to http and provide the URL to the MCP client as the connection target.
Security and best practices
Never expose your bot token in client configurations or logs. Use environment variables to load tokens securely. The bot operates only in servers where it has been invited, and destructive operations are flagged to emphasize risk.
Ensure you grant only the permissions your MCP client needs. Review tool-by-tool permissions to minimize exposure.
Common usage examples
Examples illustrate how you configure the MCP client to perform common Discord management tasks. Use the Tools documented in your MCP client to call these actions with the required parameters.
Available tools
discord_list_guilds
List all guilds (servers) the bot can access.
discord_get_guild
Get detailed information about a specific server.
discord_edit_guild
Edit server settings such as name, verification level, and system channels.
discord_leave_guild
Make the bot leave a server.
discord_list_channels
List channels in a server, with optional filtering by type.
discord_get_channel
Get details about a channel, including forum tags for forum channels.
discord_create_channel
Create text, voice, forum channels, or categories.
discord_edit_channel
Edit channel properties like name, topic, position, category, and forum tags.
discord_delete_channel
Delete a channel or category.
discord_set_channel_permissions
Set permission overrides for roles or members on channels.
discord_remove_channel_permissions
Remove permission overrides on a channel.
discord_get_channel_permissions
View all permission overrides on a channel.
discord_sync_channel_permissions
Sync channel permissions with the parent category.
discord_send_message
Send messages with optional replies.
discord_get_messages
Retrieve messages from a channel with pagination.
discord_edit_message
Edit the bot's messages.
discord_delete_message
Delete messages.
discord_add_reaction
Add emoji reactions to messages.
discord_remove_reaction
Remove bot's reactions from messages.
discord_pin_message
Pin a message.
discord_unpin_message
Unpin a message.
discord_get_pinned_messages
Get all pinned messages in a channel.
discord_list_members
List server members with pagination.
discord_get_member
Get details about a member.
discord_kick_member
Kick a member from the server.
discord_ban_member
Ban a member (with option to delete their messages).
discord_unban_member
Unban a user.
discord_set_nickname
Set or clear a member nickname.
discord_move_member
Move a member to a different voice channel.
discord_timeout_member
Timeout or mute a member for a duration.
discord_list_roles
List all server roles.
discord_create_role
Create a new role.
discord_edit_role
Edit a role's name, color, permissions, and settings.
discord_delete_role
Delete a role.
discord_add_role
Assign a role to a member.
discord_remove_role
Remove a role from a member.
discord_set_role_positions
Reorder the role hierarchy.
discord_list_bans
List all banned users.
discord_prune_members
Remove inactive members with an optional dry-run.
discord_get_audit_log
View audit log entries.
discord_get_community_settings
View community settings like rules and features.
discord_setup_community
Configure community channels and safety features.
discord_get_welcome_screen
Get welcome screen configuration.
discord_edit_welcome_screen
Edit welcome screen description and channel layout.
discord_get_onboarding
Get onboarding configuration.
discord_edit_onboarding
Edit onboarding settings.
discord_setup_onboarding
Set up onboarding with prompts, channels, and roles.
discord_list_automod_rules
List auto moderation rules.
discord_get_automod_rule
Get details of an auto moderation rule.
discord_create_automod_rule
Create an auto moderation rule.
discord_edit_automod_rule
Edit an auto moderation rule.
discord_delete_automod_rule
Delete an auto moderation rule.
discord_list_emojis
List custom emojis.
discord_create_emoji
Create a custom emoji from an image URL.
discord_delete_emoji
Delete a custom emoji.
discord_list_stickers
List custom stickers.
discord_delete_sticker
Delete a custom sticker.
discord_list_invites
List active invites.
discord_create_invite
Create a channel invite.
discord_delete_invite
Delete an invite.
discord_list_webhooks
List webhooks at guild or channel level.
discord_create_webhook
Create a webhook.
discord_edit_webhook
Edit a webhook name or channel.
discord_delete_webhook
Delete a webhook.
discord_list_events
List scheduled events.
discord_create_event
Create a scheduled event (stage, voice, or external).
discord_delete_event
Delete a scheduled event.