Discord IntegrationCAUTION
Implement Discord MCP server enabling AI assistants to interact with the Discord platform.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://mcptoplist.com/server/smithery%2Fbarryyip0625%2Fmcp-discord) [](https://hub.docker.com/r/barryy625/mcp-discord)
A Discord MCP (Model Context Protocol) server that enables AI assistants to interact with the Discord platform.
Overview
MCP-Discord provides the following Discord-related functionalities:
- Login to Discord bot
- List servers the bot is a member of
- Get server information
- List members and inspect member details
- List, create, edit, delete, assign, and remove roles
- Search messages in a server
- Read, edit, and delete channel messages
- Send messages to specified channels
- Retrieve forum channel lists
- Create, update, delete, and reply to forum posts
- List forum threads and manage forum tags
- Create, edit, and delete text, forum, voice channels, and categories
- Set and remove channel permission overrides
- Add/remove message reactions
- Create/edit/delete/use webhooks
Table of Contents
- Prerequisites
- Installation
- Configuration
- Tools Documentation
- Basic Functions
- Channel Management
- Forum Functions
- Messages and Reactions
- Webhook Management
- Role Management
- Member Management
- Development
- License
Prerequisites
- Node.js (v18.0.0 or higher)
- npm (v7.0.0 or higher)
- A Discord bot with
0c80f6a9a2cfOBSERVED · 2026-10-07Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add mcp-discord --env DISCORD_TOKEN=${DISCORD_TOKEN} -- npx -y [email protected]{
"mcpServers": {
"mcp-discord": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"DISCORD_TOKEN": "${DISCORD_TOKEN}"
}
}
}
}Exposed tools (46)
16 read · 21 write · 9 destructive. Blast radius: 9 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
discord_add_multiple_reactions | write | Adds multiple emoji reactions to a Discord message at once |
discord_add_reaction | write | Adds an emoji reaction to a specific Discord message |
discord_assign_role | read | Assigns a role to a member in a Discord server |
discord_create_category | write | Creates a new category in a Discord server. |
discord_create_forum_channel | write | Creates a new forum channel in a Discord server, optionally under a category |
discord_create_forum_post | write | Creates a new post in a Discord forum channel with optional tags |
discord_create_role | write | Creates a new role in a Discord server |
discord_create_text_channel | write | Creates a new text channel in a Discord server with an optional topic and parent category |
discord_create_voice_channel | write | Creates a new voice channel in a Discord server with an optional parent category |
discord_create_webhook | write | Creates a new webhook for a Discord channel |
discord_delete_category | destructive | Deletes a Discord category by ID. |
discord_delete_channel | destructive | Deletes a Discord channel with an optional reason |
discord_delete_forum_post | destructive | Deletes a forum post or thread with an optional reason |
discord_delete_message | destructive | Deletes a specific message from a Discord text channel |
discord_delete_role | destructive | Deletes a role from a Discord server |
discord_delete_webhook | destructive | Deletes an existing webhook for a Discord channel |
discord_edit_category | write | Edits an existing Discord category (name and position). |
discord_edit_channel | write | Edits a Discord channel |
discord_edit_message | write | Edits a message previously sent by the bot. Only messages authored by the bot can be edited. |
discord_edit_role | write | Edits an existing role in a Discord server |
discord_edit_webhook | write | Edits an existing webhook for a Discord channel |
discord_get_forum_channels | read | Lists all forum channels in a specified Discord server (guild) |
discord_get_forum_post | write | Retrieves details about a forum post including its messages |
discord_get_forum_tags | read | Gets all available tags for a Discord forum channel, including tag IDs, names, and emoji |
discord_get_member | read | Gets detailed information about a specific member in a Discord server |
discord_get_reaction_users | read | Lists the users who reacted with a specific emoji to a Discord message. Uses REST fetch and does not require Gateway intents. Returns up to 100 users per call. |
discord_get_server_info | read | Retrieves detailed information about a Discord server including channels and member count |
discord_list_forum_threads | read | Lists all threads (posts) in a Discord forum channel, including both active and archived threads |
discord_list_members | read | Lists members in a Discord server with their roles |
discord_list_pinned_messages | read | Lists the pinned messages of a channel, newest pin first. |
discord_list_roles | read | Lists all roles in a Discord server with their properties |
discord_list_servers | read | Lists all Discord servers the bot is a member of |
discord_login | read | Logs in to Discord using the configured token |
discord_pin_message | read | Pins a message to its channel. A channel can hold at most 50 pinned messages. |
discord_read_messages | read | Retrieves messages from a Discord text channel. Supports date-based filtering via before/after/around params (accepts snowflake IDs or ISO 8601 dates). |
discord_remove_channel_permissions | destructive | Removes all permission overrides for a role or user on a channel or category |
discord_remove_reaction | destructive | Removes a specific emoji reaction from a Discord message |
discord_remove_role | destructive | Removes a role from a member in a Discord server |
discord_reply_to_forum | write | Adds a reply to an existing forum post or thread |
discord_search_messages | read | Searches for messages in a Discord server |
discord_send | write | Sends a message to a specified Discord text channel. Optionally reply to another message by providing its message ID. |
discord_send_webhook_message | write | Sends a message to a Discord channel using a webhook |
discord_set_channel_permissions | write | Sets permission overrides for a role or user on a channel or category |
discord_set_forum_tags | write | Sets the available tags for a Discord forum channel. Replaces all existing tags. |
discord_unpin_message | read | Removes a message from its channel |
discord_update_forum_post | write | Updates a forum post |
Trust audit
CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (2 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (4)
const args = { token: 'test-token-from-args' };discord_delete_category, discord_delete_channel, discord_delete_forum_post, discord_delete_message, discord_delete_role, discord_delete_webhook, discord_remove_channel_permissions, discord_remove_reac
@modelcontextprotocol/sdk, discord.js, dotenv, express, zod, @types/express, @types/jest, @types/node
- **Administrator (full access):**
Gates applied: no_behavioural_pass.
0c80f6a9a2cffull audit observations/trust-audit/mcp-server/barryyip0625__discord-integration.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | 0c80f6a9a2cf | CAUTION | B | 89 | first audit |
Questions
What is the Discord Integration MCP server?
Implement Discord MCP server enabling AI assistants to interact with the Discord platform.
What tools does Discord Integration expose?
46 in total: 16 read-only, 21 that write, and 9 that can delete or overwrite (discord_delete_category, discord_delete_channel, discord_delete_forum_post, discord_delete_message, discord_delete_role). Every one is listed on this page with its risk.
Is Discord Integration safe to connect to an agent?
With care. The audit graded it B (89/100) and found 4 things worth knowing before you trust this server, listed below with the exact line each was found on. Separately from the audit: 9 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Discord Integration need?
It reads DISCORD_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Discord Integration run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as mcp-discord at 1.5.1.
How current is this page?
The grade is for one exact copy of the source (0c80f6a9a2cf), read on 2026-10-07. The repository is watched and re-audited when it changes.