MCP-Discord
MCP-Discord
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
Node.js (v18.0.0 oder höher)
npm (v7.0.0 oder höher)
Ein Discord-Bot mit entsprechenden Berechtigungen
Bot-Token (erhältlich über das Discord Developer Portal)
Message Content Intent aktiviert
Server Members Intent aktiviert
Presence Intent aktiviert
Erforderliche Berechtigungen auf Ihrem Discord-Server:
Einfachste Einrichtung
Administrator (Empfohlen für eine schnelle Einrichtung und volle Funktionalität)
Oder wählen Sie nur die erforderlichen Berechtigungen aus:
Nachrichten senden
Öffentliche Threads erstellen
Nachrichten in Threads senden
Nachrichten verwalten
Threads verwalten
Kanäle verwalten
Webhooks verwalten
Rollen verwalten
Reaktionen hinzufügen
Kanal anzeigen
Fügen Sie Ihren Discord-Bot Ihrem Server hinzu
Um Ihren Discord-Bot Ihrem Server hinzuzufügen, verwenden Sie einen der folgenden Einladungslinks (ersetzen Sie
INSERT_CLIENT_ID_HEREdurch die Client-ID Ihres Bots):Administrator (vollständiger Zugriff): https://discord.com/oauth2/authorize?client\\\\_id=INSERT\\\\_CLIENT\\\\_ID\\\\_HERE\\\\&scope=bot\\\\&permissions=8
Benutzerdefinierte Berechtigungen (erforderliches Minimum): https://discord.com/oauth2/authorize?client\\\\_id=INSERT\\\\_CLIENT\\\\_ID\\\\_HERE\\\\&scope=bot\\\\&permissions=52076489808
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 3000Verfügbare Tags:
latest- Neueste stabile Version aus dem Haupt-Branchv1.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 buildKonfiguration
Für den ordnungsgemäßen Betrieb ist ein Discord-Bot-Token erforderlich. Der Server unterstützt zwei Transportmethoden: stdio und streamfähiges HTTP.
Transportmethoden
stdio (Standard)
Traditioneller stdio-Transport für die grundlegende Nutzung
Geeignet für einfache Integrationen
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:
Umgebungsvariablen:
DISCORD_TOKEN=your_discord_bot_tokenVerwendung 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 3000Unter Windows PowerShell:
$env:DISCORD_TOKEN="your_discord_bot_token"
node build/app.js --transport http --port 3000Ausführen mit Docker
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 3000:3000 barryy625/mcp-discord:latest --transport http --port 3000Nach dem Start lautet der MCP-HTTP-Endpunkt:
http://localhost:3000/mcp3. 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/mcpWichtige Hinweise:
build/app.jsstartet einen HTTP-Server. Er spricht kein stdio.build/index.jsist 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 Tokendiscord_list_servers: Auflisten aller Discord-Server, auf denen der Bot Mitglied istdiscord_send: Senden einer Nachricht an einen bestimmten Kanaldiscord_get_server_info: Abrufen von Discord-Serverinformationen
Kanalverwaltung
discord_create_text_channel: Erstellen eines Textkanalsdiscord_create_forum_channel: Erstellen eines Forenkanalsdiscord_create_voice_channel: Erstellen eines Sprachkanalsdiscord_edit_channel: Bearbeiten eines Kanalnamens, Themas, übergeordneten Kategorien oder der Positiondiscord_delete_channel: Löschen eines Kanalsdiscord_create_category: Erstellen einer Kanalkategoriediscord_edit_category: Bearbeiten einer Kanalkategoriediscord_delete_category: Löschen einer Kanalkategoriediscord_set_channel_permissions: Festlegen von Berechtigungs-Overrides für eine Rolle oder einen Benutzer in einem Kanal/einer Kategoriediscord_remove_channel_permissions: Entfernen von Berechtigungs-Overrides aus einem Kanal/einer Kategorie
Forenfunktionen
discord_get_forum_channels: Abrufen einer Liste von Forenkanälendiscord_create_forum_post: Erstellen eines Forenbeitragsdiscord_get_forum_post: Abrufen eines Forenbeitragsdiscord_list_forum_threads: Auflisten aktiver und archivierter Threads in einem Forenkanaldiscord_reply_to_forum: Antworten auf einen Forenbeitragdiscord_get_forum_tags: Abrufen aller verfügbaren Tags für einen Forenkanaldiscord_set_forum_tags: Ersetzen der verfügbaren Tags für einen Forenkanaldiscord_update_forum_post: Aktualisieren des Titels, der Tags, des Archivierungsstatus oder des Sperrstatus eines Forenbeitragsdiscord_delete_forum_post: Löschen eines Forenbeitrags
Nachrichten und Reaktionen
discord_search_messages: Suchen von Nachrichten auf einem Serverdiscord_read_messages: Lesen von Kanalnachrichten (unterstütztbefore,after,aroundParameter — akzeptiert Snowflake-IDs oder ISO 8601-Daten wie"2025-03-01T00:00:00Z")discord_edit_message: Bearbeiten einer vom Bot verfassten Nachrichtdiscord_add_reaction: Hinzufügen einer Reaktion zu einer Nachrichtdiscord_add_multiple_reactions: Hinzufügen mehrerer Reaktionen zu einer Nachrichtdiscord_remove_reaction: Entfernen einer Reaktion von einer Nachrichtdiscord_delete_message: Löschen einer bestimmten Nachricht aus einem Kanal
Webhook-Verwaltung
discord_create_webhook: Erstellt einen neuen Webhook für einen Discord-Kanaldiscord_send_webhook_message: Sendet eine Nachricht über einen Webhook an einen Discord-Kanaldiscord_edit_webhook: Bearbeitet einen bestehenden Webhook für einen Discord-Kanaldiscord_delete_webhook: Löscht einen bestehenden Webhook für einen Discord-Kanal
Rollenverwaltung
discord_list_roles: Auflisten aller Rollen auf einem Serverdiscord_create_role: Erstellen einer Rolle mit Farb-, Hoist-, Erwähnbarkeits- und Berechtigungsoptionendiscord_edit_role: Bearbeiten einer bestehenden Rollediscord_delete_role: Löschen einer Rollediscord_assign_role: Zuweisen einer Rolle an ein Mitglieddiscord_remove_role: Entfernen einer Rolle von einem Mitglied
Mitgliederverwaltung
discord_list_members: Auflisten von Mitgliedern auf einem Server mit Rollendiscord_get_member: Abrufen detaillierter Informationen über ein bestimmtes Mitglied
Entwicklung
# Development mode
npm run devLizenz
Available Tools
46 toolsdiscord_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
Scored across 46 tools
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.
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.
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.
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
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
An MCP server that integrates with Discord to provide AI-powered features.
Discord MCP server for ChatGPT, Claude and any AI agent: list servers and channels, read channel messages, search messages, send message, reply to message, send DM, read mentions and assign role in your own Discord account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Discord yourself; Cotlet does not store your password and you need no Discord API key. About the official Discord API: Yes, Discord has an official API for bots and OAuth2 apps, but it acts as a bot that a server manager adds, not as you, and Discord has no official MCP server for it (checked 5 Nov 2026). The MCP server on Discord's docs site only searches documentation. Setup and FAQ: https://cotlet.dev/integrations/discord-api-mcp-server
Official Duck Framework MCP server for AI-assisted development and project scaffolding.
Related MCP Servers
- AlicenseBqualityDmaintenanceA 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.21827 npm1MIT
- AlicenseBqualityDmaintenanceA 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.2284 npm5MIT
- AlicenseNot gradedqualityDmaintenanceA Discord bot server based on Model Context Protocol (MCP), enabling AI models to interact with Discord through the MCP protocol.2MIT
- AlicenseBqualityDmaintenanceA 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.22827 npmMIT