Discord

Provides a Node.js MCP server to control Discord via a bot token, including guild, channel, member, role, message, and community management.
  • 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.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational