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 en el bot de Discord
- Listar los servidores de 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 canal
- 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 mensaje 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 selecciona solo los permisos necesarios:
- 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 los servidores a los que ha sido añadido explícitamente.
Si quieres 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 de destino.
Instalación
Instalación mediante NPM
Puedes usarlo con el siguiente comando:
npx mcp-discord --config ${DISCORD_TOKEN}
Para más detalles, puedes consultar el Paquete NPM.
Instalación mediante Smithery
Para instalar mcp-discord automáticamente a través de Smithery
Instalación mediante Docker
Puedes ejecutar mcp-discord usando Docker. Las imágenes de Docker se compilan y publican automáticamente en Docker Hub.
Repositorio de Docker Hub: barryy625/mcp-discord
Docker usa el servidor HTTP transmisible por defecto a través de 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. - 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 un 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. Autoalojar 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 HTTP de MCP es:
http://localhost:3000/mcp
3. Conectarse 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 despliegue.
- 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 de los que el bot es miembrodiscord_send: Enviar un mensaje a un canal específicodiscord_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 forodiscord_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 de archivado o estado de bloqueo 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 canal
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, elevación, mencionable y permisosdiscord_edit_role: Editar un rol existentediscord_delete_role: Eliminar un roldiscord_assign_role: Asignar un rol a un miembrodiscord_remove_role: Quitar 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