Skip to main content
Glama
j-256

Discord MCP

by j-256

Discord MCP

Discord MCP — это локальный stdio-сервер Model Context Protocol для безопасного доступа к гильдиям Discord и отдельно включённого в белый список доступа один-на-один через бота, принадлежащего оператору. Он сочетает широкое типизированное покрытие, точную область видимости, результаты с минимальным раскрытием конфиденциальности, проверяемые записи, доказательства без содержимого и явную обработку неоднозначности.

Минимальные привилегии. Проверка перед изменением. Проверяемые результаты. Без сохранения содержимого Discord.

Быстрый старт | Карта возможностей | Модель безопасности | Доверие и проверка | Полный справочник | Безопасность

Почему этот коннектор

Аспект

Обеспечиваемое поведение

Охват Discord

Один строгий несекретный файл политики с проверенными идентификаторами приложения и бота, точной областью видимости гильдий и каналов, отдельной областью личных сообщений точного пользователя, наборами инструментов с разделением по уровню риска и пресетами настройки только для чтения

Точная адресация

Канонические ссылки перехода Discord и официальные типизированные упоминания локально преобразуются в точные ID без поиска по именам, обращения к Discord, эха ввода, сохранения или передачи полномочий далее

Безопасность чтения

Ограниченные запросы, без потерь байтовые бюджеты на весь результат, строгая проверка ответов, проекции с уровнями конфиденциальности, обработка недоверенного содержимого и отсутствие обнаружения приватных каналов или наследования области видимости

Безопасность записи

Запросы с точными ID, свежие планы с ключами, подписанное интерактивное подтверждение, финальное совпадение со свежим планом и доказательство разрешений Discord для конкретного действия

Целостность результата

Ожидающие доказательства без содержимого, неповторяемые записи, точное обратное чтение, устойчивая координация, карантин неоднозначностей и ограниченное локальное давление недопустимых запросов

Конфиденциальность

Токены остаются в источнике секретов, принадлежащем вызывающей стороне; содержимое Discord, профили, URL, причины аудита и исходные ключи операций не сохраняются

Проверка плана

Каждый инструмент плана возвращает полный текст и структурированные доказательства и может добавлять проверку только для отображения, без полномочий, в хостах MCP Apps

Целостность релиза

Точные фиксации зависимостей и базовых образов, отпечатки контракта без учётных данных, воспроизводимая сборка пакета и усиленные проверки OCI, SPDX SBOM и автоматизация подписанных релизов

В полном справочнике описан каждый набор инструментов, шлюз политики, граница разрешений, уровень конфиденциальности, ресурс, промпт, режим Gateway, команда оператора и известное ограничение.

Related MCP server: Discord MCP Server

Быстрый старт

Требования:

  • Node.js 22 или новее

  • Приложение Discord с пользователем-ботом

  • Один строгий несекретный файл политики JSON

  • Токен бота, доступный через переменную окружения или защищённый файл

  • Только те разрешения Discord, которые необходимы для выбранной области чтения или проверяемой записи

Каждое развёртывание использует приложение Discord и бота, управляемых этим оператором. Discord MCP не предоставляет общего бота, размещённого ретранслятора или общего токена: создайте собственное приложение, приглашайте его бота только в гильдии, которыми вы управляете, и храните его учётные данные в локальном лаунчере или хранилище секретов.

Не выдавайте боту разрешение Administrator. Сформируйте точный первоначальный набор разрешений из пресета только для чтения, затем сузьте установленную роль бота с помощью переопределений категорий или каналов. Руководство по настройке бота объясняет владение ботом, дополнительные интенты и последующие разрешения для конкретных функций.

Проверка перед подключением

Для точной опубликованной версии проверьте реальный производственный контракт и рекомендуемый пресет только для чтения без токена или запроса к 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 запускает MCP-сервер без учётных данных и с отключённым выполнением, согласовывает его реальные инструменты, промпты, ресурсы, шаблоны, возможность завершения и опциональное MCP-приложение проверки плана, проверяет каждый маршрут завершения политики с нулевым числом возвращаемых идентификаторов, вычисляет отпечатки точного HTML приложения и границы полномочий и проверяет, что каждый вызов инструмента блокируется защитой catalog-only.

catalog --html FILE записывает детерминированный автономный обозреватель для того же согласованного контракта. Откройте его локально, чтобы искать и фильтровать каждый инструмент, просматривать точные схемы ввода и вывода, изучать промпты, ресурсы, маршруты завершения политики и полный исходный код приложения проверки плана, а также сравнивать встроенные дайджесты контракта, безопасности и приложения. Экспорт не содержит значений завершения учётных данных или идентификаторов, не использует внешние ресурсы, не выполняет сетевых запросов и отказывается заменять существующий файл.

Точный релизный образ предоставляет тот же безопасный каталог без токена и по умолчанию использует режим каталога вместо операционного обслуживания:

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

Установка вашего управляемого бота

Создайте приложение Discord и бота на портале разработчика, скопируйте публичный Application ID и целевой Server ID и создайте ссылку установки без обратных вызовов, чьи гильдия и набор разрешений с минимальными привилегиями берутся из рекомендуемого пресета:

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

Откройте выведенный URL, войдя как участник, которому разрешено управлять этим сервером. Он запрашивает только View Channel для server-observer, фиксирует выбор сервера на указанном ID, не запрашивает пользовательский токен и никогда не передаёт токен бота команде коннектора. Оставляйте Public Bot отключённым, если другие люди не должны иметь возможность устанавливать ваше приложение. Используйте вместо этого channel-reader, чтобы запросить View Channel и Read Message History; его план также определяет Message Content как рекомендуемый интент портала разработчика.

Необязательный вывод --html FILE представляет собой детерминированное автономное руководство, полученное из этого же точного проверенного плана установки. Оно предоставляет чек-лист в памяти, несекретные элементы управления копированием, явную навигацию по установке Discord, команды строгой политики и точные доказательства плана — без приёма токена, загрузки внешнего ресурса, выполнения фонового запроса, сохранения состояния браузера, открытия браузера или замены существующего файла. Терминальный план остаётся полным, когда HTML не нужен.

Создание самой безопасной первой конфигурации

Храните токен в среде запуска с поддержкой секретов, проверьте одну точную гильдию, сохраните полную несекретную политику в одном файле и протестируйте весь путь MCP:

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

В PowerShell задайте токен в текущем процессе перед запуском тех же команд:

$env:DISCORD_BOT_TOKEN = "YOUR_DISCORD_BOT_TOKEN"

Если лаунчер, среда выполнения контейнера или оркестратор монтирует токен как файл, выберите вместо этого такой ввод. Путь должен быть абсолютным, файл должен уже существовать для проверенной настройки, а --token-file нельзя комбинировать с --token-env или переменной окружения 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 \
  --token-file /run/secrets/discord_bot_token

Пресет server-observer открывает метаданные гильдии, роли, диагностику разрешений, состояние коннектора, активность без содержимого и обнаружение инструментов. Он не может включать запись, Gateway, экспорт телеметрии, сохранение активности или доступ к Message Content. Настройка сохраняет ссылку на учётные данные и проверенные публичные ID и никогда не сохраняет значение токена, а также выводит портативный дескриптор запуска stdio для совместимого MCP-клиента. route_discord_goal даёт каждому клиенту с поддержкой промптов одну безопасную точку входа: стандартное обнаружение каталога, ограниченные чтения и максимум проверенный план для записи — но никогда не мутацию.

Версионированный файл — единственная граница политики. Он охватывает идентификацию, область чтения, инструменты, возможности, функциональные области, лимиты, локальные пути хранения, поведение Gateway, настройки времени выполнения и наблюдаемость без ущерба для конфиденциальности. Типичное развёртывание имеет два входа: один файл политики JSON и один внешний секрет с токеном бота. На токен бота можно ссылаться через переменную окружения или строго проверенный файл; необязательные заголовки аутентифицированного коллектора остаются ссылками на окружение. Включённая в репозиторий JSON Schema поддерживает проверку в редакторе, а config show и config explain обеспечивают проверку без секретов. Управляемые профили используют тот же документ, когда предпочтительно приватное хранилище для каждого пользователя.

limits.mcpReadResponseMaxBytes ограничивает один полный очищенный результат чтения MCP-приложения компактными байтами JSON в кодировке UTF-8. По умолчанию он равен 1 MiB и принимает значения от 64 KiB до 8 MiB. Чрезмерно большой результат чтения инструмента возвращает фиксированную ошибку response-too-large без содержимого; чрезмерно большой ресурс или промпт завершается фиксированной ошибкой протокола. Коннектор никогда не обрезает структурированный JSON, не выдаёт предпросмотр, не раскрывает удержанные данные и не сообщает измеренный размер. Финальные результаты инструментов, способных к изменениям, всегда сохраняются, поскольку Discord мог уже измениться. Обнаружение протокола и уведомления находятся вне этой границы результатов; используйте наборы инструментов и постепенное обнаружение, чтобы контролировать размер каталога.

Сообщения Incoming-webhook, прошедшие проверку подлинности учётных данных, используют storage.webhookCredentialRoot — существующий канонический каталог 0700, принадлежащий процессу. Созданные коннектором учётные данные становятся доступны через отдельно контролируемый точный поиск, ограниченную доставку открытого текста, редактирование и проверяемое удаление, с эксклюзивными файлами 0600 и надёжной синхронизацией каталога. MCP не принимает учётные данные, URL выполнения, путь, переопределение идентичности, целевую ветку, расширенную полезную нагрузку, файл, компонент, опрос или исходную полезную нагрузку вебхука. Внесите обычные текстовые каналы или каналы объявлений в белый список в scopes.webhookMessageChannelIds, затем включите только необходимую возможность сообщений вебхука.

Операционные команды требуют --config FILE, --profile NAME или несекретного селектора DISCORD_MCP_CONFIG_FILE. Переменные политики из окружения отклоняются, и не существует альтернативного режима политики окружения или миграции. Запуск setup без пресета проверяет существующую политику, не перезаписывая её, тогда как пресет явно создаёт или заменяет выбранную цель.

Автономный doctor остаётся полезным до монтирования секрета или когда его указанный файл недоступен. Он сообщает о доступности учётных данных как об отдельном сбое и продолжает проверку строгой политики, привязок идентичности, области видимости, поверхности инструментов, эффективного бюджета ответов на чтение и защитных шлюзов. doctor --online обращается к Discord только тогда, когда доступно реальное выбранное учётное данное.

Проверка любой замены политики

Оставьте активную политику без изменений, пока редактируете отдельного кандидата, затем просмотрите и примените только точный свежий план:

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

Необязательная рабочая среда проверяет активный документ schema-v2, затем создаёт эксклюзивный приватный автономный редактор. Он встраивает полную несекретную политику, включая публичные ID Discord, локальные пути и имена внешних ссылок на секреты, поэтому относитесь к HTML как к приватному. Правки остаются в памяти браузера до явного скачивания кандидата. Страница не имеет поля секретов, полномочий сетевой или внешней навигации, сохранения состояния в браузере, доступа к Discord, записи в активный файл или полномочий одобрения и не открывает браузер автоматически. Её локальные проверки и предварительные метки влияния носят только рекомендательный характер.

Планирование остается определяющим. Оно читает два защищенных несекретных документа и сообщает о каждом точном изменении полей, его полномочиях или операционном влиянии, канонических добавлениях и удалениях инструментов, предупреждениях, дайджестах обоих документов, полном кандидате и структурированных проверках после применения. Оно никогда не извлекает указанный секрет и не связывается с Discord. Применение перечитывает оба файла, требует точного дайджеста и подтверждения имени активной политики, отклоняет дрейф идентичности или любой устаревший документ, сохраняет восстанавливаемую резервную копию и оставляет кандидата нетронутым. Активный документ остается единственным источником политики; не существует резервного механизма для устаревшего окружения или слоя миграции.

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

Ограниченная ревизия сводит каждый ID активности к его самому новому текущему результату, сохраняя более старые записи как вытесненную историю. Ожидающие, неопределенные, неудачные, дрейфующие, некорректно сформированные и требующие проверки свидетельства приводят к предупреждающему статусу выхода, а не выглядят как чистый прогон. Совпадающие проверенные операции связываются с долговременными утверждениями только через обе составляющие: контент-независимый хеш ключа операции и дайджест плана, при этом утверждения без совпадения в ограниченном окне остаются явно помеченными. Дайджест привязывает точно собранный отчет, а его маркер независимого чтения не позволяет подразумевать, что отдельные локальные файлы были захвачены под одной глобальной блокировкой состояния. Необязательный приватный автономный обозреватель добавляет поиск и фильтры, но не может связываться с Discord, разрешать утверждение, повторять операцию, сохранять состояние браузера или раскрывать путь к выбранному файлу активности. Используйте отдельную команду точного подтверждения coordination resolve только после остановки процесса-владельца и проверки точного состояния Discord и журнала аудита.

Политика функций использует ту же форму документа. Массовые баны, массовые изменения ролей участников, прунинг гильдии и другие проверенные функции имеют отдельные возможности, точные области действия, ограниченные лимиты и документированные наборы инструментов. Полномочия одного участника никогда не предоставляют пакетных полномочий. Не существует интерфейса политики окружения, устаревшего псевдонима, запасного парсера или слоя миграции.

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

Расширение политики через ревизию

Сначала держите первоначальную настройку только для чтения, затем планируйте аддитивный рецепт, когда нужен рабочий процесс записи. guild-builder добавляет не зависящее от модели, остающееся у вызывающей стороны авторство и двухпроходный захват для структуры гильдии, профиля, настроек, Community, Welcome Screen, онбординга, поэтапного AutoMod и статических публикаций без хранения цели или чертежа. Его свидетельства для настроек, Community и онбординга используют непривилегированное соединение для сбора структуры только через GUILDS, не изменяя ленту событий. incident-response добавляет минимизирующий приватность аудит инцидентов и проверенные ограниченные по времени изменения блокировки без Gateway и привилегированных интентов. channel-publisher добавляет ограниченную публикацию текста, статических Components V2 и rich-embed без внешних ресурсов и сообщает требуемый интент Message Content. direct-messenger добавляет чтение данных конкретного пользователя, а также проверенную доставку текста и статических Components V2, редактирование в том же формате и удаление. Необязательная доставка приватных файлов требует отдельной возможности и собственного корня вложений; рецепт ее не предоставляет. Приватный обмен сообщениями не добавляет прав гильдии, привилегированных интентов, ленты Gateway, групповых DM, обнаружения получателей, получения удаленных файлов, интерактивных обратных вызовов или немедленного пути записи.

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

Планирование выводит полный предлагаемый несекретный документ, точные изменения полей, разрешения, интенты, риски, предупреждения и привязанный к пути дайджест, не извлекая секрет и не связываясь с Discord. Применение пересчитывает этот план, требует точного дайджеста и подтверждения имени рецепта, отклоняет параллельное изменение источника, сохраняет восстанавливаемую резервную копию и само по себе не предоставляет никаких полномочий Discord. После применения запускайте напечатанные офлайн-валидацию, онлайн-доктор и смоук-проверки. Рецепты только добавляют политику; они никогда не удаляют существующую возможность, область действия или набор инструментов.

Онлайн-доктор проверяет идентичность, ограниченное членство в гильдиях и позицию приложения. Смоук запускает выбранную политику через реальную точку входа serve, согласовывает стабильный MCP через stdio, проверяет каталоги, аннотации и статус только для чтения и ничего не записывает в Discord. Настроенные необязательные среды выполнения запускаются и останавливаются вместе с дочерним процессом; см. справочник оператора.

Сборка из исходного кода

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

Точные справочники по установке, CLI оператора и конфигурации охватывают автономную конфигурацию, управляемые профили, OCI bind mounts, прогрессивное обнаружение, наборы инструментов, списки разрешений, необязательные режимы Gateway, наблюдаемость и каждую независимо управляемую функцию.

Карта возможностей

Область

Выбранные возможности

Обнаружение и чтение

Локальное точное преобразование ID из ссылок перехода и введенных упоминаний, гильдии, каналы, точные приватные сообщения один-на-один из списка разрешений, голосовые регионы и временный статус каналов, роли, эффективные разрешения, безопасные для участников аудиты, история сообщений, поиск, безопасная для конфиденциальности агрегированная активность, треды, форумы, опросы, реакции, история аудита, интеграции, приглашения, шаблоны, эмодзи гильдии и приложения, стикеры, саундборд, события, экземпляры Stage, онбординг, Welcome Screens, профили, настройки, маршрутизация Community, действия при инцидентах и вебхуки каналов

Сообщения и сообщества

Идемпотентные отправки и редактирования от бота гильдии, проверенная отправка приватных сообщений точному получателю в виде простого текста или статических Components V2, ответ, редактирование в том же формате, удаление и проверка получения, приватно авторизованный поиск сообщений Incoming-вебхука, доставка простого текста, точное редактирование и проверенное удаление, точные закрепления, реакции, кросс-посты и подписки объявлений, неизменяемая пересылка, вложения, проверенные и подтверждаемые после перезапуска статические Components V2 и rich-embed без внешних ресурсов, сообщения на форумах, создание тредов, нативные опросы и точное удаление

Структура гильдии

Не зависящее от модели, остающееся у вызывающей стороны авторство и двухпроходный захват в остающиеся у вызывающей стороны чертежи гильдии, охватывающие аддитивную структуру, профиль, настройки, однонаправленный Community, полные Welcome Screens и онбординг, поэтапный AutoMod и упорядоченные подтверждаемые после перезапуска публикации статических Components V2; аддитивные каналы и роли; проверенный точный вывод из эксплуатации каналов и стандартных ролей; возобновляемые каркасы; атомарное клонирование каналов; относительное упорядочивание каналов и ролей; учитывающие буст метаданные голосовых и Stage-каналов; зависящие от подключения изменения статуса голосовых каналов; переопределения разрешений; теги форумов; и точная настройка ролей с проверенными локальными или Unicode-иконками

Участники и модерация

Чтение участников и банов с минимальным раскрытием приватных данных; точные рабочие процессы для никнейма, поименованного обхода Membership Screening, роли, голоса, членства в тредах, кика, бана, разбана и тайм-аута; проверенные пакетные операции с точными ролями с доказательствами по каждой цели, контрольными точками и одобренным возобновлением; проверенные нативные массовые баны с полными доказательствами по набору целей и считыванием по каждой цели; и ограниченный неточный прунинг гильдии с защищающими идентичность ролевыми щитами и результатами только со счетчиками

Конфигурация сообщества

Аудиты команд приложения, связанных ролей, SKU, прав бенефициаров и подписок; тестовые гранты и использование расходуемых предметов; проверенные жизненные циклы команд гильдии и глобальных команд; нативное управление командами; проверенные изменения схемы приложения и интентов; проверенное включение Community и маршрутизация; Guild Templates; интеграции; конечные приглашения для приватных файлов с учетом ролей; безопасный для возможностей аудит и отзыв приглашений; безопасные для учетных данных вебхуки и приватные сообщения; онбординг; Welcome Screens; аутентифицированные настройки виджета; ограниченные по времени действия при инцидентах; эмодзи приложения; выражения гильдии; саундборд; AutoMod; запланированные события; и жизненный цикл Stage

Операции

Полное или прогрессивное обнаружение инструментов, ресурсов и промптов, учитывающее политику точное дополнение идентификаторов, необязательный просмотр плана MCP App только для отображения, строго несекретные файлы политики и управляемые профили, приватная офлайн-рабочая среда для политики, детерминированные пресеты только для чтения, аддитивные рецепты политики с приоритетом проверки, безопасная для конфиденциальности позиция приложения, аудит команд, схемы связанных ролей, каталога SKU и открытости вебхуков гильдии, привязанный к дайджесту анализ активности без содержимого с необязательным приватным HTML, долговременная координация записи между процессами, необязательные безопасные для конфиденциальности события Gateway с аутентифицированным разреженным шардированием точных маршрутов, общая предполетная проверка при старте сеанса и бюджет исходящих сообщений на шард, нативный вход Interaction и локальная или с родительским W3C-контекстом диагностика OpenTelemetry

Возможности доступны только при выборе соответствующего набора инструментов и политических гейтов. Набор инструментов сужает вызываемую поверхность, но никогда не предоставляет прав на запись в Discord или локально. Ознакомьтесь с точным справочником инструментов, ресурсами и промптами.

Модель безопасности

Разрешения Discord — это внешняя граница. Политика коннектора дополнительно сужает эти полномочия.

  • Производственный трафик использует фиксированные источники Discord REST и проверенные источники Gateway; конфигурация времени выполнения не может перенаправлять учетные данные

  • Каждый шард Gateway учитывает каждое успешное исходящее событие в одном скользящем бюджете соединения, ограничивает давление команд вызывающего ниже зарезервированной емкости жизненного цикла и отбрасывает поставленные в очередь запросы с точными идентификаторами на каждой границе соединения

  • Точные списки разрешений для гильдии, канала, роли, участника и функции ограничивают каждую поверхность независимо

  • Каждый инструмент гильдии отклоняет прямые и групповые прямые каналы. Выделенные инструменты личных сообщений вместо этого требуют независимый точный список разрешений обычных пользователей и известные вызывающему идентификаторы каналов один-на-один, поддерживают только обычный текст или ограниченные статические Components V2, подавляют все упоминания, используют фиксированные антиспам-лимиты и не предоставляют обнаружения, массового таргетинга, интерактивных компонентов, произвольных URL-адресов эмбедов или ленты Gateway

  • Имена Discord, сообщения, эмбеды, компоненты, имена файлов, URL-адреса и другие удаленные тексты рассматриваются как ненадежные данные, а не как инструкции

  • Содержимое Discord может возвращаться временно при явном запросе, но оно не кэшируется, не журналируется, не экспортируется и не сохраняется коннектором

  • Новые коды приглашений и URL-адреса доставляются только через выбранный вызывающим эксклюзивный частный файл; результаты MCP, записи жизненного цикла, ошибки, журналы и телеметрия остаются свободными от bearer-возможностей

  • Учетные данные входящих вебхуков остаются в эксклюзивных частных файлах с точными идентификаторами; MCP принимает только идентификаторы вебхуков и сообщений, а постоянная активность, квитанции, ошибки, журналы и телеметрия остаются свободными от учетных данных и содержимого

  • Записи entitlement имеют отдельную область действия; тестовое удаление требует доказательства создания, а потребление сохраняет только хэш ссылки выполнения

  • Каждая значимая запись сохраняет свои доменно-специфичные шлюзы разрешений, актуальности, одобрения, аудита, обратного чтения и неопределенности

  • Удаление сообщений принимает только точные идентификаторы сообщений и сохраняет все независимые шлюзы удаления

  • Удаление канала требует один точно разрешенный канал, полное доказательство зависимостей и разрешений, явное подтверждение необратимой потери содержимого, подписанное ревью и новое полное доказательство отсутствия в Gateway; оно никогда не читает содержимое сообщений для оценки последствий

  • Удаление роли требует одну точно разрешенную незанятую стандартную роль, полное доказательство владельцев, иерархии, разрешений и обнаруживаемых зависимостей, явное подтверждение необратимой потери роли, подписанное ревью и свежее доказательство отсутствия плюс сохранения выживших

  • Очистка гильдии требует отдельный точный список разрешенных гильдий, опциональный точный список разрешенных включаемых ролей, явное подтверждение того, что Discord не раскрывает идентификаторы кандидатов, защитные экраны ролей для защиты идентичности, свежую нативную оценку ниже как запрошенного, так и настроенного пределов, подписанное ревью и один запрос без повторов со строгим доказательством результата, содержащим только количество

  • Действия при инцидентах гильдии требуют одну точно разрешенную гильдию, полное известное доказательство MANAGE_GUILD или владельца, будущие крайние сроки не более чем на 24 часа вперед, подписанное ревью, одну разреженную запись без повторов и точный ответ плюс свежее обратное чтение; преждевременное снятие защиты рассматривается как разрушительное действие

  • Включение привилегированных интентов принимает только Guild Members или Message Content, когда строгая политика доказывает, что интент требуется или рекомендуется, сохраняет все наблюдаемые флаги приложения, не являющиеся целевыми, и исключает Presence, отключение, общее редактирование приложения и автоматическое исправление

Общая последовательность записи с ревью:

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

Уже актуальные запросы являются no-op операциями без записей, когда операция Discord допускает такое доказательство. Известное отклонение клиентом завершается как неудача. Сбой транспорта, сбой сервера, некорректный ответ об успехе или отсутствие обратного чтения неопределенны и не должны повторяться вслепую. Устойчивые утверждения держат затронутые точные цели в карантине между процессами коннектора, пока безопасное доказательство получения или явное разрешение оператора не докажет, что можно продолжать.

Прочтите полную модель безопасности и политику безопасности перед включением поверхности записи.

Доверие и проверка

Команда

Что это доказывает

Доступ к Discord

discord-mcp catalog --check --json

Точные производственные инвентаризации MCP, схемы, аннотации, манифест полноты политики и доказательство каталога с нулевым значением, байты и полномочия приложения планового ревью, фиксированный исполнительный предохранитель и стабильные дайджесты контракта, безопасности и приложения

Нет

discord-mcp catalog --html FILE

Автономное представление с возможностью поиска этого точного согласованного контракта, включая схемы, фильтры рабочих процессов и рисков, маршруты завершения, исходный код приложения, инструкции, ресурсы и рекомендации по безопасности

Нет

discord-mcp preset show server-observer --json

Точные инструменты только для чтения, требования к области действия, интенты и граница без записи для рекомендуемого пресета

Нет

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

План авторизации бота с фиксированным источником и привязкой к гильдии, а также опциональный автономный чек-лист без учетных данных с точными дайджестами и командами после установки

Нет

discord-mcp config workbench ACTIVE --html FILE

Приватный автономный редактор в памяти и явная загрузка кандидата для одной проверенной политики schema-v2, без записи активного файла или полномочий одобрения

Нет

discord-mcp config plan ACTIVE CANDIDATE --json

Полная политика кандидата, точные семантические изменения, влияния на полномочия, экспонирование инструментов, предупреждения, блокировка идентичности и свежий дайджест, привязанный к пути

Нет

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

Точная свежая локальная замена политики с отклонением устаревших файлов, атомарной публикацией и восстанавливаемой предыдущей версией

Нет

discord-mcp recipe show guild-builder --json

Точный аддитивный контракт возможностей, области действия, набора инструментов, разрешений, интентов, Gateway-доказательств и рисков

Нет

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

Полная предлагаемая политика, точные изменения, требования, предупреждения и дайджест, привязанный к источнику, пути, запросу и контракту

Нет

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

Ограниченные текущие жизненные циклы записей, замещенная история, точные доказательства без содержимого и коррелированные устойчивые утверждения со статусом предупреждения, когда требуется внимание оператора

Нет

discord-mcp doctor --config FILE

Локальная диагностика Node.js, доступности учетных данных, закрепления идентичности, политики, области действия, поверхности инструментов, бюджета чтения-ответа без потерь, Gateway, наблюдаемости и шлюзов записи, даже до доступности секрета

Нет

discord-mcp doctor --config FILE --online

Строгая политика, закрепленные идентичности приложения и бота, флаги интентов и ограниченное членство в гильдии

Только чтение

discord-mcp smoke --config FILE

Запущенное stdio-согласование, обнаружение, аннотации и идентичность коннектора через выбранную политику

Только чтение

npm run container:verify

Сборка на закрепленной базе, ограничения файловой системы и процессов без root, метаданные без секретов, детерминированная идентичность каталога, поведение MCP и безопасный отказ учетных данных

Нет

npm run container:index:verify

Точный мультиархитектурный индекс, конфигурации и blob-объекты платформ, а также происхождение для каждой платформы и записи SBOM

Только публичные реестры образов

npm run pack:verify

Воспроизводимые архивы, точное содержимое пакета, изолированная установка, установленный CLI, детерминированные доказательства каталога и HTML, а также рукопожатие MCP без содержимого

Нет

npm run security:check

Уязвимости зависимостей, подписи реестра и аттестации

Только публичный реестр пакетов

catalog --check --json предназначен для независимого сравнения. Ему не нужны учетные данные, он игнорирует окружающие полномочия коннектора, не возвращает идентификаторы завершения, не выполняет никаких операций Discord, не открывает Gateway, не экспортирует телеметрию и не создает записей активности. Совпадающие дайджесты контракта определяют совпадающие нормализованные инструкции MCP, возможности сервера, привязки полноты политики, схемы и аннотации инструментов, объявления промптов, объявления ресурсов, шаблоны, ответ безопасности, ответ приложения планового ревью и исполнительный предохранитель.

Процесс выпуска пересобирает кандидатов из исходного кода, упаковывает их дважды, устанавливает их без скриптов жизненного цикла, сравнивает их на поддерживаемых линиях Node.js, создает мультиархитектурный OCI-образ точной версии, тестирует образ в файловой системе только для чтения без возможностей или сети, генерирует SPDX SBOM и сохраняет подписанные аттестации происхождения, SBOM и каталога. Руководство по выпуску описывает управляемые человеком шлюзы публикации и независимый путь проверки.

Это обеспечивает независимую тестируемость транспорта, подтверждения разрешений, локальной авторизации, проверяемых операций записи, персистентности и представления MCP. Новые возможности должны вписываться в эти границы, а не добавлять универсальный диспетчер Discord.

Документация

Разработка

Сведения об изменениях см. в CONTRIBUTING.md, а вопросы по настройке и эксплуатации — в SUPPORT.md. Тесты по умолчанию используют внедрённые транспорты и не обращаются к 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

Живые проверки явные и по умолчанию предназначены только для чтения. Ни одна команда проверки по умолчанию не загружает содержимое сообщений и не выполняет изменений в Discord.

Лицензия

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