discord-mcp
Discord MCP-Server
Ein leichter, Multi-Guild Discord MCP-Server mit über 90 Tools
Verwalte deinen gesamten Discord-Server über Claude Desktop, Claude Code, Cursor, VS Code Copilot oder jeden anderen MCP-kompatiblen Client. Nachrichten, Kanäle, Rollen, Berechtigungen, Moderation, Foren, Webhooks – alles per natürlicher Sprache.
Warum dieser Server?
Über 90 Tools — Nachrichten, Kanäle, Rollen, Berechtigungen, Moderation, Foren, Webhooks, geplante Events, Einladungen, DMs, Embeds und mehr
Multi-Guild — funktioniert über mehrere Server hinweg, keine
GUILD_ID-BindungLeichtgewichtig — TypeScript + Node.js, ~25kB Paket, ~73MB Docker-Image (im Vergleich zu 400MB+ bei Java-Alternativen)
Modular — saubere Architektur, einfach mit neuen Tools zu erweitern
Zwei Installationsmethoden — npm oder Docker, du hast die Wahl
Schnellstart
Füge dies zu deiner MCP-Client-Konfiguration hinzu und ersetze YOUR_TOKEN_HERE durch deinen Bot-Token:
{
"mcpServers": {
"discord": {
"command": "npx",
"args": ["-y", "@pasympa/discord-mcp"],
"env": {
"DISCORD_TOKEN": "YOUR_TOKEN_HERE"
}
}
}
}Keine Installation erforderlich — npx erledigt alles.
Du hast noch keinen Bot? Siehe Erstellen deines Discord-Bots.
Konfiguration
Füge die obige Konfiguration zu deiner claude_desktop_config.json hinzu:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Starte Claude Desktop nach dem Speichern neu.
claude mcp add discord -e DISCORD_TOKEN=YOUR_TOKEN_HERE -- npx -y @pasympa/discord-mcpFüge die obige Konfiguration zu ~/.cursor/mcp.json hinzu. Siehe Cursor MCP-Dokumentation für Details.
Füge dies zu deiner .vscode/mcp.json hinzu:
{
"inputs": [
{
"type": "promptString",
"id": "discord-token",
"description": "Discord Bot Token",
"password": true
}
],
"servers": {
"discord": {
"command": "npx",
"args": ["-y", "@pasympa/discord-mcp"],
"env": {
"DISCORD_TOKEN": "${input:discord-token}"
}
}
}
}Siehe VS Code MCP-Dokumentation für Details.
{
"mcpServers": {
"discord": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "DISCORD_TOKEN=YOUR_TOKEN_HERE",
"pasympa/discord-mcp:latest"
]
}
}
}git clone https://github.com/PaSympa/discord-mcp
cd discord-mcp
npm install && npm run build{
"mcpServers": {
"discord": {
"command": "node",
"args": ["/absolute/path/to/discord-mcp/dist/index.js"],
"env": {
"DISCORD_TOKEN": "YOUR_TOKEN_HERE"
}
}
}
}Anstatt den Token in der MCP-Konfiguration zu übergeben, erstelle eine .env-Datei im Projektstammverzeichnis:
DISCORD_TOKEN=YOUR_TOKEN_HEREDer Server lädt .env automatisch über dotenv.
Erstellen deines Discord-Bots
New Application > gib ihm einen Namen
Bot-Tab > Reset Token > kopiere den Token
Aktiviere Privileged Gateway Intents:
Server Members Intent
Message Content Intent
OAuth2 > URL Generator:
Scopes:
botBerechtigungen:
Send Messages,Read Message History,Manage Channels,Manage Roles,Kick Members,Ban Members,Moderate Members,View Audit Log,Manage Messages,Manage Threads,Add Reactions,Manage Guild,Manage Webhooks,Manage Events,Create Instant Invite
Kopiere die generierte URL und lade den Bot auf deinen Server ein
Verfügbare Tools (91)
Entdeckung & Navigation
Tool | Beschreibung |
| Liste alle Server auf, mit denen der Bot verbunden ist |
| Erhalte detaillierte Server-Infos (Name, Mitglieder, Kanäle, Rollen, Boosts) |
| Liste alle Kanäle in einem Server, gruppiert nach Kategorie |
| Finde einen Kanal anhand des Namens (teilweise Übereinstimmung) |
Nachrichten (18 Tools)
Tool | Beschreibung |
| Lese die letzten N Nachrichten aus einem Textkanal |
| Sende eine einfache Textnachricht |
| Antworte auf eine bestimmte Nachricht |
| Bearbeite eine vom Bot gesendete Nachricht |
| Lösche eine bestimmte Nachricht |
| Füge ein Reaktions-Emoji zu einer Nachricht hinzu |
| Entferne Reaktionen (alle, nach Emoji oder nach Benutzer) |
| Liste Benutzer auf, die mit einem bestimmten Emoji reagiert haben |
| Erstelle einen Thread aus einer Nachricht oder eigenständig |
| Lösche mehrere Nachrichten gleichzeitig (2-100) |
| Sende ein Rich-Embed mit allen Optionen |
| Bearbeite ein zuvor vom Bot gesendetes Embed |
| Sende bis zu 10 Embeds in einer einzigen Nachricht |
| Pinne oder entpinne eine Nachricht |
| Liste alle gepinnten Nachrichten in einem Kanal auf |
| Suche Nachrichten nach Schlüsselwort (letzte 100) |
| Veröffentliche eine Nachricht für Follower eines Ankündigungskanals |
| Leite eine Nachricht an einen anderen Kanal weiter |
Kanäle (8 Tools)
Tool | Beschreibung |
| Erstelle einen Text-, Sprachkanal oder eine Kategorie |
| Lösche einen Kanal |
| Bearbeite Name, Thema, Slowmode, NSFW-Flag |
| Verschiebe einen Kanal in eine/aus einer Kategorie |
| Klone einen Kanal mit seinen Berechtigungen |
| Lege die Anzeigeposition innerhalb einer Kategorie fest |
| Folge einem Ankündigungskanal |
| Synchronisiere Berechtigungen mit der übergeordneten Kategorie |
Kanal-Berechtigungen (6 Tools)
Tool | Beschreibung |
| Liste alle Berechtigungs-Overrides eines Kanals auf |
| Erlaube/verweigere Berechtigungen für eine Rolle in einem Kanal |
| Erlaube/verweigere Berechtigungen für ein Mitglied in einem Kanal |
| Entferne alle Overrides (zurücksetzen auf geerbt) |
| Kopiere Overrides von einem Kanal zum anderen |
| Vollständiges Berechtigungs-Audit für alle Kanäle |
Mitglieder (11 Tools)
Tool | Beschreibung |
| Liste Servermitglieder mit ihren Rollen auf |
| Detaillierte Mitgliedsinfos (Rollen, Berechtigungen, Beitrittsdatum) |
| Suche Mitglieder nach Benutzername oder Spitzname |
| Setze oder lösche den Spitznamen eines Mitglieds |
| Kicke ein Mitglied |
| Banne ein Mitglied (optional: lösche kürzliche Nachrichten) |
| Hebe den Bann eines Benutzers auf |
| Banne mehrere Benutzer gleichzeitig (Raid-Schutz) |
| Liste alle gebannten Benutzer auf |
| Setze ein Mitglied in den Timeout (0 zum Entfernen) |
| Entferne inaktive Mitglieder (mit Testlauf) |
Rollen (9 Tools)
Tool | Beschreibung |
| Liste alle Rollen mit Berechtigungen und Mitgliederanzahl auf |
| Erstelle eine neue Rolle |
| Bearbeite eine Rolle (Name, Farbe, Berechtigungen, Hoist, erwähnbar) |
| Lösche eine Rolle |
| Weise einem Mitglied eine Rolle zu |
| Entferne eine Rolle von einem Mitglied |
| Liste alle Mitglieder mit einer bestimmten Rolle auf |
| Ändere die Position einer Rolle in der Hierarchie |
| Setze ein benutzerdefiniertes Icon oder Unicode-Emoji für eine Rolle |
Foren (10 Tools)
Tool | Beschreibung |
| Liste alle Forenkanäle in einem Server auf |
| Erstelle einen neuen Forenkanal |
| Erstelle einen Beitrag/Thread in einem Forum |
| Erhalte Details und Nachrichten eines Beitrags |
| Liste Threads auf (aktiv + archiviert) |
| Antworte auf einen Forenbeitrag |
| Lösche einen Forenthread |
| Erhalte verfügbare Tags |
| Setze/aktualisiere Tags in einem Forum |
| Aktualisiere Titel, Archivstatus, Sperrstatus, Tags |
Webhooks (8 Tools)
Tool | Beschreibung |
| Erstelle einen Webhook in einem Kanal |
| Sende über Webhook (benutzerdefinierter Name/Avatar, Embeds) |
| Bearbeite Name, Avatar oder Kanal eines Webhooks |
| Lösche einen Webhook |
| Liste Webhooks für einen Kanal oder Server auf |
| Bearbeite eine von einem Webhook gesendete Nachricht |
| Lösche eine von einem Webhook gesendete Nachricht |
| Rufe eine bestimmte Webhook-Nachricht ab |
Geplante Events (7 Tools)
Tool | Beschreibung |
| Liste alle geplanten Events in einem Server auf |
| Erhalte detaillierte Infos zu einem geplanten Event |
| Erstelle ein Sprach-, Stage- oder externes Event |
| Bearbeite ein bestehendes geplantes Event |
| Lösche ein geplantes Event |
| Erhalte Benutzer, die "Interessiert" markiert haben |
| Erstelle eine Einladung, die mit einem Event verknüpft ist |
Direktnachrichten
Tool | Beschreibung |
| Sende eine Direktnachricht an einen Benutzer per Benutzer-ID |
Einladungen (5 Tools)
Tool | Beschreibung |
| Liste alle aktiven Einladungen in einem Server auf |
| Liste Einladungen für einen bestimmten Kanal auf |
| Erhalte Details zu einer Einladung per Code |
| Erstelle einen Einladungslink für einen Kanal |
| Widerrufe eine Einladung |
Moderation & Screening
Tool | Beschreibung |
| Rufe das Server-Audit-Log ab |
| Erhalte das Mitgliedschafts-Screening-Formular |
| Aktualisiere Screening-Regeln für neue Mitglieder |
Statistiken
Tool | Beschreibung |
| Server-Statistiken: Mitglieder, Kanäle, Rollen, Boost-Level |
Anwendungsbeispiele
"List all servers the bot is in"
"Read the last 10 messages in #general"
"Send 'Hello everyone!' to the announcements channel"
"Create a forum channel called 'feedback' with tags Bug, Feature, Question"
"Show the full permission audit for the server"
"Create a webhook on #notifications and send a test message"
"Ban user 112233445566 and delete their messages from the last 3 days"
"Create an event called 'Game Night' for next Friday at 8pm"
"List all upcoming events in the server"
"Create a permanent invite for #general"
"List all active invites and delete expired ones"
"Send a DM to user 112233445566 saying 'Your build passed!'"
"Search for members named 'john'"
"List all banned users in the server"
"Show all pinned messages in #general"
"Forward that message to #announcements"Discord-IDs finden
Aktivieren den Entwicklermodus in Discord:
Einstellungen > Erweitert > Entwicklermodus
Dann Rechtsklick auf einen Server, Kanal oder Benutzer > ID kopieren.
Projektstruktur
discord-mcp/
├── src/
│ ├── index.ts ← Entry point (MCP server + transport)
│ ├── client.ts ← Discord client + shared helpers
│ ├── constants.ts ← Shared constants (limits, defaults)
│ └── tools/
│ ├── index.ts ← Tool registry
│ ├── types.ts ← Shared TypeScript interfaces
│ ├── discovery.ts ← Guild/channel discovery
│ ├── messages.ts ← Message CRUD, reactions, threads, embeds
│ ├── channels.ts ← Channel management
│ ├── permissions.ts ← Permission overwrites
│ ├── members.ts ← Member management
│ ├── roles.ts ← Role CRUD and assignment
│ ├── moderation.ts ← Audit log
│ ├── screening.ts ← Membership screening
│ ├── stats.ts ← Server statistics
│ ├── forums.ts ← Forum channels, posts, tags
│ ├── webhooks.ts ← Webhook management
│ ├── scheduledEvents.ts ← Scheduled events
│ ├── invites.ts ← Invite management
│ └── dm.ts ← Direct messages
├── .github/workflows/ ← CI/CD (build check + auto release)
├── Dockerfile
├── .dockerignore
├── .env.example
├── package.json
├── tsconfig.json
├── CHANGELOG.md
├── CONTRIBUTING.md
├── SECURITY.md
└── README.mdEin neues Tool hinzufügen
Erstelle eine neue Datei in
src/tools/(z. B.events.ts)Exportiere
definitions(Tool-Schemas) undhandle()(Tool-Logik)Importiere und füge es zum
modules-Array insrc/tools/index.tshinzu
Sicherheit
Committe niemals deinen Discord-Token in Git
Verwende Umgebungsvariablen oder eine
.env-Datei (nicht versioniert)Gib dem Bot nur die Berechtigungen, die er wirklich benötigt
Mitwirken
Beit
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/PaSympa/discord-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server