Skip to main content
Glama

mcp-discord

Der vollständigste Open-Source-MCP-Server für Discord.

License: MIT Node.js TypeScript GitHub stars

Gib jedem MCP-Client (Claude, Cursor, benutzerdefinierte Agenten) die volle Kontrolle über Discord — Nachrichten, Moderation, Kanäle, Rollen und mehr. Entstanden aus dem produktiven Einsatz bei delfus.app und für die Community als Open Source veröffentlicht.

Portugues (BR)


Warum mcp-discord?

  • Über 30 Tools in 8 Kategorien — Server, Kanäle, Nachrichten, Reaktionen, Mitglieder, Rollen, Moderation und Überwachung

  • Dual-Modus — eigenständig ausführen (eigener Prozess) oder als Plugin in deinen bestehenden discord.js-Bot integrieren

  • Nur REST oder Gateway — wähle zwischen dem leichtgewichtigen Nur-REST-Modus oder dem vollständigen WebSocket-Gateway für Echtzeitfunktionen

  • Zwei Transporte — stdio (Standard, für Claude Desktop / Claude Code) oder HTTP mit Bearer-Token-Authentifizierung

  • Produktionserprobt — entwickelt und im Einsatz bei delfus.app


Schnellstart

Voraussetzungen

Installation

# Clone the repository
git clone https://github.com/goul4rt/mcp-discord.git
cd mcp-discord

# Install dependencies
npm install

# Build
npm run build

Konfiguration

cp .env.example .env

Bearbeite .env und füge dein Discord-Bot-Token hinzu:

DISCORD_TOKEN=your-bot-token-here

Ausführen

# stdio transport (default — for MCP clients like Claude)
npm start

# HTTP transport (for remote/web clients)
npm run start:http

MCP-Client-Konfiguration

Claude Desktop / Claude Code

Füge dies zu deiner MCP-Konfigurationsdatei hinzu:

{
    "mcpServers": {
        "discord": {
            "command": "node",
            "args": ["dist/standalone.js"],
            "cwd": "/path/to/mcp-discord",
            "env": {
                "DISCORD_TOKEN": "your-bot-token-here"
            }
        }
    }
}

Mit Gateway (Echtzeitfunktionen)

{
    "mcpServers": {
        "discord": {
            "command": "node",
            "args": ["dist/standalone.js"],
            "cwd": "/path/to/mcp-discord",
            "env": {
                "DISCORD_TOKEN": "your-bot-token-here",
                "DISCORD_USE_GATEWAY": "true"
            }
        }
    }
}

Tools

Server / Gilde (2 Tools)

Tool

Beschreibung

list_servers

Listet alle Discord-Server auf, auf die der Bot Zugriff hat

get_server_info

Ruft detaillierte Informationen zu einem bestimmten Server ab

Kanäle (7 Tools)

Tool

Beschreibung

get_channels

Listet alle Kanäle in einem Server auf

get_channel

Ruft detaillierte Informationen zu einem Kanal ab

create_channel

Erstellt Text-, Sprach-, Kategorie-, Ankündigungs-, Foren- oder Stage-Kanäle

edit_channel

Bearbeitet Kanalname, Thema, NSFW, Slowmode, Position, Kategorie

delete_channel

Löscht einen Kanal dauerhaft

create_thread

Erstellt einen Thread in einem Kanal (optional aus einer Nachricht)

archive_thread

Archiviert einen Thread

Nachrichten (8 Tools)

Tool

Beschreibung

send_message

Sendet Nachrichten mit Text, Rich Embeds und Antworten

read_messages

Liest aktuelle Nachrichten mit Paginierung (bis zu 100)

search_messages

Sucht Nachrichten nach Inhalt, Autor oder Kanal

edit_message

Bearbeitet eine Bot-Nachricht

delete_message

Löscht eine einzelne Nachricht

delete_messages_bulk

Löscht 2-100 Nachrichten in großen Mengen (jünger als 14 Tage)

pin_message

Pinnt eine Nachricht an

unpin_message

Entfernt eine angepinnte Nachricht

Reaktionen (2 Tools)

Tool

Beschreibung

add_reaction

Fügt eine Emoji-Reaktion hinzu (Unicode oder benutzerdefiniert)

remove_reaction

Entfernt eine Reaktion

Mitglieder / Benutzer (4 Tools)

Tool

Beschreibung

list_members

Listet Servermitglieder mit Paginierung auf

get_member

Ruft detaillierte Mitgliederinformationen ab (Rollen, Spitzname, Beitrittsdatum)

get_user

Ruft Informationen über jeden Discord-Benutzer per ID ab

search_members

Sucht Mitglieder nach Benutzername oder Spitzname

Rollen (4 Tools)

Tool

Beschreibung

list_roles

Listet alle Rollen mit Berechtigungen, Farben und Mitgliederzahlen auf

create_role

Erstellt eine neue Rolle

add_role

Fügt einem Mitglied eine Rolle hinzu

remove_role

Entfernt eine Rolle von einem Mitglied

Moderation (4 Tools)

Tool

Beschreibung

timeout_user

Stellt einen Benutzer vorübergehend stumm (bis zu 28 Tage)

kick_user

Kickt einen Benutzer vom Server

ban_user

Bannt einen Benutzer mit optionaler Nachrichtenlöschung

unban_user

Hebt den Bann eines Benutzers auf

Überwachung (2 Tools)

Tool

Beschreibung

get_audit_log

Zeigt das Server-Audit-Log an (Banns, Kicks, Änderungen)

check_mentions

Findet aktuelle @Erwähnungen des Bots oder eines Benutzers


Architektur

┌─────────────────────────────────────────────────┐
│                  MCP Client                      │
│          (Claude, Cursor, custom)                │
└──────────────────┬──────────────────────────────┘
                   │ stdio or HTTP
┌──────────────────▼──────────────────────────────┐
│               MCP Server                         │
│         (transport + tool routing)                │
└──────────────────┬──────────────────────────────┘
                   │
┌──────────────────▼──────────────────────────────┐
│            Tool Registry                         │
│         (30 tools, Zod validation)               │
└──────────────────┬──────────────────────────────┘
                   │
┌──────────────────▼──────────────────────────────┐
│          DiscordProvider (interface)              │
├─────────────────────┬───────────────────────────┤
│ StandaloneProvider  │  IntegratedProvider        │
│ (own token + REST/  │  (uses host bot's          │
│  optional gateway)  │   existing connection)      │
└─────────────────────┴───────────────────────────┘
                   │
┌──────────────────▼──────────────────────────────┐
│              Discord API                         │
└─────────────────────────────────────────────────┘

Provider-Abstraktion: MCP-Tools greifen niemals direkt auf discord.js zu. Sie rufen das DiscordProvider-Interface auf, das zwei Implementierungen hat:

  • StandaloneProvider — erstellt eine eigene Verbindung unter Verwendung eines Bot-Tokens. REST-fokussiert mit optionalem Gateway. Verwenden, wenn als separater Prozess ausgeführt.

  • IntegratedProvider — empfängt einen bestehenden discord.js Client vom Host-Bot. Kein zusätzlicher Overhead, geteilter Cache und Gateway. Verwenden, wenn in einen bestehenden Bot eingebettet.


Integrationsanleitung

Um mcp-discord als Plugin in deinem bestehenden discord.js-Bot zu verwenden:

import { IntegratedProvider, createMcpServer } from 'mcp-discord';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

// Your existing discord.js client
const provider = new IntegratedProvider({ client: myDiscordClient });
await provider.connect();

const server = createMcpServer({ provider });
const transport = new StdioServerTransport();
await server.connect(transport);

Der IntegratedProvider nutzt die bestehende Gateway-Verbindung deines Bots — kein zusätzliches WebSocket, keine zusätzliche Authentifizierung, kein zusätzlicher Speicherverbrauch.


Konfigurationsreferenz

Variable

Erforderlich

Standard

Beschreibung

DISCORD_TOKEN

Ja

Discord-Bot-Token

DISCORD_USE_GATEWAY

Nein

false

Verbindet mit dem Discord-WebSocket-Gateway für Echtzeitfunktionen

MCP_TRANSPORT

Nein

stdio

Transportmodus: stdio oder http

MCP_PORT

Nein

3100

HTTP-Server-Port (nur wenn MCP_TRANSPORT=http)

MCP_AUTH_TOKEN

Nein

Bearer-Token für die HTTP-Transport-Authentifizierung


Mitwirken

Beiträge sind willkommen! Siehe CONTRIBUTING.md für die Entwicklungseinrichtung, den Code-Stil und wie man neue Tools hinzufügt.


Lizenz

MIT


Autor

Erstellt von @goul4rt. Entstanden aus delfus.app und für die Community als Open Source veröffentlicht.

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/goul4rt/mcp-discord'

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