Skip to main content
Glama
fmarcac

discord-mcp

by fmarcac

discord-mcp

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

Как это работает

Десктопное приложение Discord построено на Electron. При запуске с флагом --remote-debugging-port его рендерер становится доступен через Chrome DevTools Protocol. discord-mcp подключается к этому рендереру, наблюдает за набором заголовков, которые клиент уже сам отправляет в своих API-запросах, и выполняет запросы изнутри той же страницы.

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

Related MCP server: discord-user-mcp

Прочитайте это перед использованием

Это нарушает Условия использования Discord. Автоматизация пользовательского аккаунта запрещена независимо от того, как была получена сессия, а раздел 11 отдельно запрещает модификацию клиента.

Практический риск находится в той же категории, что и моды клиента вроде Vencord, которым Discord публично понизил приоритет и за которые по состоянию на 2026 год. Это практика неприменения правил, а не обещание. Риск сосредоточен в записи, а не в чтении.

Токен бота полностью соответствовал бы правилам, но бот никогда не сможет читать ваши личные сообщения. Это ограничение — единственная причина, по которой существует этот проект.

Настройка

npm install
npm run build

Discord удерживает блокировку единственного экземпляра, поэтому флаг отладки действует только при запуске. Сначала закройте запущенный клиент.

node dist/cli/main.js launch      # starts Discord on a random loopback port
node dist/cli/main.js doctor      # verifies attach, capture and a real read

doctor должен вывести ваш аккаунт, количество серверов и количество личных сообщений.

При первом подключении рендерер перезагружается один раз, потому что простаивающий клиент не делает REST-запросов, из которых можно перехватить заголовки. Перехват затем запоминается для каждого порта на двенадцать часов в ~/.local/state/discord-mcp/headers.json, поэтому последующие запуски подключаются примерно за секунду и не трогают ваш клиент.

Подключение к MCP-клиенту

{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["/path/to/discord-mcp/dist/cli/main.js", "serve"]
    }
  }
}

Инструменты

По умолчанию доступны восемнадцать инструментов: двенадцать на чтение и шесть на запись.

Инструмент

Доступ

Назначение

guild_list

чтение

Серверы, на которых состоит аккаунт

guild_channels

чтение

Каналы одного сервера

guild_roles

чтение

Роли, заданные на сервере

channel_get

чтение

Описание канала или треда

channel_history

чтение

Страница сообщений с листанием в обе стороны

channel_pins

чтение

Закреплённые сообщения

message_get

чтение

Одно сообщение по id

dm_list

чтение

Личные и групповые беседы

thread_list

чтение

Открытые треды канала — так читаются посты на форуме

thread_archived

чтение

Архивные треды, куда попадают тихие посты на форуме

search_guild

чтение

Поиск по одному серверу

search_channel

чтение

Поиск по одному каналу или беседе

message_send

запись

Отправить сообщение или ответ

message_edit

запись

Изменить сообщение, отправленное этим аккаунтом

message_react

запись

Добавить реакцию

message_ack

запись

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

thread_create

запись

Создать тред, опционально из существующего сообщения

forum_post

запись

Создать пост на форуме с его первым сообщением

Чтение форума работает через перечисление тредов канала форума. Каждый пост возвращается вместе с сообщением, которое его открыло, и применёнными тегами, так что пост можно прочитать без второго запроса.

Деструктивные инструменты

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

Инструмент

Категория

message_delete

messages

thread_delete

threads

channel_delete

channels

guild_leave

guilds

member_kick, member_ban

members

member_roles

roles

Включайте только то, что вам нужно:

{ "destructive": ["messages", "threads"] }
node dist/cli/main.js serve --config /path/to/policy.json

Это ключевой механизм контроля. Запросы подтверждения у хоста — второй уровень защиты, потому что поведение хостов различается, а некоторые хосты подтверждают автоматически. Каждый деструктивный инструмент выполняет операцию и возвращает объект, над которым она была выполнена, поэтому результат называет канал, а не просто возвращает снежинку.

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

Открытый порт DevTools — это локальный обход аутентификации: любой процесс, работающий от вашего имени, может управлять сессией, включая двухфакторную аутентификацию. discord-mcp привязывается только к loopback и выбирает случайный высокий порт вместо стандартного 9222. Не оставляйте клиент запущенным с открытым портом, когда вы им не пользуетесь.

Кэш заголовков хранит действующий токен. Повторное использование перехвата означает, что токен сохраняется, поэтому ~/.local/state/discord-mcp/headers.json содержит ваш заголовок Authorization, пока он не истечёт. Файл записывается с доступом только владельца, режим 0600; состояние запуска рядом с ним — тоже. Удалите файл, чтобы принудительно выполнить новый перехват:

rm ~/.local/state/discord-mcp/headers.json

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

Структура

src/attach/     CDP connection, target selection, launch, state
src/bridge/     header capture, request execution, rate limiting
src/api/        typed wrappers over Discord REST v9
src/normalize/  reduce Discord's wire format to what a reader needs
src/policy/     operation tiers and the destructive gate
src/tools/      MCP tool registration
src/cli/        launch, doctor, serve

Зависимости направлены только вниз. normalize/ и policy/ — чистые модули и ни от чего не зависят; именно здесь находится большая часть тестов.

npm test         # 152 tests, no Discord required
npm run typecheck

Проектный документ, включая результаты исследования Spike 0, которые повлияли на устройство моста, находится в docs/superpowers/specs/.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Discord using personal user tokens instead of bot applications, allowing for seamless message management and server exploration. It provides tools for reading history, sending messages, and searching across channels and DMs directly through MCP-compatible clients.
    6
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables interaction with Discord through natural language, including reading and sending messages, managing servers, and user actions.

View all related MCP servers

Related MCP Connectors

  • Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.

  • Eyes and hands on real Windows PCs — observe, click, type via Glasswarp API.

  • Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.

View all MCP Connectors

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/fmarcac/discord-mcp'

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