Discord
Un servidor para leer y enviar mensajes en Discord.
Documentación
Servidor MCP de Discord
Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los LLMs leer mensajes, descubrir canales, enviar mensajes y monitorear comunidades de Discord mediante web scraping.
Características
- Lista los servidores y canales de Discord a los que tienes acceso
- Lee mensajes recientes con filtrado por tiempo (más recientes primero)
- Envía mensajes a canales de Discord (divide automáticamente mensajes largos)
- Enfoque de web scraping: funciona con cualquier servidor de Discord al que puedas acceder como usuario
- No requiere permisos de bot ni tokens de API
Inicio rápido con Claude Code
# Add Discord MCP server
claude mcp add discord-mcp -s user -e DISCORD_EMAIL=your_email@example.com -e DISCORD_PASSWORD=your_password -e DISCORD_HEADLESS=true -- uvx --from git+https://github.com/elyxlz/discord-mcp.git discord-mcp
# Start Claude Code
claude
Ejemplos de uso
# List your Discord servers
> use get_servers to show me all my Discord servers
# Read recent messages (max_messages is required)
> read the last 20 messages from channel ID 123 in server ID 456
# Send a message (long messages automatically split)
> send "Hello!" to channel 123 in server 456
# Send a long message (will be split automatically)
> send a very long message with multiple paragraphs to channel 123 in server 456
# Monitor communities
> summarize discussions from the last 24 hours across my Discord servers
Herramientas disponibles
get_servers- Lista todos los servidores de Discord a los que tienes accesoget_channels(server_id)- Lista los canales en un servidor específicoread_messages(server_id, channel_id, max_messages, hours_back?)- Lee mensajes recientes (más recientes primero, max_messages requerido)send_message(server_id, channel_id, content)- Envía mensajes a canales (divide automáticamente mensajes largos)
Configuración manual
Requisitos previos
- Python 3.10+ con el gestor de paquetes
uv - Credenciales de cuenta de Discord
Instalación
git clone https://github.com/elyxlz/discord-mcp.git
cd discord-mcp
uv sync
uv run playwright install
Configuración
Crea el archivo .env:
DISCORD_EMAIL=your_email@example.com
DISCORD_PASSWORD=your_password
DISCORD_HEADLESS=true
Ejecutar el servidor
uv run python main.py
Integración con Claude Desktop
Añade a ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"discord": {
"command": "uvx",
"args": ["--from", "git+https://github.com/elyxlz/discord-mcp.git", "discord-mcp"],
"env": {
"DISCORD_EMAIL": "your_email@example.com",
"DISCORD_PASSWORD": "your_password",
"DISCORD_HEADLESS": "true"
}
}
}
}
Desarrollo
# Type checking
uv run pyright
# Formatting
uvx ruff format .
# Linting
uvx ruff check --fix --unsafe-fixes .
# Testing
uv run pytest -v tests/
Notas de seguridad
- Usa contraseñas de aplicación si la verificación en dos pasos (2FA) está habilitada
- Considera usar una cuenta de Discord dedicada para automatización
- El servidor incluye retrasos para evitar limitación de velocidad (0.5s entre mensajes divididos)
- Usa siempre
DISCORD_HEADLESS=trueen producción
Solución de problemas
- Problemas de inicio de sesión: Verifica las credenciales, usa contraseña de aplicación para 2FA
- Errores del navegador: Ejecuta
uv run playwright install --force - Límites de velocidad: Reduce
max_messages, monitorea advertencias de Discord (el servidor divide automáticamente mensajes largos con retrasos) - Problemas de cookies: Elimina
~/.discord_mcp_cookies.jsonsi es necesario - División de mensajes: Los mensajes largos (>2000 caracteres) se dividen automáticamente en múltiples mensajes con retrasos de 0.5s
Aviso legal
Asegura el cumplimiento de los Términos de Servicio de Discord. Solo accede a información a la que normalmente tendrías acceso como usuario. Usa esto para fines legítimos de monitoreo e investigación.