Discord MCP Server

by v-3
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables interaction with Discord channels, allowing for sending messages and reading recent message history through Discord's API.

Servidor MCP de Discord

Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los LLM interactuar con los canales de Discord, permitiéndoles enviar y leer mensajes a través de la API de Discord. Con este servidor, LLM como Claude pueden interactuar directamente con los canales de Discord, manteniendo el control y la seguridad de los usuarios.

Características

  • Enviar mensajes a los canales de Discord
  • Leer mensajes recientes de los canales
  • Descubrimiento automático de servidores y canales
  • Compatibilidad con nombres de canales e identificaciones
  • Manejo y validación de errores adecuados

Prerrequisitos

  • Node.js 16.x o superior
  • Un token de bot de Discord
  • El bot debe ser invitado a su servidor con los permisos adecuados:
    • Leer mensajes/Ver canales
    • Enviar mensajes
    • Leer el historial de mensajes

Configuración

  1. Clonar este repositorio:
git clone https://github.com/yourusername/discordmcp.git cd discordmcp
  1. Instalar dependencias:
npm install
  1. Crea un archivo .env en el directorio raíz con tu token de bot de Discord:
DISCORD_TOKEN=your_discord_bot_token_here
  1. Construir el servidor:
npm run build

Uso con Claude para escritorio

  1. Abra el archivo de configuración de Claude for Desktop:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
  2. Agregue la configuración del servidor MCP de Discord:
{ "mcpServers": { "discord": { "command": "node", "args": ["path/to/discordmcp/build/index.js"], "env": { "DISCORD_TOKEN": "your_discord_bot_token_here" } } } }
  1. Reiniciar Claude para escritorio

Herramientas disponibles

enviar mensaje

Envía un mensaje a un canal de Discord específico.

Parámetros:

  • server (opcional): nombre o ID del servidor (obligatorio si el bot está en varios servidores)
  • channel : nombre del canal (por ejemplo, "general") o ID
  • message : Contenido del mensaje a enviar

Ejemplo:

{ "channel": "general", "message": "Hello from MCP!" }

mensajes leídos

Lee mensajes recientes de un canal de Discord específico.

Parámetros:

  • server (opcional): nombre o ID del servidor (obligatorio si el bot está en varios servidores)
  • channel : nombre del canal (por ejemplo, "general") o ID
  • limit (opcional): Número de mensajes a recuperar (predeterminado: 50, máximo: 100)

Ejemplo:

{ "channel": "general", "limit": 10 }

Desarrollo

  1. Instalar dependencias de desarrollo:
npm install --save-dev typescript @types/node
  1. Inicie el servidor en modo de desarrollo:
npm run dev

Pruebas

Puede probar el servidor utilizando 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 MCP de Discord:

  1. ¿Puedes leer los últimos 5 mensajes del canal general?
  2. Por favor, envíe un mensaje al canal de anuncios diciendo: "La reunión comienza en 10 minutos".
  3. "¿Cuáles fueron los mensajes más recientes en el canal de desarrollo sobre el último lanzamiento?"

Claude utilizará las herramientas adecuadas para interactuar con Discord y solicitará su aprobación antes de enviar cualquier mensaje.

Consideraciones de seguridad

  • El bot requiere permisos de Discord adecuados para funcionar.
  • Todas las operaciones de envío de mensajes requieren la aprobación explícita del usuario.
  • Las variables de entorno deben estar protegidas adecuadamente
  • El token nunca debe comprometerse con el control de versiones
  • El acceso al canal está limitado a los canales a los que se le ha otorgado acceso al bot.

Contribuyendo

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Abrir una solicitud de extracción

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Apoyo

Si encuentra algún problema o tiene preguntas:

  1. Consulta la sección de problemas de GitHub
  2. Consulte la documentación de MCP en https://modelcontextprotocol.io
  3. Abrir una nueva emisión con pasos de reproducción detallados
-
security - not tested
F
license - not found
-
quality - not tested

Permite a los LLM interactuar con los canales de Discord enviando y leyendo mensajes a través de la API de Discord, con el objetivo de mantener el control y la seguridad del usuario.

  1. Features
    1. Prerequisites
      1. Setup
        1. Usage with Claude for Desktop
          1. Available Tools
            1. send-message
            2. read-messages
          2. Development
            1. Testing
              1. Examples
                1. Security Considerations
                  1. Contributing
                    1. License
                      1. Support
                        ID: ppamx796eb