Discord MCP by Quadslab.io
Gestión completa de servidores Discord mediante IA. 134 herramientas que cubren moderación, roles, canales, webhooks y funciones comunitarias, con resolución difusa de nombres y verificaciones instantáneas de estado de permisos.
Documentación
@quadslab.io/discord-mcp
Gestiona todo tu servidor de Discord desde Claude Code, Claude Co-Work, Claude Desktop, Cursor o Windsurf. 139 herramientas de administración en 20 categorías: roles, canales, miembros, mensajes, hilos, moderación, foros, escenarios, webhooks, eventos, encuestas, mensajes directos y más. Solo habla con tu IA en lenguaje natural.
Creado por QuadsLab.io | Discord | npm
Si te resulta útil, considera darle una estrella en GitHub: ¡ayuda a que otros descubran el proyecto!
Configuración en 60 segundos
Un solo comando. Sin archivos de configuración manuales. Sin copiar IDs.
npx @quadslab.io/discord-mcp init
El asistente interactivo te guía paso a paso:
Hará lo siguiente:
- Te guiará para crear un bot de Discord (o usar uno existente)
- Validará tu token de bot en vivo
- Generará automáticamente la URL de invitación con todos los permisos necesarios
- Te permitirá elegir qué servidor administrar
- Detectar automáticamente tus clientes MCP instalados y escribirá la configuración por ti
Funciona con todos los clientes MCP
El asistente detecta automáticamente qué clientes tienes instalados:
Detected MCP clients:
● Claude Code .mcp.json
● Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json
● Cursor ~/.cursor/mcp.json
○ Windsurf (not detected)
? Which client(s) to configure?
1. Claude Code (detected)
2. Claude Desktop (detected)
3. Cursor (detected)
4. Windsurf (not found)
5. All detected (3 clients)
6. Skip (show config to copy manually)
Selecciona uno, varios o "Todos los detectados" para configurar todo a la vez.
Verifica tu configuración
npx @quadslab.io/discord-mcp check
QuadsLab.io [discord-mcp] — Health Check
────────────────────────────────────────────────────
Token ............ present
Bot .............. MyBot#1234
Server ........... My Gaming Server (1,024 members)
Permissions
────────────────────────────────────────────────────
✔ Manage Roles .............. yes
✔ Manage Channels ........... yes
✔ Kick Members .............. yes
✔ Ban Members ............... yes
...
██████████████████████████████ 100% (24/24)
✔ All 24 permissions granted
┌──────────────────────────────────────────────────┐
│ MCP server is ready! │
│ Run discord-mcp or use via .mcp.json in Claude │
└──────────────────────────────────────────────────┘
¿Qué puedes hacer con esto?
Una vez conectado a Claude Code o Claude Co-Work, solo pregunta en lenguaje natural:
- "Envía un mensaje de bienvenida en #general"
- "Bloquea el canal #anuncios"
- "¿Quién reaccionó al último mensaje en #guía-del-servidor?"
- "Crea un rol llamado VIP con color dorado y asígnalo a @john"
- "Muéstrame el registro de auditoría de las últimas 24 horas"
- "Configura una regla de automoderación para bloquear enlaces en #general"
- "Muéstrame los últimos 20 mensajes en el hilo 'Discusión de API'"
- "Envía una respuesta en el hilo 'reporte-de-error' diciendo que lo estamos investigando"
- "Lista todos los hilos archivados en #general"
- "Crea una publicación en el foro #comentarios titulada Reportes de errores"
- "Aplica un tiempo de espera a @spammer por 1 hora por spam"
- "Lista todos los webhooks y elimina los que no se usan"
- "Programa un evento comunitario para el viernes a las 8pm en el canal de escenario"
- "Elimina en masa los últimos 50 mensajes en #pruebas-de-bot"
- "Dale a todos los que tengan el rol Miembro acceso a #canal-privado"
- "Crea una encuesta en #general preguntando qué juego jugar el viernes"
- "Envía un mensaje directo a todos los moderadores sobre el próximo evento del servidor"
- "Establece el estado del bot como 'Vigilando a más de 500 miembros'"
- "Muéstrame quién está en el canal de voz Gaming ahora mismo"
Claude resuelve automáticamente los nombres de canales, roles y miembros mediante coincidencia difusa: no necesitas buscar IDs.
Características
- 139 herramientas en 20 categorías: administración integral del servidor de Discord sin salir de la terminal
- Asistente de configuración interactivo:
npx initte guía en la creación del bot, validación del token y configuración en menos de un minuto - Verificación de estado y auditoría de permisos:
npx checkverifica tu token, acceso al servidor y los 24 permisos requeridos con una barra de progreso visual - Resolución difusa de nombres: escribe
"bot testing","bot-testing"o"bottesting"y se resuelve correctamente; no necesitas buscar IDs - Mensajería compatible con hilos: todas las herramientas de mensajes (enviar, editar, fijar, reaccionar, etc.) funcionan tanto en hilos como en canales: no se necesitan herramientas separadas
- Coincidencia de nombres sin configuración: canales, roles y miembros se resuelven automáticamente por nombre, ID o formato de mención
- Datos del servidor precargados: todos los canales, roles y miembros se almacenan en caché al inicio para búsquedas instantáneas sin llamadas API adicionales
- Respuestas JSON estructuradas: cada herramienta devuelve JSON consistente y bien formateado
- Integración con registro de auditoría: todas las operaciones de modificación aceptan un parámetro
reasonque aparece en el registro de auditoría de Discord - Recuperación de errores útil: las búsquedas fallidas devuelven sugerencias (por ejemplo, "¿Quisiste decir: #general, #pruebas-de-bot?")
- Recursos MCP: tres recursos de solo lectura para datos de descripción general del servidor
Configuración alternativa (manual)
Si prefieres configurar las cosas manualmente en lugar de usar el asistente:
Pasos de configuración manual
1. Crea un bot de Discord
Sigue la Guía de configuración del bot para crear un bot en el Portal de desarrolladores de Discord y obtener tu token.
2. Agrega a tu configuración de MCP
Agrega la siguiente entrada discord al archivo de configuración de tu cliente:
{
"mcpServers": {
"discord": {
"command": "npx",
"args": ["-y", "@quadslab.io/discord-mcp"],
"env": {
"DISCORD_TOKEN": "your-bot-token",
"DISCORD_GUILD_ID": "your-server-id"
}
}
}
}
| Cliente | Ubicación del archivo de configuración |
|---|---|
| Claude Code | .mcp.json en la raíz de tu proyecto |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows) |
| Cursor | ~/.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
3. Conecta
- Claude Code: Escribe
/mcppara conectarte - Claude Desktop: Reinicia la aplicación
- Cursor / Windsurf: Recarga la ventana
Ejecutar desde el código fuente
git clone https://github.com/HardHeadHackerHead/discord-mcp.git
cd discord-mcp
npm install
cp .env.example .env
# Edit .env with your DISCORD_TOKEN and DISCORD_GUILD_ID
npm run build
npm start
Referencia de CLI
$ npx @quadslab.io/discord-mcp [command]
| Comando | Descripción |
|---|---|
init | Asistente de configuración interactivo: crea el bot, valida el token y configura automáticamente Claude Code / Co-Work / Desktop / Cursor / Windsurf |
check | Verificación de estado: verifica token, acceso al servidor y auditoría de permisos |
update | Busca nuevas versiones y limpia la caché de npx para que la próxima ejecución use la más reciente |
start | Inicia el servidor MCP (predeterminado cuando no se da ningún comando) |
help | Muestra el mensaje de ayuda |
version | Muestra la versión |
Cuando se inicia mediante .mcp.json (stdin no es un TTY), el servidor se inicia automáticamente: no se necesita ningún subcomando.
Actualización
La configuración de tu cliente MCP no fija una versión, por lo que actualizar es simple:
npx @quadslab.io/discord-mcp update
Esto busca la última versión en npm, limpia la caché de npx, y tu próximo lanzamiento del cliente MCP usará la nueva versión automáticamente. Tu token de bot, servidor y configuración de cliente se conservan: no es necesario reconfigurar nada.
Para verificar después de actualizar:
npx @quadslab.io/discord-mcp version
npx @quadslab.io/discord-mcp check
Descripción general de herramientas
Resumen
| Categoría | Herramientas | Descripción |
|---|---|---|
| Guild | 2 | Información del servidor y metadatos |
| Roles | 11 | Creación, edición, permisos y asignación de roles |
| Canales | 20 | Creación, edición, permisos y organización de canales |
| Miembros | 15 | Gestión de miembros, moderación y operaciones masivas |
| Mensajes | 14 | Enviar, editar, eliminar, fijar y reaccionar a mensajes (también funciona en hilos) |
| Reacciones | 1 | Datos detallados de reacciones con información del que reacciona |
| Administración del servidor | 16 | Configuración del servidor, invitaciones, baneos, registro de auditoría e integraciones |
| Hilos | 15 | Creación, lectura, edición, archivado y gestión de miembros de hilos |
| Foros | 5 | Publicaciones de foro y gestión de etiquetas |
| Emojis y stickers | 7 | Gestión de emojis y stickers personalizados |
| Webhooks | 4 | Creación, eliminación y mensajería de webhooks |
| Eventos programados | 5 | Creación, edición y eliminación de eventos |
| Instancias de escenario | 3 | Gestión de canales de escenario |
| Automoderación | 4 | Creación, edición y eliminación de reglas de automoderación |
| Encuestas | 3 | Crear encuestas, obtener resultados, finalizar encuestas antes de tiempo |
| Mensajes directos | 2 | Enviar mensajes directos y mensajes directos con inserción a miembros del servidor |
| Presencia del bot | 2 | Establecer estado/actividad del bot, obtener información del bot |
| Plantillas de servidor | 4 | Listar, crear, eliminar, sincronizar plantillas de servidor |
| Comandos de aplicación | 4 | Gestionar comandos de barra (CRUD) |
| Incorporación | 2 | Obtener y editar la configuración de incorporación del servidor |
| Total | 139 |
Referencia completa de herramientas (haz clic para expandir)
Guild (2 herramientas)
| Herramienta | Descripción |
|---|---|
list_guilds | Lista todos los servidores de los que el bot es miembro |
get_guild_info | Información detallada del servidor: número de miembros, canales, roles, características, nivel de impulso |
Roles (11 herramientas)
| Herramienta | Descripción |
|---|---|
list_roles | Lista todos los roles ordenados por posición con colores y recuentos de miembros |
create_role | Crea un nuevo rol con nombre, color, opciones de mostrar por separado y mencionable |
delete_role | Elimina un rol (con protección de roles gestionados) |
modify_role | Cambia el nombre, color, mostrar por separado, mencionable o posición de un rol |
get_role_permissions | Ve todos los permisos otorgados a un rol |
modify_role_permissions | Otorga o revoca permisos específicos en un rol |
set_role_icon | Establece un emoji Unicode o imagen como ícono del rol (requiere nivel de impulso 2+) |
assign_role | Agrega un rol a un miembro |
remove_role | Elimina un rol de un miembro |
get_role_members | Lista todos los miembros que tienen un rol específico |
clone_role | Duplica un rol con todos sus permisos y configuraciones |
Canales (20 herramientas)
| Herramienta | Descripción |
|---|---|
list_channels | Lista todos los canales organizados por categoría |
create_text_channel | Crea un nuevo canal de texto, opcionalmente en una categoría |
create_voice_channel | Crea un nuevo canal de voz con tasa de bits y límite de usuarios |
create_category | Crea una nueva categoría de canales |
create_forum_channel | Crea un nuevo canal de foro con etiquetas opcionales y configuraciones predeterminadas |
delete_channel | Elimina cualquier tipo de canal |
modify_channel | Cambia nombre, tema, categoría, NSFW, posición, límite de usuarios |
set_channel_permissions | Establece sobrescrituras de permisos para un rol o usuario en un canal |
view_channel_permissions | Ve todas las sobrescrituras de permisos en un canal |
lock_channel | Deniega EnviarMensajes para @everyone (bloqueo rápido) |
unlock_channel | Elimina la denegación de EnviarMensajes para @everyone |
set_slowmode | Establece límite de velocidad (0–21600 segundos) en un canal de texto |
clone_channel | Duplica un canal con todos los permisos y configuraciones |
reorder_channels | Reordena canales especificando nuevas posiciones |
set_voice_region | Establece la región RTC para un canal de voz |
follow_announcement_channel | Sigue un canal de anuncios para publicar en otro canal |
create_stage_channel | Crea un nuevo canal de escenario |
get_channel_invites | Lista todas las invitaciones para un canal específico |
set_channel_topic | Establece o borra el tema/descripción de un canal |
get_voice_members | Lista todos los miembros actualmente en un canal de voz o escenario |
Miembros (15 herramientas)
| Herramienta | Descripción |
|---|---|
list_members | Lista miembros con filtros opcionales de rol y búsqueda |
get_member | Información detallada del miembro: roles, fecha de ingreso, antigüedad de la cuenta, permisos |
kick_member | Expulsa a un miembro del servidor |
ban_member | Banea a un miembro con eliminación opcional de mensajes (0–7 días) |
unban_member | Elimina un baneo por nombre de usuario o ID de usuario |
timeout_member | Aplica un tiempo de espera (10m, 1h, 1d, 1w) o lo elimina |
prune_members | Elimina miembros inactivos (admite prueba en seco y filtrado por rol) |
bulk_assign_role | Asigna un rol a varios miembros a la vez |
bulk_remove_role | Elimina un rol de varios miembros a la vez |
set_nickname | Cambia el apodo de un miembro o lo restablece |
move_to_voice | Mueve a un miembro a un canal de voz diferente |
disconnect_from_voice | Desconecta a un miembro de su canal de voz |
get_member_permissions | Obtiene los permisos efectivos de un miembro en un canal específico |
search_members | Busca miembros por nombre de usuario, apodo o rol con filtros avanzados |
bulk_timeout_members | Aplica un tiempo de espera a varios miembros a la vez |
Mensajes (14 herramientas)
Todas las herramientas de mensajes funcionan tanto en canales regulares como en hilos: solo pasa el nombre o ID del hilo como canal.
| Herramienta | Descripción |
|---|---|
get_messages | Obtener mensajes recientes de un canal de texto, canal de voz o hilo |
get_message | Obtener un solo mensaje por ID con todos los detalles |
send_message | Enviar un mensaje de texto, opcionalmente como respuesta |
send_embed | Enviar un embed enriquecido con título, campos, imágenes y pie de página |
edit_message | Editar un mensaje enviado previamente por el bot |
delete_message | Eliminar un solo mensaje por ID |
bulk_delete_messages | Eliminar de 2 a 100 mensajes a la vez (menos de 14 días), opcionalmente filtrados por usuario |
crosspost_message | Publicar un mensaje en un canal de anuncios a todos los canales que lo siguen |
pin_message | Fijar un mensaje |
unpin_message | Desfijar un mensaje |
list_pinned_messages | Obtener todos los mensajes fijados en un canal |
add_reaction | Añadir una reacción del bot a un mensaje |
remove_reaction | Eliminar la reacción del bot de un mensaje |
search_messages | Buscar mensajes en un canal por contenido, autor o rango de fechas |
Reacciones (1 herramienta)
| Herramienta | Descripción |
|---|---|
get_reactions | Obtener todas las reacciones de un mensaje con todos los detalles de los que reaccionan: fecha de creación de la cuenta, fecha de unión al servidor, roles, avatar, estado de impulso. Opcionalmente filtrar por emoji. |
Administración del servidor (16 herramientas)
| Herramienta | Descripción |
|---|---|
edit_server | Modificar nombre del servidor, descripción, nivel de verificación, valores predeterminados de notificaciones |
list_invites | Listar todos los enlaces de invitación activos con estadísticas de uso y expiración |
create_invite | Generar una nueva invitación con edad máxima, usos y bandera temporal configurables |
delete_invite | Revocar una invitación por código |
get_audit_log | Obtener entradas del registro de auditoría, opcionalmente filtradas por tipo de acción o usuario |
list_bans | Ver todos los usuarios baneados con razones |
get_welcome_screen | Obtener la configuración de la pantalla de bienvenida del servidor |
set_welcome_screen | Configurar la pantalla de bienvenida con descripción y canales destacados |
get_widget | Obtener la configuración del widget del servidor |
set_widget | Configurar el widget del servidor (habilitar/deshabilitar, establecer canal) |
get_vanity_url | Obtener la URL personalizada del servidor (requiere la función VANITY_URL) |
list_integrations | Listar todas las integraciones (bots, aplicaciones) conectadas al servidor |
delete_integration | Eliminar una integración del servidor |
get_server_preview | Obtener la información de vista previa pública del servidor |
set_server_icon | Establecer o eliminar el icono del servidor desde una URL |
set_server_banner | Establecer o eliminar la imagen de banner del servidor (requiere nivel de impulso 2+) |
Hilos (15 herramientas)
| Herramienta | Descripción |
|---|---|
list_threads | Listar hilos activos, opcionalmente filtrados a un canal |
list_archived_threads | Listar hilos archivados públicos o privados en un canal con paginación |
get_thread | Obtener información detallada del hilo: tipo, modo lento, auto-archivado, propietario, URL |
get_thread_messages | Obtener mensajes de un hilo con paginación antes/después |
get_thread_pinned_messages | Obtener todos los mensajes fijados en un hilo |
create_thread | Iniciar un hilo desde un mensaje o como hilo público independiente |
edit_thread | Editar nombre del hilo, duración de auto-archivado, modo lento o estado de bloqueo/archivado |
archive_thread | Archivar un hilo |
unarchive_thread | Desarchivar un hilo |
delete_thread | Eliminar un hilo |
lock_thread | Bloquear un hilo (evitar nuevos mensajes sin archivar) |
unlock_thread | Desbloquear un hilo |
list_thread_members | Listar todos los miembros de un hilo |
add_thread_member | Añadir un miembro a un hilo |
remove_thread_member | Eliminar un miembro de un hilo |
Foros (5 herramientas)
| Herramienta | Descripción |
|---|---|
create_forum_post | Crear una nueva publicación (hilo) en un canal de foro con etiquetas opcionales |
list_forum_tags | Listar todas las etiquetas disponibles en un canal de foro |
create_forum_tag | Añadir una nueva etiqueta a un canal de foro (máximo 20 por canal) |
edit_forum_tag | Editar el nombre, emoji o estado moderado de una etiqueta de foro existente |
delete_forum_tag | Eliminar una etiqueta de un canal de foro |
Emojis y stickers (7 herramientas)
| Herramienta | Descripción |
|---|---|
list_emojis | Listar todos los emojis personalizados con nombres, IDs, estado animado y URLs |
create_emoji | Subir un nuevo emoji personalizado desde una URL |
delete_emoji | Eliminar un emoji personalizado por nombre o ID |
rename_emoji | Renombrar un emoji personalizado |
list_stickers | Listar todos los stickers personalizados con descripciones e información de formato |
create_sticker | Subir un nuevo sticker personalizado desde una URL |
delete_sticker | Eliminar un sticker personalizado por nombre o ID |
Webhooks (4 herramientas)
| Herramienta | Descripción |
|---|---|
list_webhooks | Listar todos los webhooks, opcionalmente filtrados a un canal |
create_webhook | Crear un webhook en un canal con nombre y avatar opcional |
delete_webhook | Eliminar un webhook por ID |
send_webhook_message | Enviar un mensaje a través de un webhook con nombre/avatar opcional |
Eventos programados (5 herramientas)
| Herramienta | Descripción |
|---|---|
list_events | Listar todos los eventos programados con horarios, estado, tipo y número de asistentes |
create_event | Crear un evento de voz, escenario o externo con horas de inicio/fin |
edit_event | Modificar el nombre, descripción, horarios o estado de un evento |
delete_event | Eliminar un evento programado |
get_event_users | Listar usuarios que han mostrado interés en un evento |
Instancias de escenario (3 herramientas)
| Herramienta | Descripción |
|---|---|
list_stage_instances | Listar todas las instancias de escenario activas con tema e información del canal |
start_stage | Iniciar una nueva instancia de escenario en un canal de escenario con un tema |
end_stage | Finalizar una instancia de escenario activa |
Moderación automática (4 herramientas)
| Herramienta | Descripción |
|---|---|
list_automod_rules | Listar todas las reglas de automod con disparadores, acciones y exenciones |
create_automod_rule | Crear una regla: filtro de palabras clave, detección de spam, ajustes preestablecidos de palabras clave o spam de menciones |
edit_automod_rule | Modificar las palabras clave, acciones, exenciones o estado habilitado de una regla |
delete_automod_rule | Eliminar una regla de automod |
Encuestas (3 herramientas)
| Herramienta | Descripción |
|---|---|
create_poll | Crear una encuesta en un canal con opciones de opción múltiple y duración |
get_poll_results | Obtener los resultados actuales y el recuento de votos de una encuesta |
end_poll | Finalizar una encuesta antes de tiempo y consolidar los resultados |
Mensajes directos (2 herramientas)
| Herramienta | Descripción |
|---|---|
send_dm | Enviar un mensaje directo a un miembro del servidor |
send_dm_embed | Enviar un embed enriquecido como mensaje directo a un miembro del servidor |
Presencia del bot (2 herramientas)
| Herramienta | Descripción |
|---|---|
set_bot_presence | Establecer el estado y la actividad del bot (jugando, viendo, escuchando, etc.) |
get_bot_info | Obtener la información actual del usuario del bot, estado y detalles de conexión |
Plantillas de servidor (4 herramientas)
| Herramienta | Descripción |
|---|---|
list_templates | Listar todas las plantillas del servidor |
create_template | Crear una nueva plantilla de servidor a partir de la configuración actual del servidor |
delete_template | Eliminar una plantilla de servidor por código |
sync_template | Sincronizar una plantilla de servidor con el estado actual del servidor |
Comandos de aplicación (4 herramientas)
| Herramienta | Descripción |
|---|---|
list_commands | Listar todos los comandos de aplicación (barra diagonal) registrados |
create_command | Registrar un nuevo comando de barra diagonal con nombre, descripción y opciones |
edit_command | Modificar un comando de barra diagonal existente |
delete_command | Eliminar un comando de barra diagonal registrado |
Onboarding (2 herramientas)
| Herramienta | Descripción |
|---|---|
get_onboarding | Obtener la configuración de incorporación del servidor y las indicaciones |
edit_onboarding | Editar la configuración de incorporación del servidor, las indicaciones y los canales predeterminados |
Coincidencia difusa
Todas las herramientas que aceptan nombres de canales, roles o miembros utilizan coincidencia difusa inteligente. Nunca necesitas buscar IDs manualmente. El orden de resolución es:
- Coincidencia exacta de ID — pasa un ID de copo de nieve de Discord directamente
- Coincidencia exacta de nombre — sin distinción de mayúsculas y minúsculas
- Coincidencia normalizada — ignora guiones, espacios y guiones bajos (
"bot testing"coincide con"bot-testing") - Coincidencia de subcadena — coincidencias parciales de nombre con un umbral de similitud de 0.7 o superior
- Respaldo de hilos — si no coincide ningún canal, se buscan hilos activos usando los mismos pasos anteriores
- Respaldo de hilos archivados — si se proporciona un ID y no se encuentra en hilos activos, el hilo se obtiene directamente (cubre hilos archivados)
Los formatos de mención también se manejan automáticamente:
- Canales:
#nameo<#id> - Roles:
@nameo<@&id> - Miembros:
@nameo<@id>o<@!id>
Si no se encuentra ninguna coincidencia, el mensaje de error incluye sugerencias de nombres similares para ayudarte a corregir la entrada.
Recursos MCP
Se exponen tres recursos de solo lectura para obtener una vista rápida de los datos del servidor:
| URI | Descripción |
|---|---|
discord://server/summary | Resumen de texto del servidor (canales, roles, miembros) |
discord://server/channels | Lista JSON de todos los canales organizados por categoría |
discord://server/roles | Lista JSON de todos los roles ordenados por posición |
Permisos requeridos
El bot de Discord necesita los siguientes permisos para un funcionamiento completo:
| Categoría | Permisos |
|---|---|
| General | Gestionar servidor, Gestionar roles, Gestionar canales, Ver registro de auditoría, Gestionar webhooks, Gestionar eventos, Gestionar emojis y stickers |
| Texto | Enviar mensajes, Gestionar mensajes, Leer historial de mensajes, Añadir reacciones, Usar emojis externos |
| Voz | Mover miembros, Desconectar miembros |
| Moderación | Expulsar miembros, Banear miembros, Moderar miembros, Gestionar moderación automática |
El asistente init genera automáticamente una URL de invitación con todos estos. Si configuras manualmente, consulta la Guía de configuración del bot para saber qué casillas seleccionar.
El bot solo puede actuar dentro de su jerarquía de roles: no puede gestionar roles que estén por encima de su rol más alto.
Intenciones de puerta de enlace
Estas intenciones privilegiadas deben habilitarse en el Portal de desarrolladores de Discord:
- Intención de miembros del servidor — requerida para la gestión de miembros
- Intención de contenido de mensajes — requerida para leer el contenido de los mensajes
Solución de problemas
Ejecuta la comprobación de salud para diagnosticar problemas:
npx @quadslab.io/discord-mcp check
Problemas comunes y soluciones
"DISCORD_TOKEN no está configurado"
El servidor MCP no puede encontrar tu token de bot. O bien:
- Ejecuta
npx @quadslab.io/discord-mcp initpara configurarlo automáticamente - O verifica que tu configuración de
.mcp.json/ cliente MCP tenga elDISCORD_TOKENen el bloqueenv
"La solicitud con opcode 8 fue limitada por velocidad"
Discord limitó la conexión de puerta de enlace (generalmente por el almacenamiento en caché de miembros en servidores grandes). El servidor reintenta automáticamente; si aún ves esto, espera 30 segundos e inténtalo de nuevo. Este es un límite del lado de Discord, no un error.
"Rol @everyone no encontrado"
Corregido en v1.2.2+. Actualiza a la última versión:
npx @quadslab.io/discord-mcp@latest init
"Falta de acceso" o "Falta de permisos"
El rol del bot no tiene los permisos requeridos. O bien:
- Vuelve a invitar al bot usando la URL de
npx @quadslab.io/discord-mcp init(incluye todos los permisos) - O ve a Configuración del servidor > Roles y otorga los permisos faltantes al rol del bot
- Ejecuta
npx @quadslab.io/discord-mcp checkpara ver exactamente qué permisos faltan
El bot no puede gestionar un rol específico
Discord aplica la jerarquía de roles: el bot solo puede gestionar roles por debajo de su rol más alto. Mueve el rol del bot más arriba en Configuración del servidor > Roles.
El bot no puede leer mensajes
Habilita la Intención de contenido de mensajes en el Portal de desarrolladores de Discord > pestaña Bot.
"Intenciones no permitidas utilizadas"
Habilita Server Members Intent y Message Content Intent en el Portal de Desarrolladores de Discord > pestaña Bot. Ambos son necesarios.
Las herramientas funcionan pero son lentas
La primera llamada a la herramienta después del inicio puede ser lenta debido al almacenamiento en caché. Las llamadas posteriores usan los datos en caché y deberían ser instantáneas. Si todas las llamadas son lentas, verifica tu conexión de red con Discord.
.mcp.json se creó en el directorio incorrecto
Si ejecutaste init desde Escritorio o Descargas, actualiza a v1.2.3+ que lo detecta automáticamente y escribe en ~/.claude.json (configuración global) en su lugar. O mueve el archivo .mcp.json a la raíz de tu proyecto.
Arquitectura
@quadslab.io/discord-mcp/
├── package.json
├── tsconfig.json
├── README.md
├── LICENSE
├── .env.example
├── docs/
│ ├── discord-mcp-server.md # Full tool reference documentation
│ └── bot-setup-guide.md # Step-by-step bot creation guide
└── src/
├── cli.ts # CLI — init wizard, health check, server start
├── mcp-server.ts # MCP server entry — validates env, exports main()
├── index.ts # Tool/resource registration and MCP request routing
├── discord-client.ts # Discord.js client — intents, caching, rate limit retry
└── tools/
├── index.ts # Tool registry — routes calls to category handlers
├── utils.ts # Fuzzy matching for channels, roles, members
├── guild.ts # Server info (2)
├── roles.ts # Role management (11)
├── channels.ts # Channel management (20)
├── members.ts # Member management (15)
├── messages.ts # Messaging (14)
├── reactions.ts # Reactions (1)
├── server.ts # Server admin (16)
├── threads.ts # Thread management (15)
├── forums.ts # Forum channels (5)
├── emojis.ts # Emoji & stickers (7)
├── webhooks.ts # Webhooks (4)
├── events.ts # Scheduled events (5)
├── stage.ts # Stage instances (3)
├── automod.ts # Auto-moderation (4)
├── polls.ts # Polls (3)
├── dms.ts # Direct messages (2)
├── presence.ts # Bot presence (2)
├── templates.ts # Server templates (4)
├── commands.ts # Application commands (4)
└── onboarding.ts # Onboarding (2)
Comunidad
- Servidor de Discord — obtén ayuda, comparte comentarios, mira lo que otros están construyendo
- Problemas de GitHub — informes de errores y solicitudes de funciones
- Discusiones de GitHub — preguntas, ideas y muestra y cuenta
- QuadsLab.io — más herramientas del equipo
Contribuciones
¡Las contribuciones son bienvenidas! Consulta CONTRIBUTING.md para la configuración de desarrollo, estilo de código y pautas.
Licencia
Licencia MIT. Copyright (c) 2026 QuadsLab.io.
Consulta LICENSE para el texto completo.