Discord MCP MCP server
Maintained community MCP server that lets an agent run a Discord bot: messages, channels, forums, roles, and webhooks.
Discord MCP (mcp-discord) is a maintained, community-built Model Context Protocol server that connects an agent to the Discord platform through a Discord bot. Once you create a bot, enable its privileged intents, and invite it to a server, the agent can read and send messages, search history, manage channels and categories, run full forum workflows, administer roles and members, and create and post through webhooks - all as first-class MCP tools.
It authenticates with a single Discord bot token, supplied either through the DISCORD_TOKEN environment variable or a --config argument, and runs over stdio by default with an optional Streamable HTTP transport for hosted setups. Because it acts as a bot, every action is bound by Discord's own permission system, so you scope what the agent can do by scoping the bot's role and channel permissions. It is a practical choice for community automation, moderation assistants, and notification bots driven by an LLM.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Add to ~/.claude.json
{
"mcpServers": {
"discord": {
"command": "npx",
"args": [
"-y",
"mcp-discord",
"--config",
"YOUR_DISCORD_BOT_TOKEN"
],
"env": {
"DISCORD_TOKEN": "<DISCORD_TOKEN>"
}
}
}
}claude mcp add discord -- npx -y mcp-discord --config YOUR_DISCORD_BOT_TOKENAvailable tools
| Tool | Description |
|---|---|
| discord_login | Login to Discord using the configured token. |
| discord_list_servers | List all Discord servers the bot is a member of. |
| discord_send | Send a message to a specified channel. |
| discord_get_server_info | Get Discord server information. |
| discord_create_text_channel | Create a text channel. |
| discord_create_forum_channel | Create a forum channel. |
| discord_create_voice_channel | Create a voice channel. |
| discord_edit_channel | Edit a channel name, topic, parent category, or position. |
| discord_delete_channel | Delete a channel. |
| discord_create_category | Create a channel category. |
| discord_edit_category | Edit a channel category. |
| discord_delete_category | Delete a channel category. |
| discord_set_channel_permissions | Set permission overrides for a role or user on a channel or category. |
| discord_remove_channel_permissions | Remove permission overrides from a channel or category. |
| discord_get_forum_channels | Get a list of forum channels. |
| discord_create_forum_post | Create a forum post. |
| discord_get_forum_post | Get a forum post. |
| discord_list_forum_threads | List active and archived threads in a forum channel. |
| discord_reply_to_forum | Reply to a forum post. |
| discord_get_forum_tags | Get all available tags for a forum channel. |
| discord_set_forum_tags | Replace the available tags for a forum channel. |
| discord_update_forum_post | Update a forum post's title, tags, archived state, or locked state. |
| discord_delete_forum_post | Delete a forum post. |
| discord_search_messages | Search messages in a server. |
| discord_read_messages | Read channel messages, supporting before, after, and around parameters by snowflake ID or ISO 8601 date. |
| discord_edit_message | Edit a bot-authored message. |
| discord_add_reaction | Add a reaction to a message. |
| discord_add_multiple_reactions | Add multiple reactions to a message. |
| discord_remove_reaction | Remove a reaction from a message. |
| discord_delete_message | Delete a specific message from a channel. |
| discord_create_webhook | Create a new webhook for a Discord channel. |
| discord_send_webhook_message | Send a message to a Discord channel using a webhook. |
| discord_edit_webhook | Edit an existing webhook for a Discord channel. |
| discord_delete_webhook | Delete an existing webhook for a Discord channel. |
| discord_list_roles | List all roles in a server. |
| discord_create_role | Create a role with color, hoist, mentionable, and permission options. |
| discord_edit_role | Edit an existing role. |
| discord_delete_role | Delete a role. |
| discord_assign_role | Assign a role to a member. |
| discord_remove_role | Remove a role from a member. |
| discord_list_members | List members in a server with their roles. |
| discord_get_member | Get detailed information about a specific member. |
Required configuration
- DISCORD_TOKENRequired
Discord bot token used to authenticate the bot. Alternatively passed via the --config argument.
What you can do with it
Community moderation assistant
An agent reads and searches channel messages, deletes spam, manages roles, and replies in forum threads so a moderator can supervise rather than do every action by hand.
Notify a server from your workflow
Wire the agent to post build, deploy, or alert messages into a channel through discord_send or a webhook, keeping a team's Discord in sync with external systems.
FAQ
- Is it free?
- Yes. It is an open-source community project under the MIT license; you only need a free Discord account and a bot application.
- Does it support remote/OAuth?
- It does not use OAuth. It authenticates with a Discord bot token and runs over stdio by default, with an optional Streamable HTTP transport for hosted deployments.
- Is it official?
- No. It is a maintained community server (mcp-discord by barryyip0625), not published by Discord; you are responsible for the bot's permissions and intents.