Skip to main content
Glama
j-256

Discord MCP

by j-256

Discord MCP

Discord MCP es un servidor local del Model Context Protocol mediante stdio, para acceso seguro a guilds de Discord y, por separado, acceso uno a uno incluido en una lista de permitidos, a través de un bot propiedad del operador. Combina una amplia cobertura tipada con un alcance exacto, resultados con privacidad minimizada, escrituras revisadas, evidencia sin contenido y gestión explícita de la ambigüedad.

Mínimo privilegio. Revisión antes de la mutación. Resultados verificables. Sin persistencia de contenido de Discord.

Inicio rápido | Mapa de capacidades | Modelo de seguridad | Confianza y verificación | Referencia completa | Seguridad

Por qué este conector

Aspecto

Comportamiento aplicado

Alcance de Discord

Un único archivo de política estricto y no secreto con identidades verificadas de aplicación y de bot, alcance exacto de guild y canal, un alcance separado de mensajes privados para usuarios exactos, conjuntos de herramientas separados por riesgo y ajustes preestablecidos de configuración de solo lectura

Segmentación exacta

Los enlaces canónicos de salto de Discord y las menciones tipadas oficiales se convierten localmente en IDs exactos sin búsqueda de nombres, contacto con Discord, eco de la entrada, persistencia ni autoridad posterior

Seguridad de lectura

Solicitudes acotadas, presupuestos de bytes sin pérdidas para el resultado completo, validación estricta de respuestas, proyecciones por niveles de privacidad, gestión de contenido no confiable y sin descubrimiento de canales privados ni herencia de alcance

Seguridad de escritura

Solicitudes con ID exacto, planes frescos con clave, aprobación interactiva firmada, una coincidencia final con el plan frescio y prueba de permisos de Discord específica de la acción

Integridad de resultados

Evidencia pendiente sin contenido, escrituras sin reintentos, lectura de retorno exacta, coordinación duradera, cuarentena de ambigüedad y presión local acotada de solicitudes no válidas

Privacidad

Los tokens permanecen en una fuente de secretos propiedad de quien llama; el contenido de Discord, los perfiles, las URLs, los motivos de auditoría y las claves de operación en bruto no se persisten

Revisión de planes

Cada herramienta de plan devuelve el texto completo y evidencia estructurada y puede añadir revisión solo de visualización, sin autoridad, en hosts de MCP Apps

Integridad del lanzamiento

Fijación exacta de dependencias e imagen base, huellas digitales de contrato sin credenciales, paquete reproducoble y comprobaciones OCI endurecidas, un SBDOM SPDX y automatización de lanzamientos firmados

La referencia completa documenta cada familia de herramientas, puerta de política, límite de permisos, nivel de privacidad, recurso, prompt, modo Gateway, comando de operador y limitación conocida.

Related MCP server: Discord MCP Server

Inicio rápido

Requisitos:

  • Node.js 22 o superior

  • Una aplicación de Discord con un usuario bot

  • Un único archivo de política JSON estricto y no secreto

  • El token del bot disponible mediante una variable de entorno o un archivo protegido

  • Solo los permisos de Discord necesarios para el alcance seleccionado de lectura o de escritura revisada

Cada despliegue utiliza una aplicación de Discord y un bot controlados por ese operador. Discord MCP no proporciona un bot compartido, un relay alojado ni un token compartido: crea tu propia aplicación, invita a su bot únicamente a guilds que tú controles y guarda su credencial en el lanzador local o en el almacén de secretos.

No concedas al bot el permiso Administrator. Genera el otorgamiento inicial exacto de permisos a partir de un ajuste preestablecido de solo lectura y luego restringe el rol instalado del bot con anulaciones de categoría o canal. La guía de configuración del bot explica la propiedad del bot, los intents opcionales y los permisos específicos de cada funcionalidad que se añaden posteriormente.

Inspecciona antes de conectar

Para una versión publicada exacta, inspecciona el contrato real de producción y el ajuste preestablecido de solo lectura recomendado, sin token ni solicitud a Discord:

npx --yes @j-256/discord-mcp@0.1.1 catalog --check
npx --yes @j-256/discord-mcp@0.1.1 catalog --html ./discord-mcp-contract.html
npx --yes @j-256/discord-mcp@0.1.1 preset show server-observer

catalog --check inicia un servidor MCP sin credenciales y con la ejecución deshabilitada, negocia sus herramientas, prompts, recursos, plantillas, capcidad de completado y la aplicación MCP opcional de revisión de planes, verifica cada ruta de finalización de política con cero identificadores devueltos, calcula la huella digital del HTML exacto de la aplicación y de su límite de autoridad, y comprueba que cada llamada a una herramienta queda bloqueada por la protección de solo catálogo.

catalog --html FILE escibe un explórador independiente determinsta para ese mismo contrato negociado. Ábrelo localmente para buscar y filtrar cada herramienta, inspeccionar los esquemas exactos de entrada y salida, revisar prompts, recursos, rutas de finalización de política y el código fuente completo de la aplicación de revisión de planes, y comparar los digestos de contrato, seguridad y aplicación integrados. La exportación no contiene ninguna credencial ni valor de finalización de identificador, no utiliza ningún recurso externo, no realiza ninguna solicitud de red y rechaza reemplazar un archivo existente.

La imagen de lanzamiento exacta expone el mismo catálogo seguro sin token y utiliza por defecto el modo catálogo en lugar del servicio operativo:

docker run --rm -i \
  --network=none \
  --read-only \
  --cap-drop=ALL \
  --security-opt=no-new-privileges:true \
  --pids-limit=64 \
  ghcr.io/j-256/discord-mcp:0.1.1 catalog --check

Instala tu bot gestonado por ti

Crea una aplicación de Discord y un bot en el Developer Portal, copia el ID púbico de la aplicación y el ID del servidor de destino, y genera un enlace de instalación sin callback cuyo otorgamiento de guild y de permisos de mínimo privilegio provenga del ajuste preestablecido recomendado:

npx --yes @j-256/discord-mcp@0.1.1 preset install server-observer \
  --application-id YOUR_APPLICATION_ID \
  --guild-id YOUR_GUILD_ID \
  --html ./discord-mcp-onboarding.html

Abre la URL impresa con la sesión iniciada como miembro autorizado para gestionar ese servidor. Solicita únicamente View Channel para server-observer, fija el selector de servidor al ID proporcionado, no solicita ningún token de usuario y nunca envía el token del bot al comando del conector. Mantén la opción Public Bot deshabilitada a menos que otras personas deban poder instalar tu aplicación. Usa channel-reader en su lugar para solicitar View Channel más Read Message History; su plan también identifica Message Content como el intent recomendado en el Developer Portal.

La salida opcional --html FILE es una guía independiente determinista derivada de ese plan de instalación exacto y validado. Proporciona una lista de verificación en memoria, controlos de copia no secretos, la navegación explícita de instalación de Discord, comandos de política estricta y evidencia exacta del plan, sin aceptar un token, cargar un recurso externo, realizar una solicitud en segundo plano, persistir el estado del navegador, abrir un navegador ni reemplazar un archivo existente. El plan en la terminal sigue siendo completo cuando no se desea el HTML.

Crea la primera configuración más segura

Mantén el token en un entorno de lanzamiento con capcidad de secretos, verifica un guild exacto, guarda la política completa no secreta en un solo archivo y prueba la ruta MCP completa:

export DISCORD_BOT_TOKEN="YOUR_DISCORD_BOT_TOKEN"
npx --yes @j-256/discord-mcp@0.1.1 setup \
  --config ./discord-mcp.json \
  --preset server-observer \
  --guild-id YOUR_GUILD_ID
npx --yes @j-256/discord-mcp@0.1.1 config validate ./discord-mcp.json
npx --yes @j-256/discord-mcp@0.1.1 doctor --config ./discord-mcp.json --online
npx --yes @j-256/discord-mcp@0.1.1 smoke --config ./discord-mcp.json

En PoerShell, define el token en el proceso actual antes de ejecutar los mismos comandos:

$env:DISCORD_BOT_TOKEN = "YOUR_DISCORD_BOT_TOKEN"

Si el lanzador, el runtime de contenedores o el orquestador monta el token como archivo, selecciona esa entrada en su lugar. La ruta debe ser absoluta, el archivo ya debe existir para una configuración verificada, y --token-file no puede combinarse con --token-env ni con un DISCORD_BOT_TOKEN ambiental:

npx --yes @j-256/discord-mcp@0.1.1 setup \
  --config ./discord-mcp.json \
  --preset server-observer \
  --guild-id YOUR_GUILD_ID \
  --token-file /run/secrets/discord_bot_token

El ajuste preestablecido server-observer expone metadatos del guild, roles, diagnósticos de permisos, estado del conector, actividad sin contenido y descubrimiento de herramientas. No puede habilitar escrituras, el Gateway, la exportación de telemetría, la persistencia de actividad ni el acceso a Message Content. La configuración almacena la referencia de la credencial y los IDs públicos verificados, nunca el valor del token, e imprime un descriptor de lanzamiento stdio portable para un cliente MCP compatible. route_discord_goal oferce a todo cliente con capcidad de prompts un único punto de entrada seguro: descubrimiento estándar del catálogo, lecturas acotadas y, como máximo, un plan revisado para una escritura, nunca una mutación.

El archivo versionado es el único límite de la política. Cubre la identidad, el alcance de lectura, las herramientas, las capcidades, los alcances de funcionalidades, los límites, las rutas de almacenamiento local, el comportamiento del Gateway, los ajustes de runtime y la observabilidad segura para la privacidad.

Un despliegue típico tiene dos entradas: un archivo de política JSON y un secreto externo con el token del bot. El token del bot se puede referenciar mediante una variable de entorno o un archivo validado estricta mente; las cabecceras opcionales del recolecor autenticado siguen siendo referencias de entorno.

El JSON Schema incluido en el repositorio admite validación en el editor, mientras que config show y config explain ofrecen una inspección sin secretos. Los perfiles gestionados usan el mismo documento cuando es preferible un almacenamiento privado por usuario.

limits.mcpReadResponseMaxBytes acota un resultado completo de lectura redactado de la aplicación MCP mediante bytes JSON UTF-8 compactos. Su valor predeterminado es 1 MiB y acepta desde 64 KiB hasta 8 MiB. Una lectura de herramienta sobredimensionada devuelve un error fijo response-too-large sin contenido; un recurso o prompt sobredimensionado falla con un error de protocolo fijo. El conector nunca recorta JSON estructurado, genera una vista previa, divulga datos retenidos ni informa del tamaño medido. Los resultados finales de las herramientas capces de mutar se conservan siempre, porque Discord ya puede haber cambiado. El descubrimiento de protocolo y las notificaciones quedan fuera de este límite de resultados; usa conjuntos de herramientas y descubrimiento progresivo para controlar el tamaño del catálogo.

Los mensajes Incoming-webhook autenticados por credencial usan storage.webhookCredentialRoot, un direcrorio canónico existente propiedad del proceso con modo 0700. Las credenciales creadas por el conector quedan disponibles mediante búsqueda exacta con compuerta separada, entrega acotada en texto plano, edición y eliminación revisada, con archivos exclusivos con modo 0600 y sincronización duradera del direcrorio. MCP no acepta ninguna credencial, URL de ejecución, ruta, anulación de identidad, destino de hilo, paylood enriquecido, archivo, componente, encuesta ni paylood de webhook en bruto. Incluye en la lista de permitidos canales de texto directos o de anuncios en scopes.webhookMessageChannelIds y habilita solo la capcidad de mensajes webhook requerida.

Los comandos operativos requieren --config FILE, --profile NAME o el selector no secreto DISCORD_MCP_CONFIG_FILE. Las variables de política ambientales se rechazan y no existte ningún modo alternativo de política por entorno ni de migración. Ejecutar setup sin un ajuste preestablecido verifica una política existente sin reescribirla, mientas que un ajuste preestablecido crea o reemplaza explícitamente el destino seleccionado.

El doctor sin conexión sigue siendo útíl antes de que se monte un secreto o cuando su archivo referenciado no está disponible. Informa de la disponibilidad de la credencial como un fallo independiente y continúa validando la política estricta, los anclajes de identidad, el alcance, la superfice de herramientas, el presupuesto efectivo de respuesta de lectura y las compuertas de seguridad. doctor --online contacta con Discord solo cuando la credencial real seleccionada está disponible.

Revisa cualquiera reemplazo de política

Mantén la política activa sin cambios mientras editas un candiato separado; a continuación, revisa y aplica solo un plan frescio exacto:

npx --yes @j-256/discord-mcp@0.1.1 config workbench \
  ./discord-mcp.json \
  --html ./discord-mcp-workbench.html
npx --yes @j-256/discord-mcp@0.1.1 config plan \
  ./discord-mcp.json \
  ./discord-mcp.candidate.json
npx --yes @j-256/discord-mcp@0.1.1 config apply \
  ./discord-mcp.json \
  ./discord-mcp.candidate.json \
  --plan-digest SHA256_FROM_THE_PLAN \
  --confirm ACTIVE_POLICY_NAME

El workbench opcional valida el documento schema-v2 activo y luego escibe un editor independiente privado exclusivo. Incorpora la política completa no secreta, incluidos los IDs púbicos de Discord, las rutas locales y los nombres de referencias externas de secretos; por lo tanto, trata el HTML como privado. Las ediciones permanecen en la memoria del navegador hasta que se descarga explícitamente el candiato. La página no tiene campo de secretos, autoridad de red ni de navegación externa, persistencia en el navegador, acceso a Discord, escritura de archivos activos ni autoridad de aprobación, y no abre un navegador automáticamente. Sus comprobaciones locales y las etiquetas preliminares de impacto son soo orientativas.

La planificación sigue siendo la autoridad. Lee dos documentos protegidos no secretos e informa de cada cambio de campo exacto, su autoridad o impacto operativo, las adiciones y eliminaciones canónicas de herramientas, las advertencias, los resúmenes de ambos documentos, el candidato completo y las comprobaciones estructuradas posteriores a la aplicación. Nunca resuelve un secreto referenciado ni contacta con Discord. La aplicación vuelve a leer ambos archivos, exige el resumen exacto y la confirmación del nombre de la política activa, rechaza la deriva de identidad o cualquiera de los dos documentos obsoletos, conserva una copia de seguridad recuperable y deja el candidato intacto. El documento activo sigue siendo la única fuente de política; no existe ningún respaldo de entorno heredado ni capa de migración.

Revise los resultados de escritura recientes y las reclamaciones duraderas entre procesos de la misma política seleccionada sin realizar una solicitud a Discord ni resolver su credencial:

npx --yes @j-256/discord-mcp@0.1.1 activity \
  --config ./discord-mcp.json \
  --html ./discord-mcp-activity.html

La revisión acotada reduce cada ID de actividad a su resultado actual más reciente, conservando los registros anteriores como historial superado. La evidencia pendiente, incierta, fallida, desviada, malformada o que requiere revisión produce un estado de salida de advertencia en lugar de parecer una ejecución limpia. Las operaciones revisadas coincidentes se unen a las reclamaciones duraderas solo a través de su hash de clave de operación sin contenido y del resumen del plan, mientras que las reclamaciones sin coincidencia en la ventana acotada permanecen etiquetadas explícitamente. El resumen vincula el informe exacto recopilado, mientras que su marcador de lectura independiente evita dar a entender que archivos locales separados se capturaron bajo un único bloqueo de estado global. El explorador independiente privado opcional añade búsqueda y filtros, pero no puede contactar con Discord, resolver una reclamación, reintentar una operación, conservar el estado del navegador ni exponer la ruta del archivo de actividad seleccionado. Use el comando independiente de confirmación exacta coordination resolve solo después de detener el proceso propietario y comprobar el estado exacto de Discord y el registro de auditoría.

La política de características utiliza la misma forma de documento. Los baneos masivos, los cambios masivos de rol de miembros, la poda de servidores y otras características revisadas tienen cada una capacidades separadas, alcances exactos, límites acotados y conjuntos de herramientas documentados. La autoridad de un solo miembro nunca otorga autoridad por lotes. No existe ninguna interfaz de políticas de entorno, alias heredado, analizador alternativo ni capa de migración.

Use channel-reader solo cuando se necesiten un historial de mensajes acotado y búsqueda nativa. Requiere al menos un canal exacto:

npx --yes @j-256/discord-mcp@0.1.1 setup \
  --config ./discord-reader.json \
  --preset channel-reader \
  --guild-id YOUR_GUILD_ID \
  --channel-id YOUR_CHANNEL_ID

Ampliar la política mediante revisión

Mantenga la primera configuración de solo lectura y luego planifique una receta aditiva cuando se necesite un flujo de trabajo de escritura. guild-builder añade creación neutral respecto al modelo y retenida por el llamador, y captura en dos pasadas para la estructura del servidor, el perfil, la configuración, Community, la pantalla de bienvenida, la incorporación, AutoMod por fases y publicaciones estáticas, sin almacenar el objetivo ni el plano. Su evidencia de configuración, Community e incorporación utiliza una conexión de evidencia de diseño no privilegiada y solo con GUILDS, sin cambiar el flujo de eventos. incident-response añade auditoría de incidentes con privacidad minimizada y cambios de bloqueo temporales revisados y acotados en el tiempo, sin Gateway ni intent privilegiado. channel-publisher añade texto acotado, Componentes estáticos V2 y publicación de embeds enriquecidos sin contenido remoto, e informa del intent de Message Content requerido. direct-messenger añade lecturas de usuarios exactos, además de entrega revisada de texto y Componentes estáticos V2, ediciones con el mismo formato y eliminación. La entrega opcional de archivos privados requiere una capacidad separada y una raíz de adjuntos propia; la receta no la concede. La mensajería privada no añade ningún permiso de servidor, intent privilegiado, feed de Gateway, mensaje directo grupal, descubrimiento de destinatarios, recuperación remota de archivos, callback interactivo ni ruta de escritura inmediata.

npx --yes @j-256/discord-mcp@0.1.1 recipe list
npx --yes @j-256/discord-mcp@0.1.1 recipe plan guild-builder ./discord-mcp.json \
  --guild-id YOUR_GUILD_ID
npx --yes @j-256/discord-mcp@0.1.1 recipe apply guild-builder ./discord-mcp.json \
  --guild-id YOUR_GUILD_ID \
  --plan-digest SHA256_FROM_THE_PLAN \
  --confirm guild-builder
npx --yes @j-256/discord-mcp@0.1.1 recipe plan direct-messenger ./discord-mcp.json \
  --user-id EXPECTED_RECIPIENT_USER_ID
npx --yes @j-256/discord-mcp@0.1.1 recipe apply direct-messenger ./discord-mcp.json \
  --user-id EXPECTED_RECIPIENT_USER_ID \
  --plan-digest SHA256_FROM_THE_PLAN \
  --confirm direct-messenger

La planificación imprime el documento propuesto completo no secreto, los cambios de campo exactos, permisos, intents, riesgos, advertencias y un resumen vinculado a la ruta, sin resolver un secreto ni contactar con Discord. La aplicación vuelve a calcular ese plan, exige el resumen exacto y la confirmación del nombre de la receta, rechaza un cambio concurrente en la fuente, conserva una copia de seguridad recuperable y, por sí sola, sigue sin otorgar ninguna autoridad en Discord. Ejecute la validación fuera de línea impresa, el doctor en línea y las comprobaciones de humo después de aplicar. Las recetas solo añaden política; nunca eliminan una capacidad, alcance o conjunto de herramientas existente.

El doctor en línea verifica la identidad, la pertenencia acotada a servidores y la postura de la aplicación. La comprobación de humo inicia la política seleccionada a través del punto de entrada real serve, negocia MCP estable sobre stdio, valida catálogos, anotaciones y estado de solo lectura, y no escribe nada en Discord. Los entornos de ejecución opcionales configurados se inician y detienen junto con el hijo; consulte la referencia del operador.

Compilar desde el código fuente

git clone https://github.com/j-256/discord-mcp.git
cd discord-mcp
npm run deps:locked
npm run build
node dist/cli.js catalog --check

Las referencias exactas de instalación, CLI del operador y configuración cubren la configuración independiente, los perfiles administrados, los montajes de enlace OCI, el descubrimiento progresivo, los conjuntos de herramientas, las listas de permitidos, los modos opcionales de Gateway, la observabilidad y todas las funciones con activación independiente.

Mapa de capacidades

Área

Capacidades seleccionadas

Descubrimiento y lecturas

Conversión local de ID exactos a partir de enlaces de salto y menciones escritas, servidores, canales, mensajes privados uno a uno exactos de la lista de permitidos, regiones de voz y estado transitorio de canal, roles, permisos efectivos, auditorías seguras para los miembros, historial de mensajes, búsqueda, actividad agregada segura para la privacidad, hilos, foros, encuestas, reacciones, historial de auditoría, integraciones, invitaciones, plantillas, emojis propiedad del servidor y de la aplicación, stickers, soundboard, eventos, instancias de Stage, onboarding, pantallas de bienvenida, perfiles, configuración, enrutamiento de Comunidad, acciones de incidentes y webhooks de canal

Mensajes y comunidades

Envíos y ediciones de bots de servidor idempotentes; envío revisado de mensajes privados de texto sin formato o de Componentes estáticos V2 con destinatario exacto, respuesta, edición con el mismo formato, eliminación y verificación de recepción; búsqueda de mensajes de Incoming Webhook con credenciales privadas; entrega en texto sin formato; edición exacta y eliminación revisada; fijados exactos; reacciones; crossposts y suscripciones de anuncios; reenvío inmutable; adjuntos; Componentes estáticos V2 revisados y verificables tras reinicio y embeds enriquecidos sin contenido remoto; publicaciones en foros; creación de hilos; encuestas nativas; y eliminación exacta

Estructura del servidor

Creación neutral respecto al modelo y captura en dos pasadas en planos de servidor retenidos por el llamador, en estructura aditiva, perfil, configuración, Comunidad monótona, pantallas de bienvenida e incorporación completas, AutoMod por fases y publicaciones ordenadas de Componentes estáticos V2 verificables tras reinicio; canales y roles aditivos; retiro revisado de canales exactos y roles estándar; andamiajes reanudables; clonación atómica de canales; orden relativo de canales y roles; metadatos de canales de voz y de Stage sensibles a los impulsos; cambios de estado de canales de voz sensibles a la conexión; sobrescrituras de permisos; etiquetas de foro; y configuración exacta de roles con iconos locales o Unicode revisados

Miembros y moderación

Lecturas de miembros y baneos con privacidad minimizada; flujos de trabajo exactos de apodo, omisión nominada de Membership Screening, rol, voz, pertenencia a hilos, expulsión, baneo, desbaneo y tiempo de espera; lotes revisados de roles exactos con evidencia por objetivo, puntos de control y reanudación aprobada; baneos masivos nativos revisados con evidencia completa del conjunto de objetivos y verificación por objetivo; y poda de servidores no exacta y acotada con protecciones de identidad mediante roles y resultados solo de recuento

Configuración de la comunidad

Auditorías de comandos de aplicación, roles vinculados, SKU, derechos de beneficiario y suscripciones; concesiones de prueba y consumo de consumibles; ciclos de vida revisados de comandos de servidor y globales; gestión nativa de comandos; cambios revisados de esquema e intents de la aplicación; habilitación y enrutamiento revisados de Comunidad; plantillas de servidor; integraciones; invitaciones finitas de archivos privados que tienen en cuenta los roles; auditoría y revocación de invitaciones seguras para las capacidades; webhooks y mensajes privados seguros para las credenciales; onboarding; pantallas de bienvenida; ajustes de widget autenticados; acciones de incidentes acotadas en el tiempo; emojis propiedad de la aplicación; expresiones de servidor; soundboard; AutoMod; eventos programados; y ciclo de vida de Stage

Operaciones

Descubrimiento total o progresivo de herramientas, recursos, indicaciones, autocompletado de ID exactos con conocimiento de la política, revisión de MCP solo de visualización opcional, archivos de política estrictos no secretos y perfiles administrados, banco de trabajo privado de políticas sin conexión, ajustes predefinidos deterministas de solo lectura, recetas de política aditivas que priorizan la revisión, postura de aplicación segura para la privacidad, auditorías de comandos, esquema de roles vinculados, catálogo SKU y exposición de webhooks de servidor, revisión de actividad sin contenido vinculada al resumen con HTML privado opcional, coordinación duradera de escrituras entre procesos, eventos de Gateway opcionales seguros para la privacidad con fragmentación dispersa autenticada de rutas exactas, verificación previa compartida de inicio de sesión y presupuesto de salida por shard, ingreso nativo de interacciones y diagnósticos de OpenTelemetry locales o con padre W3C

Las capacidades se exponen solo cuando se seleccionan su conjunto de herramientas y sus compuertas de política. Un conjunto de herramientas reduce la superficie invocable, pero nunca otorga autoridad de escritura en Discord ni local. Consulte las referencias exactas de herramientas, recursos e indicaciones.

Modelo de seguridad

Los permisos de Discord son el límite exterior. La política del conector reduce aún más esa autoridad.

El tráfico de producción usa orígenes fijos de Discord REST y de Gateway verificados; la configuración en tiempo de ejecución no puede redirigir credenciales.

  • Cada fragmento (shard) de Gateway cuenta cada evento saliente exitoso en un presupuesto de conexión móvil, limita la presión de comandos del llamante por debajo de la capacidad de ciclo de vida reservada y descarta las solicitudes en cola de ID exacto en cada límite de conexión

  • Las listas de permitidos exactas de servidores, canales, roles, miembros y funciones restringen cada superficie de forma independiente

  • Cada herramienta de servidor rechaza canales directos y directos de grupo. Las herramientas dedicadas de mensajes privados, en cambio, exigen una lista de permitidos independiente de usuarios ordinarios exactos e IDs de canal uno a uno conocidos por el llamante; solo admiten texto sin formato o componentes estáticos V2 acotados; suprimen toda mención; usan límites fijos antispam; y no ofrecen descubrimiento, segmentación masiva, componentes interactivos, URLs de embed arbitrarias ni flujo de Gateway

  • Los nombres, mensajes, embeds, componentes, nombres de archivo, URLs y otro texto remoto de Discord se tratan como datos no confiables, no como instrucciones

  • El contenido de Discord puede devolverse transitoriamente cuando se solicita explícitamente, pero el conector no lo almacena en caché, no lo registra en un diario, no lo exporta ni lo persiste

  • Los nuevos códigos y URLs de invitación se entregan solo mediante un archivo privado exclusivo seleccionado por el llamante; los resultados de MCP, los registros de ciclo de vida, los errores, los logs y la telemetría permanecen libres de capacidades de portador

  • Las credenciales de webhook entrante permanecen en archivos privados exclusivos de ID exacto; MCP acepta solo IDs de webhook y de mensaje; y la actividad persistente, los recibos, los errores, los logs y la telemetría permanecen libres de credenciales y de contenido

  • Las escrituras de derechos (entitlements) tienen un ámbito separado; la eliminación de prueba requiere prueba de creación, y el consumo almacena solo un hash de referencia de cumplimiento

  • Cada escritura consecuente conserva sus compuertas específicas de permiso, actualidad, aprobación, auditoría, relectura e incertidumbre

  • La eliminación de mensajes acepta solo IDs de mensaje exactos y preserva todas las compuertas de eliminación independientes

  • La eliminación de canales requiere un canal exacto en la lista de permitidos, evidencia completa de dependencias y permisos, confirmación explícita de pérdida irreversible de contenido, revisión firmada y prueba de ausencia más reciente y completa del Gateway; nunca lee el contenido del mensaje para estimar el impacto

  • La eliminación de roles requiere un rol estándar exacto en la lista de permitidos y no retenido, evidencia completa de titulares, jerarquía, permisos y dependencias descubribles, confirmación explícita de pérdida irreversible de rol, revisión firmada y prueba reciente de ausencia y preservación de supervivientes

  • La poda de servidores requiere una lista de permitidos de servidores exacta separada, una lista de permitidos opcional de roles de inclusión exacta, confirmación explícita de que Discord no revela los IDs de los candidatos, escudos de roles de identidad protegida, una estimación nativa reciente por debajo de los techos solicitados y configurados, revisión firmada y una solicitud no reintentada con evidencia estricta de resultado basada solo en recuentos

  • Las acciones de incidentes de servidor requieren un servidor exacto en la lista de permitidos, evidencia completa de MANAGE_GUILD conocido o de propietario, plazos futuros de no más de 24 horas, revisión firmada, una escritura dispersa no reintentada y respuesta exacta más relectura reciente; desactivar la protección anticipadamente se trata como destructivo

  • La habilitación de intents privilegiados acepta solo Guild Members o Message Content cuando la política estricta demuestra que ese intent es necesario o recomendado, preserva todas las banderas de aplicación no objetivo observadas y excluye Presence, la deshabilitación, la edición genérica de aplicaciones y la remediación automática

La secuencia común de escritura revisada es:

exact request -> fresh keyed plan -> human review -> signed approval
             -> final fresh-plan match -> pending content-free evidence
             -> one non-retried write -> exact readback or quarantine

Las solicitudes ya actuales son no-operaciones sin registro cuando la operación de Discord permite esa prueba. Un rechazo conocido del cliente se resuelve como fallido. Una falla de transporte, una falla del servidor, una respuesta de éxito malformada o una relectura faltante son inciertas y no deben reintentarse a ciegas. Las reclamaciones duraderas mantienen en cuarentena los objetivos exactos afectados entre procesos del conector hasta que la evidencia de recepción segura o la resolución explícita del operador demuestren qué puede continuar.

Lea el modelo de seguridad completo y la política de seguridad antes de habilitar una superficie de escritura.

Confianza y verificación

Comando

Qué demuestra

Acceso a Discord

discord-mcp catalog --check --json

Inventarios exactos de MCP de producción, esquemas, anotaciones, manifiesto de finalización de política y prueba de catálogo de valor cero, bytes y autoridad de la aplicación de revisión de plan, guardia de ejecución fija y resúmenes estables de contrato, seguridad y aplicación

Ninguno

discord-mcp catalog --html FILE

Representación autónoma y buscable de ese contrato negociado exacto, incluidos esquemas, filtros de flujo de trabajo y riesgo, rutas de finalización, código fuente de la aplicación, instrucciones, recursos y orientación de seguridad

Ninguno

discord-mcp preset show server-observer --json

Herramientas exactas de solo lectura, requisitos de alcance, intents y límite de cero escrituras para el preset recomendado

Ninguno

discord-mcp preset install server-observer --application-id ID --guild-id ID [--html FILE]

Plan de autorización de bot de origen fijo y bloqueado al servidor, más una lista de verificación autónoma opcional sin credenciales con resúmenes exactos y comandos posteriores a la instalación

Ninguno

discord-mcp config workbench ACTIVE --html FILE

Editor privado en memoria fuera de línea y descarga explícita de candidatos para una política validada de esquema v2, sin autoridad de escritura en el archivo activo ni de aprobación

Ninguno

discord-mcp config plan ACTIVE CANDIDATE --json

Política candidata completa, cambios semánticos exactos, impactos de autoridad, exposición de herramientas, advertencias, bloqueo de identidad y resumen reciente vinculado a la ruta

Ninguno

discord-mcp config apply ACTIVE CANDIDATE --plan-digest DIGEST --confirm ACTIVE_NAME

Reemplazo local exacto y reciente de la política con rechazo de archivos obsoletos, publicación atómica y una versión anterior recuperable

Ninguno

discord-mcp recipe show guild-builder --json

Contrato exacto de capacidad aditiva, alcance, conjunto de herramientas, permisos, intents, evidencia de Gateway y riesgo

Ninguno

discord-mcp recipe plan guild-builder FILE --guild-id ID --json

Política propuesta completa, cambios exactos, requisitos, advertencias y resumen vinculado a la fuente, la ruta, la solicitud y el contrato

Ninguno

discord-mcp activity --config FILE [--html FILE] [--json]

Ciclos de vida de escritura actuales acotados, historial superado, evidencia exacta libre de contenido y reclamaciones duraderas correlacionadas con estado de advertencia cuando se requiere atención del operador

Ninguno

discord-mcp doctor --config FILE

Diagnósticos locales de Node.js, disponibilidad de credenciales, fijaciones de identidad, política, alcance, superficie de herramientas, presupuesto de respuesta de lectura sin pérdidas, Gateway, observabilidad y compuertas de escritura, incluso antes de que haya un secreto disponible

Ninguno

discord-mcp doctor --config FILE --online

Política estricta, identidad de aplicación y bot fijada, indicadores de intents y membresía de servidor acotada

Solo lectura

discord-mcp smoke --config FILE

Negociación de stdio lanzada, descubrimiento, anotaciones e identidad del conector a través de la política seleccionada

Solo lectura

npm run container:verify

Compilación de base fijada, restricciones de proceso y sistema de archivos no root, metadatos sin secretos, identidad de catálogo determinista, comportamiento de MCP y fallo de credenciales seguro

Ninguno

npm run container:index:verify

Índice multiarquitectura exacto, configuraciones y blobs de plataforma, y pruebas de procedencia y registros SBOM por plataforma

Solo registros de imágenes públicos

npm run pack:verify

Archivos reproducibles, contenido exacto del paquete, instalación aislada, CLI instalada, evidencia de catálogo determinista y HTML, y handshake de MCP libre de contenido

Ninguno

npm run security:check

Vulnerabilidades de dependencias, firmas de registro y atestaciones

Solo registro público de paquetes

catalog --check --json está diseñado para comparación independiente. No necesita ninguna credencial, ignora la autoridad ambiental del conector, no devuelve identificadores de finalización, no ejecuta ninguna operación de Discord, no abre ningún Gateway, no exporta telemetría y no crea ningún registro de actividad. Los resúmenes de contrato coincidentes identifican instrucciones MCP normalizadas coincidentes, capacidades del servidor, vinculaciones de finalización de política, esquemas y anotaciones de herramientas, declaraciones de prompts, declaraciones de recursos, plantillas, respuesta de seguridad, respuesta de la aplicación de revisión de plan y guardia de ejecución.

El flujo de trabajo de publicación reconstruye los candidatos desde el código fuente, los empaqueta dos veces, los instala sin scripts de ciclo de vida, los compara entre las líneas de Node.js compatibles, crea una imagen OCI multiarquitectura de versión exacta, prueba la imagen con un sistema de archivos raíz de solo lectura sin capacidades ni red, genera un SBOM SPDX y conserva pruebas de procedencia firmadas, SBOM y atestaciones de catálogo. El runbook de publicación documenta las compuertas de publicación controladas por humanos y la ruta de verificación independiente.

Arquitectura

El transporte stdio, el cliente REST de Discord, la política de alcance, los servicios de dominio, la planificación revisada, la coordinación duradera, el registro de actividad, la observabilidad, el Gateway y el adaptador de MCP permanecen separados. La producción utiliza fetch nativo, TypeScript ESM y un pequeño conjunto de dependencias exactamente fijado.

Esto mantiene el transporte, la evidencia de permisos, la autoridad local, las escrituras revisadas, la persistencia y la presentación de MCP comprobables de forma independiente. Las nuevas capacidades deben ajustarse a esos límites en lugar de añadir un despachador genérico de Discord.

Documentación

Desarrolo

Consulta CONTRIBUTING.md para los cambios y SUPORT.md para preguntas sobre la configuración y el operador. Las pruebas predeterminadas usan transportes inyectados y no contactan con Discord:

npm run metadata:check
npm run config:schema:check
npm run typecheck
npm test
npm run test:coverage
npm run build
npm run pack:verify
npm run container:verify
npm run container:index:verify
npm run security:check

Las sondas en vivo son explícitas y de solo lectura de forma predeterminada. Ningún comando de verificación predeterminado obtiene el contenido de los mensajes ni realiza una mutación en Discord.

Licencia

AGPL-3.0-only

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityNo data
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables LLMs to interact with Discord channels by sending and reading messages through Discord's API, with a focus on maintaining user control and security.
    37
    227
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with Discord through the Model Context Protocol, providing access to all Discord features like channels, messages, threads, reactions, and roles. Supports secure Discord bot operations with rate limiting, caching, and comprehensive API coverage for OpenAI, LangChain, and other MCP clients.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with Discord through the REST API and real-time events, supporting message management, user info, channel operations, and more with security controls.
    24
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables Discord server inspection, structural editing, blueprint-based setup and audit, with read/write tools and dry-run safety.
    107
    MIT

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/j-256/guildcontrol'

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