Skip to main content
Glama

MCP-Discord

Docker Hub

Ein Discord MCP (Model Context Protocol) Server, der es KI-Assistenten ermöglicht, mit der Discord-Plattform zu interagieren.

Übersicht

MCP-Discord bietet die folgenden Discord-bezogenen Funktionen:

  • Anmeldung bei einem Discord-Bot

  • Auflisten der Server, auf denen der Bot Mitglied ist

  • Abrufen von Serverinformationen

  • Auflisten von Mitgliedern und Einsehen von Mitgliedsdetails

  • Auflisten, Erstellen, Bearbeiten, Löschen, Zuweisen und Entfernen von Rollen

  • Suchen von Nachrichten auf einem Server

  • Lesen, Bearbeiten und Löschen von Kanalnachrichten

  • Senden von Nachrichten an bestimmte Kanäle

  • Abrufen von Forenkanallisten

  • Erstellen, Aktualisieren, Löschen und Beantworten von Forenbeiträgen

  • Auflisten von Foren-Threads und Verwalten von Foren-Tags

  • Erstellen, Bearbeiten und Löschen von Text-, Foren-, Sprachkanälen und Kategorien

  • Festlegen und Entfernen von Kanalberechtigungs-Overrides

  • Hinzufügen/Entfernen von Nachrichtenreaktionen

  • Erstellen/Bearbeiten/Löschen/Verwenden von Webhooks

Related MCP server: MCP-Discord

Inhaltsverzeichnis

Voraussetzungen

Hinweis:
Gemäß dem Sicherheitsmodell von Discord kann ein Bot nur auf Informationen von Servern zugreifen, denen er explizit hinzugefügt wurde.
Wenn Sie diesen MCP-Server verwenden möchten, um auf einen bestimmten Discord-Server zuzugreifen, müssen Sie den Bot zuerst diesem Server hinzufügen.
Verwenden Sie den unten stehenden Einladungslink, um den Bot Ihrem Zielserver hinzuzufügen.

Installation

Installation via NPM

Sie können es mit dem folgenden Befehl verwenden:

npx mcp-discord --config ${DISCORD_TOKEN}

Weitere Details finden Sie im NPM-Paket.

Installation via Smithery

Um mcp-discord automatisch über Smithery zu installieren

Installation via Docker

Sie können mcp-discord mit Docker ausführen. Die Docker-Images werden automatisch erstellt und auf Docker Hub veröffentlicht.

Docker Hub Repository: barryy625/mcp-discord

Docker verwendet standardmäßig den streamfähigen HTTP-Server über build/app.js.

# Pull the latest image
docker pull barryy625/mcp-discord:latest

# Run HTTP server on port 8080
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 8080:8080 barryy625/mcp-discord:latest

# Override the listening port if needed
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 3000:3000 barryy625/mcp-discord:latest --transport http --port 3000

Verfügbare Tags:

  • latest - Neueste stabile Version aus dem Haupt-Branch

  • v1.3.8, etc. - Spezifische Versions-Releases

Manuelle Installation

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

# Install dependencies
npm install

# Compile TypeScript
npm run build

Konfiguration

Für den ordnungsgemäßen Betrieb ist ein Discord-Bot-Token erforderlich. Der Server unterstützt zwei Transportmethoden: stdio und streamfähiges HTTP.

Transportmethoden

  1. stdio (Standard)

    • Traditioneller stdio-Transport für die grundlegende Nutzung

    • Geeignet für einfache Integrationen

  2. streamfähiges HTTP

    • HTTP-basierter Transport für fortgeschrittenere Szenarien

    • Unterstützt zustandslosen Betrieb

    • Konfigurierbare Portnummer

Konfigurationsoptionen

Sie können die Konfiguration auf zwei Arten bereitstellen:

  1. Umgebungsvariablen:

DISCORD_TOKEN=your_discord_bot_token
  1. Verwendung von Befehlszeilenargumenten:

# For stdio transport (default)
node build/index.js --config "your_discord_bot_token"

# For streamable HTTP transport
node build/app.js --transport http --port 3000 --config "your_discord_bot_token"

Verwendung mit Claude/Cursor

1. Verwendung des Stdio-Transports mit Claude/Cursor

Verwenden Sie build/index.js, wenn Ihr MCP-Client einen befehlsbasierten Stdio-Server erwartet.

Claude Desktop / Claude Code

{
    "mcpServers": {
        "discord": {
            "command": "node",
            "args": [
                "path/to/mcp-discord/build/index.js"
            ],
            "env": {
                "DISCORD_TOKEN": "your_discord_bot_token"
            }
        }
    }
}

Cursor

{
    "mcpServers": {
        "discord": {
            "command": "node",
            "args": [
                "path/to/mcp-discord/build/index.js"
            ],
            "env": {
                "DISCORD_TOKEN": "your_discord_bot_token"
            }
        }
    }
}

Dies ist die empfohlene Einrichtung für lokale befehlsbasierte MCP-Clients.

2. Selbst-Hosting des streamfähigen HTTP-Servers

Verwenden Sie build/app.js, wenn Sie mcp-discord als HTTP-MCP-Server ausführen möchten.

Ausführen mit Node.js

DISCORD_TOKEN=your_discord_bot_token node build/app.js --transport http --port 3000

Unter Windows PowerShell:

$env:DISCORD_TOKEN="your_discord_bot_token"
node build/app.js --transport http --port 3000

Ausführen mit Docker

docker run -e DISCORD_TOKEN=your_discord_bot_token -p 3000:3000 barryy625/mcp-discord:latest --transport http --port 3000

Nach dem Start lautet der MCP-HTTP-Endpunkt:

http://localhost:3000/mcp

3. Verbindung zu einem gehosteten HTTP-MCP-Server

Wenn Sie mcp-discord bereits an anderer Stelle hosten, verweisen Sie Ihren MCP-Client auf den /mcp-Endpunkt des Servers, anstatt build/app.js als Befehl zu starten.

Beispiel-Endpunkt:

https://your-server.example.com/mcp

Wichtige Hinweise:

  • build/app.js startet einen HTTP-Server. Er spricht kein stdio.

  • build/index.js ist der korrekte Einstiegspunkt für befehlsbasierte Stdio-MCP-Clients.

  • Konfigurieren Sie für die gehostete HTTP-Nutzung Ihren MCP-Client so, dass er eine Verbindung zur HTTP-Endpunkt-URL herstellt, die von Ihrer Bereitstellung bereitgestellt wird.

  • Das genaue Format der HTTP-Client-Konfiguration hängt vom verwendeten MCP-Client ab.

Tool-Dokumentation

Grundlegende Funktionen

  • discord_login: Anmeldung bei Discord mit dem konfigurierten Token

  • discord_list_servers: Auflisten aller Discord-Server, auf denen der Bot Mitglied ist

  • discord_send: Senden einer Nachricht an einen bestimmten Kanal

  • discord_get_server_info: Abrufen von Discord-Serverinformationen

Kanalverwaltung

  • discord_create_text_channel: Erstellen eines Textkanals

  • discord_create_forum_channel: Erstellen eines Forenkanals

  • discord_create_voice_channel: Erstellen eines Sprachkanals

  • discord_edit_channel: Bearbeiten eines Kanalnamens, Themas, übergeordneten Kategorien oder der Position

  • discord_delete_channel: Löschen eines Kanals

  • discord_create_category: Erstellen einer Kanalkategorie

  • discord_edit_category: Bearbeiten einer Kanalkategorie

  • discord_delete_category: Löschen einer Kanalkategorie

  • discord_set_channel_permissions: Festlegen von Berechtigungs-Overrides für eine Rolle oder einen Benutzer in einem Kanal/einer Kategorie

  • discord_remove_channel_permissions: Entfernen von Berechtigungs-Overrides aus einem Kanal/einer Kategorie

Forenfunktionen

  • discord_get_forum_channels: Abrufen einer Liste von Forenkanälen

  • discord_create_forum_post: Erstellen eines Forenbeitrags

  • discord_get_forum_post: Abrufen eines Forenbeitrags

  • discord_list_forum_threads: Auflisten aktiver und archivierter Threads in einem Forenkanal

  • discord_reply_to_forum: Antworten auf einen Forenbeitrag

  • discord_get_forum_tags: Abrufen aller verfügbaren Tags für einen Forenkanal

  • discord_set_forum_tags: Ersetzen der verfügbaren Tags für einen Forenkanal

  • discord_update_forum_post: Aktualisieren des Titels, der Tags, des Archivierungsstatus oder des Sperrstatus eines Forenbeitrags

  • discord_delete_forum_post: Löschen eines Forenbeitrags

Nachrichten und Reaktionen

  • discord_search_messages: Suchen von Nachrichten auf einem Server

  • discord_read_messages: Lesen von Kanalnachrichten (unterstützt before, after, around Parameter — akzeptiert Snowflake-IDs oder ISO 8601-Daten wie "2025-03-01T00:00:00Z")

  • discord_edit_message: Bearbeiten einer vom Bot verfassten Nachricht

  • discord_add_reaction: Hinzufügen einer Reaktion zu einer Nachricht

  • discord_add_multiple_reactions: Hinzufügen mehrerer Reaktionen zu einer Nachricht

  • discord_remove_reaction: Entfernen einer Reaktion von einer Nachricht

  • discord_delete_message: Löschen einer bestimmten Nachricht aus einem Kanal

Webhook-Verwaltung

  • discord_create_webhook: Erstellt einen neuen Webhook für einen Discord-Kanal

  • discord_send_webhook_message: Sendet eine Nachricht über einen Webhook an einen Discord-Kanal

  • discord_edit_webhook: Bearbeitet einen bestehenden Webhook für einen Discord-Kanal

  • discord_delete_webhook: Löscht einen bestehenden Webhook für einen Discord-Kanal

Rollenverwaltung

  • discord_list_roles: Auflisten aller Rollen auf einem Server

  • discord_create_role: Erstellen einer Rolle mit Farb-, Hoist-, Erwähnbarkeits- und Berechtigungsoptionen

  • discord_edit_role: Bearbeiten einer bestehenden Rolle

  • discord_delete_role: Löschen einer Rolle

  • discord_assign_role: Zuweisen einer Rolle an ein Mitglied

  • discord_remove_role: Entfernen einer Rolle von einem Mitglied

Mitgliederverwaltung

  • discord_list_members: Auflisten von Mitgliedern auf einem Server mit Rollen

  • discord_get_member: Abrufen detaillierter Informationen über ein bestimmtes Mitglied

Entwicklung

# Development mode
npm run dev

Lizenz

MIT-Lizenz

Available Tools

46 tools
discord_add_multiple_reactionsB

Adds multiple emoji reactions to a Discord message at once

Inputs: emojis (required), channelId (required), messageId (required).

discord_add_reactionC

Adds an emoji reaction to a specific Discord message

Inputs: emoji (required), channelId (required), messageId (required).

discord_assign_roleC

Assigns a role to a member in a Discord server

Inputs: roleId (required), userId (required), guildId (required), reason.

discord_create_categoryC

Creates a new category in a Discord server.

Inputs: name (required), guildId (required), reason, position.

discord_create_forum_channelA

Creates a new forum channel in a Discord server, optionally under a category

Inputs: name (required), guildId (required), topic, categoryId.

discord_create_forum_postB

Creates a new post in a Discord forum channel with optional tags

Inputs: title (required), content (required), forumChannelId (required), tags, +1 more.

discord_create_roleB

Creates a new role in a Discord server

Inputs: name (required), guildId (required), color, hoist, +3 more.

discord_create_text_channelA

Creates a new text channel in a Discord server with an optional topic and parent category

Inputs: guildId (required), channelName (required), topic, categoryId.

discord_create_voice_channelB

Creates a new voice channel in a Discord server with an optional parent category

Inputs: guildId (required), channelName (required), reason, userLimit, +1 more.

discord_create_webhookC

Creates a new webhook for a Discord channel

Inputs: name (required), channelId (required), avatar, reason.

discord_delete_categoryB

Deletes a Discord category by ID.

Inputs: categoryId (required), reason.

discord_delete_channelB

Deletes a Discord channel with an optional reason

Inputs: channelId (required), reason.

discord_delete_forum_postC

Deletes a forum post or thread with an optional reason

Inputs: threadId (required), reason.

discord_delete_messageB

Deletes a specific message from a Discord text channel

Inputs: channelId (required), messageId (required), reason.

discord_delete_roleA

Deletes a role from a Discord server

Inputs: roleId (required), guildId (required), reason.

discord_delete_webhookC

Deletes an existing webhook for a Discord channel

Inputs: webhookId (required), reason, webhookToken.

discord_edit_categoryB

Edits an existing Discord category (name and position).

Inputs: categoryId (required), name, reason, position.

discord_edit_channelA

Edits a Discord channel's name, topic, parent category, or position

Inputs: channelId (required), name, topic, reason, +2 more.

discord_edit_messageA

Edits a message previously sent by the bot. Only messages authored by the bot can be edited.

Inputs: content (required), channelId (required), messageId (required).

discord_edit_roleB

Edits an existing role in a Discord server

Inputs: roleId (required), guildId (required), name, color, +5 more.

discord_edit_webhookC

Edits an existing webhook for a Discord channel

Inputs: webhookId (required), name, avatar, reason, +2 more.

discord_get_forum_channelsA

Lists all forum channels in a specified Discord server (guild)

Inputs: guildId (required).

discord_get_forum_postB

Retrieves details about a forum post including its messages

Inputs: threadId (required).

discord_get_forum_tagsA

Gets all available tags for a Discord forum channel, including tag IDs, names, and emoji

Inputs: forumChannelId (required).

discord_get_memberB

Gets detailed information about a specific member in a Discord server

Inputs: userId (required), guildId (required).

discord_get_reaction_usersA

Lists the users who reacted with a specific emoji to a Discord message. Uses REST fetch and does not require Gateway intents. Returns up to 100 users per call.

Inputs: emoji (required), channelId (required), messageId (required), limit.

discord_get_server_infoB

Retrieves detailed information about a Discord server including channels and member count

Inputs: guildId (required).

discord_list_forum_threadsA

Lists all threads (posts) in a Discord forum channel, including both active and archived threads

Inputs: forumChannelId (required), limit, includeArchived.

discord_list_membersB

Lists members in a Discord server with their roles

Inputs: guildId (required), after, limit.

discord_list_pinned_messagesA

Lists the pinned messages of a channel, newest pin first.

Inputs: channelId (required), limit.

discord_list_rolesA

Lists all roles in a Discord server with their properties

Inputs: guildId (required).

discord_list_serversA

Lists all Discord servers the bot is a member of

Inputs: no named parameters.

discord_loginB

Logs in to Discord using the configured token

Inputs: token.

discord_pin_messageB

Pins a message to its channel. A channel can hold at most 50 pinned messages.

Inputs: channelId (required), messageId (required), reason.

discord_read_messagesA

Retrieves messages from a Discord text channel. Supports date-based filtering via before/after/around params (accepts snowflake IDs or ISO 8601 dates).

Inputs: channelId (required), after, limit, around, +1 more.

discord_remove_channel_permissionsA

Removes all permission overrides for a role or user on a channel or category

Inputs: roleId (required), channelId (required), reason.

discord_remove_reactionB

Removes a specific emoji reaction from a Discord message

Inputs: emoji (required), channelId (required), messageId (required), userId.

discord_remove_roleA

Removes a role from a member in a Discord server

Inputs: roleId (required), userId (required), guildId (required), reason.

discord_reply_to_forumB

Adds a reply to an existing forum post or thread

Inputs: message (required), threadId (required).

discord_search_messagesC

Searches for messages in a Discord server

Inputs: guildId (required), has, limit, maxId, +10 more.

discord_sendA

Sends a message to a specified Discord text channel. Optionally reply to another message by providing its message ID.

Inputs: message (required), channelId (required), replyToMessageId.

discord_send_webhook_messageB

Sends a message to a Discord channel using a webhook

Inputs: content (required), webhookId (required), webhookToken (required), threadId, +2 more.

discord_set_channel_permissionsA

Sets permission overrides for a role or user on a channel or category

Inputs: roleId (required), channelId (required), deny, allow, +1 more.

discord_set_forum_tagsA

Sets the available tags for a Discord forum channel. Replaces all existing tags.

Inputs: tags (required), forumChannelId (required).

discord_unpin_messageA

Removes a message from its channel's pinned messages.

Inputs: channelId (required), messageId (required), reason.

discord_update_forum_postB

Updates a forum post's title, applied tags, archived status, locked status, or pinned status. Tags can be specified by name or ID.

Inputs: threadId (required), name, tags, locked, +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.9/5.0

    Scored across 46 tools

    Disambiguation3/5

    Multiple tools have overlapping purposes, such as 'discord_read_messages' vs 'discord_search_messages' and 'discord_reply_to_forum' vs 'discord_create_forum_post', which could confuse agents. The distinction between 'get', 'list', and 'read' is not always clear.

    Naming Consistency4/5

    All tools follow a consistent 'discord_verb_object' pattern, making the naming predictable. However, there is some verb variation (get, list, read, search) that slightly reduces strict consistency, but overall it is well-structured.

    Tool Count1/5

    With 46 tools, this far exceeds the recommended 3-15 scope for a well-designed MCP server. The high number of tools likely overwhelms agents and increases selection complexity, making it inappropriate for most use cases.

    Completeness2/5

    Despite the large number of tools, there are notable gaps such as missing getters for channels, webhooks, and roles (e.g., 'get_channel', 'list_webhooks'). Core operations like updating a message or deleting a webhook are present, but the surface is uneven and overfocused on creation/deletion.

    Maintenance

    ActivityActive
    ResponsivenessUsually handled

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      A Discord MCP server that enables AI assistants to interact with Discord platforms, providing functionalities like sending messages, managing channels, creating forum posts, and handling webhooks.
      21
      827 npm
      1
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      A Discord Model Context Protocol server that enables AI assistants to interact with Discord by sending messages, managing channels, handling forum posts, managing webhooks, and processing reactions.
      22
      84 npm
      5
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      A Discord MCP server that enables AI assistants to interact with the Discord platform, providing features like message sending, channel management, forum operations, reactions, and webhook management.
      22
      827 npm
      MIT