Discord MCP Server
Interactúa con canales de Discord para enviar y leer mensajes usando la API de Discord.
Documentación
Discord MCP Server
Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los LLMs interactuar con canales de Discord, permitiéndoles enviar y leer mensajes a través de la API de Discord. Usando este servidor, LLMs como Claude pueden interactuar directamente con canales de Discord mientras mantienen control del usuario y seguridad.
Características
- Enviar mensajes a canales de Discord
- Leer mensajes recientes de canales
- Descubrimiento automático de servidores y canales
- Soporte tanto para nombres de canales como IDs
- Manejo adecuado de errores y validación
Requisitos previos
- Node.js 16.x o superior
- Un token de bot de Discord
- El bot debe ser invitado a tu servidor con los permisos adecuados:
- Leer Mensajes/Ver Canales
- Enviar Mensajes
- Leer Historial de Mensajes
Configuración
- Clona este repositorio:
git clone https://github.com/yourusername/discordmcp.git
cd discordmcp
- Instala las dependencias:
npm install
- Crea un archivo
.enven el directorio raíz con tu token de bot de Discord:
DISCORD_TOKEN=your_discord_bot_token_here
- Compila el servidor:
npm run build
Uso con Claude para Desktop
-
Abre tu archivo de configuración de Claude para Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Agrega la configuración del servidor Discord MCP:
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["path/to/discordmcp/build/index.js"],
"env": {
"DISCORD_TOKEN": "your_discord_bot_token_here"
}
}
}
}
- Reinicia Claude para Desktop
Herramientas disponibles
send-message
Envía un mensaje a un canal de Discord especificado.
Parámetros:
server(opcional): Nombre o ID del servidor (requerido si el bot está en múltiples servidores)channel: Nombre del canal (ej., "general") o IDmessage: Contenido del mensaje a enviar
Ejemplo:
{
"channel": "general",
"message": "Hello from MCP!"
}
read-messages
Lee mensajes recientes de un canal de Discord especificado.
Parámetros:
server(opcional): Nombre o ID del servidor (requerido si el bot está en múltiples servidores)channel: Nombre del canal (ej., "general") o IDlimit(opcional): Número de mensajes a obtener (predeterminado: 50, máximo: 100)
Ejemplo:
{
"channel": "general",
"limit": 10
}
Desarrollo
- Instala las dependencias de desarrollo:
npm install --save-dev typescript @types/node
- Inicia el servidor en modo de desarrollo:
npm run dev
Pruebas
Puedes probar el servidor usando el Inspector MCP:
npx @modelcontextprotocol/inspector node build/index.js
Ejemplos
Aquí hay algunos ejemplos de interacciones que puedes probar con Claude después de configurar el servidor Discord MCP:
- "¿Puedes leer los últimos 5 mensajes del canal general?"
- "Por favor envía un mensaje al canal de anuncios diciendo 'La reunión comienza en 10 minutos'"
- "¿Cuáles fueron los mensajes más recientes en el canal de desarrollo sobre la última versión?"
Claude usará las herramientas apropiadas para interactuar con Discord mientras solicita tu aprobación antes de enviar cualquier mensaje.
Consideraciones de seguridad
- El bot requiere permisos adecuados de Discord para funcionar
- Todas las operaciones de envío de mensajes requieren aprobación explícita del usuario
- Las variables de entorno deben estar adecuadamente protegidas
- El token nunca debe ser comprometido al control de versiones
- El acceso a canales está limitado a los canales a los que el bot ha recibido acceso
Contribuciones
- Haz un fork del repositorio
- Crea tu rama de características (
git checkout -b feature/amazing-feature) - Haz commit de tus cambios (
git commit -m 'Add some amazing feature') - Haz push a la rama (
git push origin feature/amazing-feature) - Abre una Solicitud de Extracción
Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
Soporte
Si encuentras algún problema o tienes preguntas:
- Consulta la sección de Problemas de GitHub
- Consulta la documentación de MCP en https://modelcontextprotocol.io
- Abre un nuevo problema con pasos detallados de reproducción