Discord MCP
Discord MCP
Remote-MCP-Server (Streamable HTTP), der Discord als Tools bereitstellt und für die Verbindung über Claude → Einstellungen → Connectors → Add custom connector (https://claude.ai/ask-your-org/setup, Option Custom) gedacht ist.
Was er bereitstellt
Werkzeuge (Tools) für die Discord-API, basierend auf discord.py:
list_guilds— Server, auf die der Bot Zugriff hat.list_channels(guild_id)— Kanäle eines Servers.list_members(guild_id, limit)— Mitglieder eines Servers.list_roles(guild_id)— Rollen eines Servers.send_message(channel_id, content)— eine Nachricht senden.read_messages(channel_id, limit, before_message_id)— Verlauf lesen.create_thread(channel_id, name, message_id?, auto_archive_minutes)— einen Thread erstellen.add_reaction(channel_id, message_id, emoji)/remove_reaction(...)— Reaktionen.add_role_to_member(guild_id, user_id, role_id)/remove_role_from_member(...)— Rollen.
Alle IDs (Server, Kanal, Nachricht, Benutzer, Rolle) sind die Discord-Snowflakes, als String.
Related MCP server: Discord MCP Server
1. Discord-Bot erstellen
Gehe zum Discord Developer Portal und erstelle eine New Application.
Unter Bot erstellst du den Bot und kopierst das Token (Schaltfläche Reset Token). Es ist der Wert von
DISCORD_BOT_TOKEN.Aktiviere im selben Abschnitt Bot → Privileged Gateway Intents:
Server Members Intent (erforderlich für
list_membersund Rollenverwaltung).Message Content Intent (erforderlich, um den Inhalt der Nachrichten in
read_messageszu lesen).
Unter OAuth2 → URL Generator:
Scopes:
bot.Bot Permissions (passe sie je nach Verwendungszweck an):
View Channels,Send Messages,Read Message History,Create Public Threads,Add Reactions,Manage Roles.Öffne die generierte URL und lade den Bot auf den Server ein, auf dem du ihn verwenden möchtest.
Wenn du
add_role_to_member/remove_role_from_memberverwenden möchtest, stelle sicher, dass die Bot-Rolle höher steht (höhere Hierarchie) als die Rollen, die du zuweisen möchtest.
2. Umgebungsvariablen konfigurieren
Kopiere .env.example nach .env und fülle sie aus:
cp .env.example .envDISCORD_BOT_TOKEN: das Token aus dem vorherigen Schritt.MCP_AUTH_TOKEN: ein eigenes Geheimnis zum Schutz des Servers (generiere es mitpython -c "import secrets; print(secrets.token_urlsafe(32))"). Claude.ai sendet es bei jeder Anfrage als HeaderAuthorization: Bearer <token>(siehe Schritt 4).Die übrigen Variablen haben sinnvolle Standardwerte — siehe Kommentare in
.env.example.
3. Server ausführen
Lokal (ohne Docker)
python -m venv .venv && source .venv/bin/activate
pip install -e .
python -m discord_mcp # o: discord-mcpStandardmäßig lauscht er auf http://0.0.0.0:8000/mcp.
Mit Docker
docker compose up --buildoder manuell:
docker build -t discord-mcp .
docker run --env-file .env -p 8000:8000 discord-mcpBereitstellen (Render / Railway / Fly.io / beliebiges VPS)
Das Image ist ein generischer HTTP-Container ohne eigenen persistenten Zustand (der Zustand des Bots lebt im Speicher und in Discord) und läuft daher bei jedem Anbieter, der Docker unterstützt:
Konfiguriere die Umgebungsvariablen aus Schritt 2 im Panel des Anbieters.
Gib den Port
8000(oder den inPORTdefinierten) über HTTPS frei — Claude.ai verlangt, dass der MCP-Server überhttps://erreichbar ist.Nach der Bereitstellung lautet die Connector-URL
https://<tu-dominio>/mcp.
Um den Schutz gegen DNS-Rebinding in der Produktion zu verstärken, setze ALLOWED_HOSTS (den öffentlichen Hostnamen des Servers) und ALLOWED_ORIGINS (z. B. https://claude.ai).
4. In claude.ai als Custom-Connector verbinden
Gehe zu
https://claude.ai/ask-your-org/setup(oder Einstellungen → Connectors) und wähle Add custom connector / Custom.Name:
Discord(oder wie du möchtest).URL:
https://<tu-dominio>/mcp.Füge unter Request headers / Advanced settings hinzu:
Header:
AuthorizationWert:
Bearer <el mismo valor que pusiste en MCP_AUTH_TOKEN>
Speichere und teste, indem du Claude etwas wie „Liste die verfügbaren Discord-Server auf" bittest — er sollte
list_guildsaufrufen.
Wenn du keine Authentifizierung verwenden möchtest (nur für schnelle Tests, niemals in der Produktion), lasse MCP_AUTH_TOKEN leer und lasse den Header weg.
Entwicklung
pip install -e ".[dev]"
pytestDie Tests decken die Konfiguration, die Authentifizierungs-Middleware und die Logik von DiscordService ab, die keine echte Verbindung zu Discord erfordert (es gibt keine Integrationstests gegen die echte Discord-API).
Anmerkungen zur Architektur
Der
discord.py-Bot läuft als Hintergrundaufgabe im selben Event-Loop wie der ASGI-Server (Starlette/uvicorn); er startet und stoppt zusammen mit dem Lifespan der App (src/discord_mcp/server.py).Der MCP-Server verwendet den Transport Streamable HTTP (
mcp.server.MCPServeraus dem offiziellen SDKmcp), den Remote-Transport, der von den Custom-Connectors von Claude unterstützt wird.Die Authentifizierung ist ein statischer Bearer-Token, der von einer eigenen ASGI-Middleware (
auth_middleware.py) validiert wird, die für den Mechanismus „Request headers" der Custom-Connectors gedacht ist — ein vollständiger OAuth-Flow wird nicht implementiert.
This server cannot be installed
Maintenance
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
- Alicense-qualityDmaintenanceAn MCP server for Discord that enables AI assistants to interact with Discord servers, channels, and messages via the Discord API.7MIT
- Alicense-qualityDmaintenanceA Dockerized MCP server that enables Discord integration, offering tools for role management, messaging, moderation, and server administration via natural language.1MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables LLMs to control Discord servers via a bot token, providing comprehensive management tools for messages, members, roles, channels, permissions, and more.67124MIT
- FlicenseCqualityCmaintenanceAn MCP server that exposes Discord bot actions as tools for LLM clients.4291
Related MCP Connectors
An MCP server that integrates with Discord to provide AI-powered features.
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
MCP server for AI dialogue using various LLM models via AceDataCloud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/fboiero/DiscordMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server