discord-unofficial-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DISCORD_MCP_TZ | No | Time zone used for the dates in the output | |
| DISCORD_MCP_IDLE_MS | No | Close the tab after this much inactivity (0 = never) | 180000 |
| DISCORD_MCP_STATE_DIR | No | Lock file and activity marker (must be yours, mode 0700) | ~/.discord-unofficial-mcp |
| DISCORD_MCP_CHROME_BIN | No | Explicit Chrome/Chromium binary for the launcher | |
| DISCORD_MCP_BROWSER_URL | No | DevTools endpoint of the dedicated Chrome (must be loopback; the launcher takes its port from here) | http://127.0.0.1:9222 |
| DISCORD_MCP_PROFILE_DIR | No | Chrome profile the launcher uses and the identity check expects (where the session lives) | ~/.discord-unofficial-mcp/chrome-profile |
| DISCORD_MCP_SKIP_PROFILE_CHECK | No | 1 disables the profile identity check (only when you know what is on the port) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| discord_statusA | Checks the dedicated Chrome and whether Discord is signed in (logged_in / logged_out / loading) and as which user. Call this first. |
| discord_open_loginA | Opens and focuses the Discord tab in the dedicated Chrome so the account owner can sign in by hand (one-time; the session persists in that profile). Only navigates to /login when the signed-out state is confirmed. |
| discord_list_dmsA | Lists the open direct conversations in the sidebar (recent-activity order) with their channel_id and whether they have unread messages. Reports whether the sidebar walk was complete. |
| discord_read_dmA | Reads the most recent messages of a direct conversation, by channel_id (preferred) or by the name shown in discord_list_dms (exactly one of the two). Returns oldest-first messages with local time, author, text, attachments and id, plus |
| discord_catch_upA | "Look at my messages": walks the conversations with unread messages (up to max_channels, default 5) and returns their latest messages, with per-conversation errors if any and how many were left unprocessed. If nothing is unread, lists the recent conversations. |
| discord_close_tabA | Closes the Discord tab in the dedicated Chrome (the owner stops appearing online from that browser). It closes by itself after a few minutes of inactivity; call only to force it. Returns closed / busy (another agent is using it) / not_open / chrome_down. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct action: status checking, opening login, listing DMs, reading a specific DM, catching up on unread messages, and closing the tab. There is mild overlap between catch_up and list/read_dm since catch_up can fall back to listing recent conversations, but the descriptions make the intended use cases clear.
All tools share a consistent discord_ prefix and mostly follow a verb_noun pattern (open_login, list_dms, read_dm, close_tab). However, discord_status is more of a noun-style status check and catch_up is a phrasal verb, creating minor deviations from the otherwise predictable convention.
Six tools is a well-scoped size for this server's purpose: managing a Discord browser session and reading DMs. Each tool has a clear role, and none feel redundant or excessive.
The set covers status, login, listing DMs, reading DMs, and processing unread messages, which is solid for a read-only DM assistant. However, it notably lacks sending messages, explicit mark-as-read control, and broader Discord resource access, which are common expectations for a Discord server.