Discord
Permite que los asistentes de IA interactúen con la plataforma Discord, permitiéndoles enviar mensajes, gestionar canales y realizar otras acciones.
Documentación
MCP-Discord
Un servidor MCP (Model Context Protocol) de Discord que permite a los asistentes de IA interactuar con la plataforma Discord.
Resumen
MCP-Discord proporciona las siguientes funcionalidades relacionadas con Discord:
- Iniciar sesión con el bot de Discord
- Listar los servidores en los que el bot es miembro
- Obtener información del servidor
- Listar miembros e inspeccionar detalles de los miembros
- Listar, crear, editar, eliminar, asignar y quitar roles
- Buscar mensajes en un servidor
- Leer, editar y eliminar mensajes de canales
- Enviar mensajes a canales específicos
- Obtener listas de canales de foro
- Crear, actualizar, eliminar y responder a publicaciones de foro
- Listar hilos de foro y gestionar etiquetas de foro
- Crear, editar y eliminar canales de texto, foro, voz y categorías
- Establecer y eliminar anulaciones de permisos de canales
- Añadir/eliminar reacciones a mensajes
- Crear/editar/eliminar/usar webhooks
Tabla de Contenidos
Requisitos Previos
-
Node.js (v18.0.0 o superior)
-
npm (v7.0.0 o superior)
-
Un bot de Discord con los permisos adecuados
- Token del bot (obtenible desde el Portal de Desarrolladores de Discord)
- Intención de Contenido de Mensajes habilitada
- Intención de Miembros del Servidor habilitada
- Intención de Presencia habilitada
-
Permisos requeridos en tu servidor de Discord:
Configuración Más Sencilla
- Administrador (Recomendado para una configuración rápida y funcionalidad completa)
O bien, selecciona solo los permisos requeridos:
- Enviar Mensajes
- Crear Hilos Públicos
- Enviar Mensajes en Hilos
- Gestionar Mensajes
- Gestionar Hilos
- Gestionar Canales
- Gestionar Webhooks
- Gestionar Roles
- Añadir Reacciones
- Ver Canal
-
Añade tu bot de Discord a tu servidor
- Para añadir tu bot de Discord a tu servidor, usa uno de los siguientes enlaces de invitación (reemplaza
INSERT_CLIENT_ID_HEREcon el ID de cliente de tu bot):- Administrador (acceso completo): https://discord.com/oauth2/authorize?client_id=INSERT_CLIENT_ID_HERE&scope=bot&permissions=8
- Permisos personalizados (mínimo requerido): https://discord.com/oauth2/authorize?client_id=INSERT_CLIENT_ID_HERE&scope=bot&permissions=52076489808
- Para añadir tu bot de Discord a tu servidor, usa uno de los siguientes enlaces de invitación (reemplaza
Nota:
Según el modelo de seguridad de Discord, un bot solo puede acceder a información de servidores a los que ha sido añadido explícitamente.
Si deseas usar este servidor MCP para acceder a un servidor de Discord específico, debes añadir el bot a ese servidor primero.
Usa el enlace de invitación a continuación para añadir el bot a tu servidor objetivo.
Instalación
Instalación vía NPM
Puedes usarlo con el siguiente comando:
npx mcp-discord --config ${DISCORD_TOKEN}
Para más detalles, puedes consultar el Paquete NPM.
Instalación vía Smithery
Para instalar mcp-discord automáticamente vía Smithery
Instalación vía Docker
Puedes ejecutar mcp-discord usando Docker. Las imágenes de Docker se construyen y publican automáticamente en Docker Hub.
Repositorio de Docker Hub: barryy625/mcp-discord
Docker usa el servidor HTTP transmisible por defecto vía 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 3000
Etiquetas Disponibles:
latest- Última versión estable de la rama principalv1.3.8, etc. - Lanzamientos de versiones específicas
Instalación Manual
# Clone the repository
git clone https://github.com/barryyip0625/mcp-discord.git
cd mcp-discord
# Install dependencies
npm install
# Compile TypeScript
npm run build
Configuración
Se requiere un token de bot de Discord para el funcionamiento correcto. El servidor admite dos métodos de transporte: stdio y HTTP transmisible.
Métodos de Transporte
-
stdio (Predeterminado)
- Transporte stdio tradicional para uso básico
- Adecuado para integraciones simples
-
HTTP transmisible
- Transporte basado en HTTP para escenarios más avanzados
- Admite operación sin estado
- Número de puerto configurable
Opciones de Configuración
Puedes proporcionar la configuración de dos maneras:
- Variables de entorno:
DISCORD_TOKEN=your_discord_bot_token
- Usando argumentos de línea de comandos:
# 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"
Uso con Claude/Cursor
1. Usar Transporte stdio con Claude/Cursor
Usa build/index.js cuando tu cliente MCP espere un servidor stdio basado en comandos.
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"
}
}
}
}
Esta es la configuración recomendada para clientes MCP locales basados en comandos.
2. Auto-Alojar el Servidor HTTP Transmisible
Usa build/app.js cuando quieras ejecutar mcp-discord como un servidor MCP HTTP.
Ejecutar con Node.js
DISCORD_TOKEN=your_discord_bot_token node build/app.js --transport http --port 3000
En Windows PowerShell:
$env:DISCORD_TOKEN="your_discord_bot_token"
node build/app.js --transport http --port 3000
Ejecutar con Docker
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 3000:3000 barryy625/mcp-discord:latest --transport http --port 3000
Una vez iniciado, el endpoint MCP HTTP es:
http://localhost:3000/mcp
3. Conectar a un Servidor MCP HTTP Alojado
Si ya alojas mcp-discord en otro lugar, apunta tu cliente MCP al endpoint /mcp del servidor en lugar de lanzar build/app.js como comando.
Ejemplo de endpoint:
https://your-server.example.com/mcp
Notas importantes:
build/app.jsinicia un servidor HTTP. No habla stdio.build/index.jses el punto de entrada correcto para clientes MCP stdio basados en comandos.- Para uso HTTP alojado, configura tu cliente MCP para conectarse a la URL del endpoint HTTP proporcionada por tu implementación.
- El formato exacto de configuración del cliente HTTP depende del cliente MCP que uses.
Documentación de Herramientas
Funciones Básicas
discord_login: Iniciar sesión en Discord usando el token configuradodiscord_list_servers: Listar todos los servidores de Discord en los que el bot es miembrodiscord_send: Enviar un mensaje a un canal especificadodiscord_get_server_info: Obtener información del servidor de Discord
Gestión de Canales
discord_create_text_channel: Crear un canal de textodiscord_create_forum_channel: Crear un canal de forodiscord_create_voice_channel: Crear un canal de vozdiscord_edit_channel: Editar el nombre, tema, categoría principal o posición de un canaldiscord_delete_channel: Eliminar un canaldiscord_create_category: Crear una categoría de canaldiscord_edit_category: Editar una categoría de canaldiscord_delete_category: Eliminar una categoría de canaldiscord_set_channel_permissions: Establecer anulaciones de permisos para un rol o usuario en un canal/categoríadiscord_remove_channel_permissions: Eliminar anulaciones de permisos de un canal/categoría
Funciones de Foro
discord_get_forum_channels: Obtener una lista de canales de forodiscord_create_forum_post: Crear una publicación de foro (opcionalmente fijada en la parte superior del canal)discord_get_forum_post: Obtener una publicación de forodiscord_list_forum_threads: Listar hilos activos y archivados en un canal de forodiscord_reply_to_forum: Responder a una publicación de forodiscord_get_forum_tags: Obtener todas las etiquetas disponibles para un canal de forodiscord_set_forum_tags: Reemplazar las etiquetas disponibles para un canal de forodiscord_update_forum_post: Actualizar el título, etiquetas, estado archivado, estado bloqueado o estado fijado de una publicación de forodiscord_delete_forum_post: Eliminar una publicación de foro
Mensajes y Reacciones
discord_search_messages: Buscar mensajes en un servidordiscord_read_messages: Leer mensajes de canal (admite parámetrosbefore,after,around— acepta IDs de copo de nieve o fechas ISO 8601 como"2025-03-01T00:00:00Z")discord_edit_message: Editar un mensaje creado por el botdiscord_add_reaction: Añadir una reacción a un mensajediscord_add_multiple_reactions: Añadir múltiples reacciones a un mensajediscord_remove_reaction: Eliminar una reacción de un mensajediscord_delete_message: Eliminar un mensaje específico de un canaldiscord_pin_message: Fijar un mensaje en su canal (máximo 50 fijados por canal)discord_unpin_message: Eliminar un mensaje de los mensajes fijados de su canaldiscord_list_pinned_messages: Listar los mensajes fijados de un canal, primero el fijado más reciente
Gestión de Webhooks
discord_create_webhook: Crea un nuevo webhook para un canal de Discorddiscord_send_webhook_message: Envía un mensaje a un canal de Discord usando un webhookdiscord_edit_webhook: Edita un webhook existente para un canal de Discorddiscord_delete_webhook: Elimina un webhook existente para un canal de Discord
Gestión de Roles
discord_list_roles: Listar todos los roles en un servidordiscord_create_role: Crear un rol con opciones de color, mostrar por separado, mencionable y permisosdiscord_edit_role: Editar un rol existentediscord_delete_role: Eliminar un roldiscord_assign_role: Asignar un rol a un miembrodiscord_remove_role: Eliminar un rol de un miembro
Gestión de Miembros
discord_list_members: Listar miembros en un servidor con rolesdiscord_get_member: Obtener información detallada sobre un miembro específico
Desarrollo
# Development mode
npm run dev