Discord MCP server
Last verified: 2026-09
Read and send Discord messages.
Community Chat, mail & docs Needs a secret Claude Desktop, Cursor, Windsurf, Claude Code
What it does
Thin Discord bot MCP: send-message and read-messages. Needs a bot token and the bot already in the guild.
It sits in Chat, mail & docs: These servers act as the bot or the integration you install.
Good for
- Read recent messages in one channel the bot is in.
- Send a status line to a bot-testing channel.
- Keep the bot out of staff channels.
- Prefer Slack if that is where the company lives.
Tools
- send-message — Post to a channel.
- read-messages — Read recent messages.
Config (Claude Desktop / Cursor / Windsurf)
Paste the JSON below. Same mcpServers shape. Replace placeholder paths and secrets.
Windows paths look like C:\\Users\\you\\project, not /path/to.
Host-side steps →
Claude Desktop
| OS | Config file |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json
(usually C:\Users\<you>\AppData\Roaming\Claude\) |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Cursor
| Scope | macOS / Linux | Windows |
|---|---|---|
| This project | .cursor/mcp.json in the repo root | |
| This user | ~/.cursor/mcp.json |
%USERPROFILE%\.cursor\mcp.json |
Windsurf
| OS | Config file |
|---|---|
| macOS / Linux | ~/.codeium/windsurf/mcp_config.json |
| Windows | %USERPROFILE%\.codeium\windsurf\mcp_config.json |
{
"mcpServers": {
"discord": {
"command": "npx",
"args": [
"-y",
"discord-mcp"
],
"env": {
"DISCORD_TOKEN": "..."
}
}
}
}
Windsurf remote MCP: use serverUrl instead of url if the block below is HTTP.
One-liner: npx -y discord-mcp
Secrets it wants: DISCORD_TOKEN
How to get started
- Create a Discord bot, invite it to one server with message read/send.
- Set DISCORD_TOKEN. Pass a channel id when you ask it to read.
- Do not invite it to a server that has private staff channels until you lock channel ids down.
Access risk
A bot token can speak as the bot in every channel it can see. read-messages includes DMs if you granted that intent.
When to skip it
Skip it for Slack (official) or Telegram.
Vs alternatives
| Server | Official? | Needs a secret? | Best for |
|---|---|---|---|
| Discord | No | Yes | Read and send Discord messages. |
| Slack | Yes | Yes | Read channels and post messages. |
| Telegram | No | Yes | Send and read Telegram via a bot. |
| Gmail | No | Yes | Read and draft Gmail. |
More in Chat, mail & docs
FAQ
Bot or user token?
DISCORD_TOKEN is a bot token. Invite it to one guild with message read/send. User tokens violate Discord ToS — do not.
Can it read DMs?
If you granted that intent. Don't.
How many tools?
Thin: send-message and read-messages.
Discord or Telegram?
Discord is a bot in a guild. Telegram on this list is closer to a user session — worse blast radius.