Skip to main content
Glama

Servidor MCP de Discord

Un servidor MCP de Discord ligero y multi-servidor con más de 90 herramientas

npm Licencia Node Discord.js MCP

discord-mcp MCP server

Gestiona todo tu servidor de Discord desde Claude Desktop, Claude Code, Cursor, VS Code Copilot o cualquier cliente compatible con MCP. Mensajes, canales, roles, permisos, moderación, foros, webhooks: todo mediante lenguaje natural.


¿Por qué este?

  • Más de 90 herramientas: mensajes, canales, roles, permisos, moderación, foros, webhooks, eventos programados, invitaciones, mensajes directos, incrustaciones (embeds) y más.

  • Multi-servidor: funciona en múltiples servidores, sin bloqueo por GUILD_ID.

  • Ligero: TypeScript + Node.js, paquete de ~25kB, imagen de Docker de ~73MB (frente a los más de 400MB de las alternativas en Java).

  • Modular: arquitectura limpia, fácil de extender con nuevas herramientas.

  • Dos métodos de instalación: npm o Docker, tú eliges.


Inicio rápido

Añade esto a la configuración de tu cliente MCP y reemplaza YOUR_TOKEN_HERE con el token de tu bot:

{
  "mcpServers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@pasympa/discord-mcp"],
      "env": {
        "DISCORD_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

No se necesita instalación: npx se encarga de todo.

¿Aún no tienes un bot? Consulta Crear tu bot de Discord.


Configuración

Añade la configuración anterior a tu claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Reinicia Claude Desktop después de guardar.

claude mcp add discord -e DISCORD_TOKEN=YOUR_TOKEN_HERE -- npx -y @pasympa/discord-mcp

Añade la configuración anterior a ~/.cursor/mcp.json. Consulta la documentación de MCP de Cursor para más detalles.

Añade a tu .vscode/mcp.json:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "discord-token",
      "description": "Discord Bot Token",
      "password": true
    }
  ],
  "servers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@pasympa/discord-mcp"],
      "env": {
        "DISCORD_TOKEN": "${input:discord-token}"
      }
    }
  }
}

Consulta la documentación de MCP de VS Code para más detalles.

{
  "mcpServers": {
    "discord": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "DISCORD_TOKEN=YOUR_TOKEN_HERE",
        "pasympa/discord-mcp:latest"
      ]
    }
  }
}
git clone https://github.com/PaSympa/discord-mcp
cd discord-mcp
npm install && npm run build
{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["/absolute/path/to/discord-mcp/dist/index.js"],
      "env": {
        "DISCORD_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

En lugar de pasar el token en la configuración de MCP, crea un archivo .env en la raíz del proyecto:

DISCORD_TOKEN=YOUR_TOKEN_HERE

El servidor carga .env automáticamente mediante dotenv.


Crear tu bot de Discord

  1. Ve a discord.com/developers/applications

  2. New Application > dale un nombre

  3. Pestaña Bot > Reset Token > copia el token

  4. Habilita los Privileged Gateway Intents:

    • Server Members Intent

    • Message Content Intent

  5. OAuth2 > URL Generator:

    • Scopes: bot

    • Permissions: Send Messages, Read Message History, Manage Channels, Manage Roles, Kick Members, Ban Members, Moderate Members, View Audit Log, Manage Messages, Manage Threads, Add Reactions, Manage Guild, Manage Webhooks, Manage Events, Create Instant Invite

  6. Copia la URL generada e invita al bot a tu servidor


Herramientas disponibles (91)

Descubrimiento y navegación

Herramienta

Descripción

discord_list_guilds

Lista todos los servidores a los que está conectado el bot

discord_get_guild_info

Obtiene información detallada del servidor (nombre, miembros, canales, roles, boosts)

discord_list_channels

Lista todos los canales en un servidor agrupados por categoría

discord_find_channel_by_name

Encuentra un canal por nombre (coincidencia parcial)

Mensajes (18 herramientas)

Herramienta

Descripción

discord_read_messages

Lee los últimos N mensajes de un canal de texto

discord_send_message

Envía un mensaje de texto plano

discord_reply_message

Responde a un mensaje específico

discord_edit_message

Edita un mensaje enviado por el bot

discord_delete_message

Elimina un mensaje específico

discord_add_reaction

Añade un emoji de reacción a un mensaje

discord_remove_reactions

Elimina reacciones (todas, por emoji o por usuario)

discord_get_reactions

Lista los usuarios que reaccionaron con un emoji específico

discord_create_thread

Crea un hilo a partir de un mensaje o de forma independiente

discord_bulk_delete_messages

Elimina múltiples mensajes a la vez (2-100)

discord_send_embed

Envía una incrustación (embed) enriquecida con todas las opciones

discord_edit_embed

Edita una incrustación enviada previamente por el bot

discord_send_multiple_embeds

Envía hasta 10 incrustaciones en un solo mensaje

discord_pin_message

Fija o desfija un mensaje

discord_fetch_pinned_messages

Lista todos los mensajes fijados en un canal

discord_search_messages

Busca mensajes por palabra clave (últimos 100)

discord_crosspost_message

Publica un mensaje para los seguidores de un canal de anuncios

discord_forward_message

Reenvía un mensaje a otro canal

Canales (8 herramientas)

Herramienta

Descripción

discord_create_channel

Crea un canal de texto, voz o categoría

discord_delete_channel

Elimina un canal

discord_edit_channel

Edita nombre, tema, modo lento, indicador NSFW

discord_move_channel

Mueve un canal dentro o fuera de una categoría

discord_clone_channel

Clona un canal con sus permisos

discord_set_channel_position

Establece la posición de visualización dentro de una categoría

discord_follow_announcement_channel

Sigue un canal de anuncios

discord_lock_channel_permissions

Sincroniza permisos con la categoría principal

Permisos de canal (6 herramientas)

Herramienta

Descripción

discord_get_channel_permissions

Lista todas las anulaciones de permisos en un canal

discord_set_role_permission

Permite/deniega permisos para un rol en un canal

discord_set_member_permission

Permite/deniega permisos para un miembro en un canal

discord_reset_channel_permissions

Elimina todas las anulaciones (restablece a los heredados)

discord_copy_permissions

Copia anulaciones de un canal a otro

discord_audit_permissions

Auditoría completa de permisos para todos los canales

Miembros (11 herramientas)

Herramienta

Descripción

discord_list_members

Lista los miembros del servidor con sus roles

discord_get_member_info

Información detallada del miembro (roles, permisos, fecha de unión)

discord_search_members

Busca miembros por nombre de usuario o apodo

discord_set_nickname

Establece o borra el apodo de un miembro

discord_kick_member

Expulsa a un miembro

discord_ban_member

Banea a un miembro (opcionalmente elimina mensajes recientes)

discord_unban_member

Desbanea a un usuario

discord_bulk_ban

Banea a múltiples usuarios a la vez (mitigación de incursiones)

discord_list_bans

Lista todos los usuarios baneados

discord_timeout_member

Aplica tiempo de espera a un miembro (0 para eliminar)

discord_prune_members

Elimina miembros inactivos (con simulación)

Roles (9 herramientas)

Herramienta

Descripción

discord_list_roles

Lista todos los roles con permisos y recuento de miembros

discord_create_role

Crea un nuevo rol

discord_edit_role

Edita un rol (nombre, color, permisos, hoist, mencionable)

discord_delete_role

Elimina un rol

discord_add_role

Asigna un rol a un miembro

discord_remove_role

Elimina un rol de un miembro

discord_get_role_members

Lista todos los miembros con un rol específico

discord_set_role_position

Cambia la posición de un rol en la jerarquía

discord_set_role_icon

Establece un icono personalizado o emoji unicode en un rol

Foros (10 herramientas)

Herramienta

Descripción

discord_get_forum_channels

Lista todos los canales de foro en un servidor

discord_create_forum_channel

Crea un nuevo canal de foro

discord_create_forum_post

Crea una publicación/hilo en un foro

discord_get_forum_post

Obtiene los detalles y mensajes de una publicación

discord_list_forum_threads

Lista hilos (activos + archivados)

discord_reply_to_forum

Responde a una publicación de foro

discord_delete_forum_post

Elimina un hilo de foro

discord_get_forum_tags

Obtiene las etiquetas disponibles

discord_set_forum_tags

Establece/actualiza etiquetas en un foro

discord_update_forum_post

Actualiza título, archivado, bloqueado, etiquetas

Webhooks (8 herramientas)

Herramienta

Descripción

discord_create_webhook

Crea un webhook en un canal

discord_send_webhook_message

Envía mediante webhook (nombre de usuario/avatar personalizado, incrustaciones)

discord_edit_webhook

Edita el nombre, avatar o canal de un webhook

discord_delete_webhook

Elimina un webhook

discord_list_webhooks

Lista webhooks para un canal o servidor

discord_edit_webhook_message

Edita un mensaje enviado por un webhook

discord_delete_webhook_message

Elimina un mensaje enviado por un webhook

discord_fetch_webhook_message

Obtiene un mensaje de webhook específico

Eventos programados (7 herramientas)

Herramienta

Descripción

discord_list_scheduled_events

Lista todos los eventos programados en un servidor

discord_get_scheduled_event

Obtiene información detallada sobre un evento programado

discord_create_scheduled_event

Crea un evento de voz, escenario o externo

discord_edit_scheduled_event

Edita un evento programado existente

discord_delete_scheduled_event

Elimina un evento programado

discord_get_event_subscribers

Obtiene los usuarios que marcaron "Interesado"

discord_create_event_invite

Crea una invitación vinculada a un evento

Mensajes directos

Herramienta

Descripción

discord_send_dm

Envía un mensaje directo a un usuario por su ID de usuario

Invitaciones (5 herramientas)

Herramienta

Descripción

discord_list_invites

Lista todas las invitaciones activas en un servidor

discord_list_channel_invites

Lista invitaciones para un canal específico

discord_get_invite

Obtiene detalles sobre una invitación por su código

discord_create_invite

Crea un enlace de invitación para un canal

discord_delete_invite

Revoca una invitación

Moderación y filtrado

Herramienta

Descripción

discord_get_audit_log

Obtiene el registro de auditoría del servidor

discord_get_membership_screening

Obtiene el formulario de selección de miembros

discord_update_membership_screening

Actualiza las reglas de selección para nuevos miembros

Estadísticas

Herramienta

Descripción

discord_get_server_stats

Estadísticas del servidor: miembros, canales, roles, nivel de boost


Ejemplos de uso

"List all servers the bot is in"
"Read the last 10 messages in #general"
"Send 'Hello everyone!' to the announcements channel"
"Create a forum channel called 'feedback' with tags Bug, Feature, Question"
"Show the full permission audit for the server"
"Create a webhook on #notifications and send a test message"
"Ban user 112233445566 and delete their messages from the last 3 days"
"Create an event called 'Game Night' for next Friday at 8pm"
"List all upcoming events in the server"
"Create a permanent invite for #general"
"List all active invites and delete expired ones"
"Send a DM to user 112233445566 saying 'Your build passed!'"
"Search for members named 'john'"
"List all banned users in the server"
"Show all pinned messages in #general"
"Forward that message to #announcements"

Encontrar IDs de Discord

Habilita el Modo de desarrollador en Discord: Ajustes > Avanzado > Modo de desarrollador

Luego, haz clic derecho en un servidor, canal o usuario > Copiar ID.


Estructura del proyecto

discord-mcp/
├── src/
│   ├── index.ts             ← Entry point (MCP server + transport)
│   ├── client.ts            ← Discord client + shared helpers
│   ├── constants.ts         ← Shared constants (limits, defaults)
│   └── tools/
│       ├── index.ts         ← Tool registry
│       ├── types.ts         ← Shared TypeScript interfaces
│       ├── discovery.ts     ← Guild/channel discovery
│       ├── messages.ts      ← Message CRUD, reactions, threads, embeds
│       ├── channels.ts      ← Channel management
│       ├── permissions.ts   ← Permission overwrites
│       ├── members.ts       ← Member management
│       ├── roles.ts         ← Role CRUD and assignment
│       ├── moderation.ts    ← Audit log
│       ├── screening.ts     ← Membership screening
│       ├── stats.ts         ← Server statistics
│       ├── forums.ts        ← Forum channels, posts, tags
│       ├── webhooks.ts      ← Webhook management
│       ├── scheduledEvents.ts ← Scheduled events
│       ├── invites.ts        ← Invite management
│       └── dm.ts             ← Direct messages
├── .github/workflows/       ← CI/CD (build check + auto release)
├── Dockerfile
├── .dockerignore
├── .env.example
├── package.json
├── tsconfig.json
├── CHANGELOG.md
├── CONTRIBUTING.md
├── SECURITY.md
└── README.md

Añadir una nueva herramienta

  1. Crea un nuevo archivo en src/tools/ (ej. events.ts)

  2. Exporta definitions (esquemas de herramientas) y handle() (lógica de la herramienta)

  3. Importa y añádela a la matriz modules en src/tools/index.ts


Seguridad

  • Nunca subas tu token de Discord a Git

  • Usa variables de entorno o un archivo .env (no versionado)

  • Dale al bot solo los permisos que necesita


Contribución

¡Las contribuciones son bienvenidas!

  1. Haz un fork del repositorio

  2. Crea una rama de características (git checkout -b feature/mi-caracteristica)

  3. Sigue la estructura modular: consulta Añadir una nueva herramienta

  4. Confirma tus cambios y abre una solicitud de extracción (pull request)


Latest Blog Posts

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/PaSympa/discord-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server