Skip to main content
Glama
fmarcac

discord-mcp

by fmarcac

discord-mcp

Lesen und bedienen Sie Discord über Ihren eigenen laufenden Desktop-Client: Kanalnachrichten, Direktnachrichten, Gruppenchats, Threads, Forumsbeiträge und Suche.

So funktioniert es

Discords Desktop-App ist Electron. Mit --remote-debugging-port gestartet, ist ihr Renderer über das Chrome DevTools Protocol erreichbar. discord-mcp hängt sich an diesen Renderer an, beobachtet den Header, den der Client bei seinen eigenen API-Aufrufen bereits mitsendet, und sendet Anfragen von innerhalb derselben Seite aus.

Jede Anfrage stammt daher aus dem echten Client-Prozess, in der echten Sitzung, mit dem echten Fingerabdruck. Es gibt keinen zweiten Client zu erkennen, und das Token wird nie aus Discords Speicher gelesen: Es wird ausschließlich bei einer Anfrage beobachtet, die der Client ohnehin schon stellt.

Related MCP server: discord-user-mcp

Lesen Sie dies, bevor Sie es verwenden

Dies verstößt gegen die Nutzungsbedingungen von Discord. Die Automatisierung eines Benutzerkontos ist unabhängig davon verboten, wie die Sitzung erlangt wurde, und Abschnitt 11 verbietet zusätzlich das Modifizieren des Clients.

Das praktische Risiko liegt in derselben Kategorie wie Client-Mods wie Vencord, die Discord öffentlich als weniger prioritär eingestuft hat und für die es bis 2026 keine bestätigten Sperren gibt. Das ist ein Muster der Nichtdurchsetzung, kein Versprechen. Das Risiko konzentriert sich auf das Schreiben, nicht auf das Lesen.

Ein Bot-Token wäre vollständig konform, aber ein Bot kann niemals Ihre Direktnachrichten lesen. Diese Einschränkung ist der eigentliche Grund, warum dieses Projekt existiert.

Einrichtung

npm install
npm run build

Discord verwendet eine Single-Instance-Sperre, daher wirkt das Debugging-Flag nur beim Start. Beenden Sie zuerst einen eventuell laufenden Client.

node dist/cli/main.js launch      # starts Discord on a random loopback port
node dist/cli/main.js doctor      # verifies attach, capture and a real read

doctor sollte Ihr Konto, die Anzahl der Guilds und die Anzahl der Direktnachrichten ausgeben.

Der erste Attach lädt den Renderer einmal neu, da ein untätiger Client keine REST-Anfragen stellt, von denen Header abzulesen wären. Die Erfassung wird dann pro Port für zwölf Stunden in ~/.local/state/discord-mcp/headers.json gespeichert, sodass spätere Läufe in etwa einer Sekunde andocken und Ihren Client in Ruhe lassen.

Anbindung an einen MCP-Client

{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["/path/to/discord-mcp/dist/cli/main.js", "serve"]
    }
  }
}

Werkzeuge

Standardmäßig sind achtzehn Werkzeuge verfügbar: zwölf lesende und sechs schreibende.

Werkzeug

Stufe

Zweck

guild_list

Lesen

Guilds, zu denen dieses Konto gehört

guild_channels

Lesen

Kanäle eines Guilds

guild_roles

Lesen

Rollen, die in einem Guild definiert sind

channel_get

Lesen

Beschreibt einen Kanal oder Thread

channel_pins

Lesen

Angeheftete Nachrichten

message_get

Lesen

Eine Nachricht anhand der ID

dm_list

Lesen

Direkt- und Gruppenunterhaltungen

thread_list

Lesen

Offene Threads eines Kanals; so werden Forumsbeiträge gelesen

thread_archived

Lesen

Archivierte Threads, in denen ruhige Forumsbeiträge landen

search_guild

Lesen

Einen Guild durchsuchen

search_channel

Lesen

Einen Kanal oder eine Unterhaltung durchsuchen

message_send

Schreiben

Sendet eine Nachricht oder Antwort

message_edit

Schreiben

Bearbeitet eine Nachricht, die dieses Konto gesendet hat

message_react

Schreiben

Fügt eine Reaktion hinzu

message_ack

Schreiben

Markiert einen Kanal bis zu einer Nachricht als gelesen

thread_create

Schreiben

Startet einen Thread, optional aus einer vorhandenen Nachricht

forum_post

Schreiben

Erstellt einen Forumsbeitrag mit seiner Eröffnungsnachricht

Das Lesen eines Forums erfolgt durch Auflisten der Threads eines Forum-Kanals. Jeder Beitrag wird zusammen mit der Nachricht, die ihn eröffnet hat, und seinen angewendeten Tags zurückgegeben, sodass ein Beitrag ohne einen zweiten Aufruf lesbar ist.

Destruktive Werkzeuge

Sieben weitere Operationen existieren und sind überhaupt nicht registriert, es sei denn, ihre Kategorie ist aktiviert. Sie erscheinen nicht in der Werkzeugliste, sodass kein Host und kein Modell sie erreichen kann.

Werkzeug

Kategorie

message_delete

messages

thread_delete

threads

channel_delete

channels

guild_leave

guilds

member_kick, member_ban

members

member_roles

roles

Aktivieren Sie nur, was Sie benötigen:

{ "destructive": ["messages", "threads"] }
node dist/cli/main.js serve --config /path/to/policy.json

Dies ist die tragende Kontrolle. Host-Genehmigungsabfragen sind eine zweite Ebene, da sich das Verhalten der Hosts unterscheidet und einige Hosts automatisch genehmigen. Jedes destruktive Werkzeug ermittelt das Ziel und gibt zurück, worauf es eingewirkt hat; das Ergebnis benennt den Kanal, statt nur eine Snowflake zu wiederholen.

Sicherheit

Ein offener DevTools-Port ist eine lokale Authentifizierungsumgehung: Jeder Prozess, der unter Ihrer Benutzerkennung läuft, kann die Sitzung steuern, selbst wenn eine Zwei-Faktor-Authentifizierung aktiv ist. discord-mcp bindet nur an Loopback und wählt einen zufälligen hohen Port statt des Standardports 9222. Lassen Sie den Client nicht mit geöffnetem Port laufen, wenn Sie ihn nicht verwenden.

Der Header-Cache enthält ein aktives Token. Eine Erfassung wiederzuverwenden bedeutet, sie zu behalten; daher enthält ~/.local/state/discord-mcp/headers.json Ihren Authorization-Header, bis er abläuft. Die Datei wird nur für den Besitzer geschrieben, Modus 0600, ebenso wie der danebenliegende Startzustand. Löschen Sie die Datei, um eine neue Erfassung zu erzwingen:

rm ~/.local/state/discord-mcp/headers.json

Starten Sie das Programm ohne Cache-Pfad, wenn Sie lieber jedes Mal neu erfassen und das Token nie speichern möchten, auf Kosten eines Renderer-Neuladens bei jedem Attach.

Aufbau

src/attach/     CDP connection, target selection, launch, state
src/bridge/     header capture, request execution, rate limiting
src/api/        typed wrappers over Discord REST v9
src/normalize/  reduce Discord's wire format to what a reader needs
src/policy/     operation tiers and the destructive gate
src/tools/      MCP tool registration
src/cli/        launch, doctor, serve

Abhängigkeiten verlaufen nur nach unten. normalize/ und policy/ sind rein und haben keinerlei Abhängigkeiten; dort befindet sich der Großteil der Testsuite.

npm test         # 152 tests, no Discord required
npm run typecheck

Das Designdokument, einschließlich der Erkenntnisse aus Spike 0, die die Brücke geprägt haben, befindet sich in docs/superpowers/specs/.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Discord using personal user tokens instead of bot applications, allowing for seamless message management and server exploration. It provides tools for reading history, sending messages, and searching across channels and DMs directly through MCP-compatible clients.
    6
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables interaction with Discord through natural language, including reading and sending messages, managing servers, and user actions.

View all related MCP servers

Related MCP Connectors

  • Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.

  • Eyes and hands on real Windows PCs — observe, click, type via Glasswarp API.

  • Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fmarcac/discord-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server