Provides tools for interacting with Discord through a user account, including listing servers and channels, reading and sending messages or direct messages, searching history, managing emoji reactions, and retrieving server or user information.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@discord-user-mcpsummarize the last 10 messages in the #general channel"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
discord-user-mcp
Discord MCP server using user tokens. No bot setup, no Developer Portal, no intents — just your token and go.
Built for Claude Code and any MCP-compatible client.
Why user tokens?
Every other Discord MCP server requires creating a bot application, configuring intents, and inviting the bot to your server. This one uses your existing Discord session — the same access you already have in the app.
Trade-off: Using user tokens for automation is against Discord's ToS. This is a personal tool for your own account on your own machine. Use responsibly.
Setup
1. Get your Discord token
Your token is stored encrypted in the Discord app's local storage. You can find it by:
Opening Discord in a browser → DevTools → Network tab → any request →
AuthorizationheaderOr extracting it from the desktop app's LevelDB storage (macOS:
~/Library/Application Support/discord/Local Storage/leveldb/)
2. Add to Claude Code
With a default server:
3. Build from source
Tools (14)
Core
Tool | Description |
| List servers you're in |
| List channels grouped by category |
| Read channel history with pagination |
| Send a message, optionally as a reply |
| Search messages by content, author, channel, date, attachment type |
Essential
Tool | Description |
| List DM conversations |
| Send a DM (by user ID or channel ID) |
| Add emoji reaction to a message |
| Get pinned messages from a channel |
| List active threads in a server |
| Server details, roles, features |
Additional
Tool | Description |
| Edit your own message |
| Delete your own message |
| User profile with server roles |
Configuration
Environment Variable | Required | Description |
| Yes | Your Discord user token |
| No | Default server ID — tools that need a guild will use this when not specified |
Design choices
Plain text output — no raw JSON. Messages formatted as
[2024-01-15 14:32] alice: content. IDs always inline for tool chaining.No discord.js — raw
fetchagainst Discord API v10. Zero runtime deps beyond MCP SDK.Rate limit handling — automatic retry with
retry_after+ jitter, up to 3 attempts.Search is the star — accepts usernames (resolved to IDs internally), date strings (
YYYY-MM-DDconverted to snowflakes), and all Discord search filters.Conservative defaults — 25 messages per read, not 100. Keeps output manageable for AI.
License
MIT