
How to add Discord MCP to Claude Desktop
Connect AI assistants to Discord — manage channels, messages, roles, members, events and more via a JDA-powered bot. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.
Last updated June 14, 2026 · 358★ · http · apikey
Claude Desktop config for Discord MCP
docker run -d -i --name discord-mcp --restart unless-stopped -p 8085:8085 -e SPRING_PROFILES_ACTIVE -e DISCORD_TOKEN -e DISCORD_GUILD_ID saseq/discord-mcp:latest{
"mcpServers": {
"discord-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:8085/mcp"
]
}
}
}Claude Desktop connects to remote servers through the `mcp-remote` proxy (installed on first run via npx). Restart Claude Desktop after saving.
Setup steps
- 1Open Claude Desktop → Settings → Developer → Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
- 2Paste the Discord MCP config below under the top-level "mcpServers" key.
- 3Fill in any placeholder secrets (API keys, paths) in the snippet.
- 4Save the file, then fully quit and reopen Claude Desktop.
- 5Open a chat and confirm Discord MCP's tools appear under the 🔌 tools menu.
Before you start
- A Discord bot and its token (DISCORD_TOKEN)
- Docker (recommended) — or Maven + Java to build and run the JAR manually
- Optional: DISCORD_GUILD_ID to set a default server ID so guildId can be omitted on tools
What Discord MCP can do in Claude Desktop
get_server_infoGet detailed Discord server information
get_user_id_by_nameGet a Discord user's ID by username in a guild for ping usage <@id>
send_private_messageSend a private message to a specific user
edit_private_messageEdit a private message from a specific user
delete_private_messageDelete a private message from a specific user
read_private_messagesRead private message history from a specific user (includes attachment metadata, count 1-100 and optional cursor: before/after/around)
send_messageSend a message to a specific channel
edit_messageEdit a message from a specific channel
Security
Requires a Discord bot token (DISCORD_TOKEN) supplied via environment variable; treat it as a secret. The bot can perform destructive and moderation actions (delete channels/messages, kick/ban members, manage roles and permissions), so grant it only the Discord permissions it needs. The default HTTP endpoint http://localhost:8085/mcp is reachable only from the local machine; to expose it remotely (e.g. for Claude Desktop remote connectors) put it behind public HTTPS via a tunnel or reverse proxy.
Discord MCP + Claude Desktop FAQ
Where is the Claude Desktop config file?
Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the Discord MCP config there under the "mcpServers" key and restart the client.
Is Discord MCP safe to use with Claude Desktop?
Requires a Discord bot token (DISCORD_TOKEN) supplied via environment variable; treat it as a secret. The bot can perform destructive and moderation actions (delete channels/messages, kick/ban members, manage roles and permissions), so grant it only the Discord permissions it needs. The default HTTP endpoint http://localhost:8085/mcp is reachable only from the local machine; to expose it remotely (e.g. for Claude Desktop remote connectors) put it behind public HTTPS via a tunnel or reverse proxy.
What credentials do I need?
A Discord bot token set as the DISCORD_TOKEN environment variable. Optionally set DISCORD_GUILD_ID to a default server ID so the guildId parameter becomes optional on every tool.
Which transport should I use?
HTTP singleton mode is recommended — connect clients to http://localhost:8085/mcp. A legacy stdio mode is also supported, which launches a new process/container per client session.
How do I run it?
Pull and run the Docker image saseq/discord-mcp:latest (also available via Docker Compose), or build the JAR from source with Maven and run it with java -jar.