discord-mcp
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 buildDiscord удерживает блокировку единственного экземпляра, поэтому флаг отладки действует только при запуске. Сначала закройте запущенный клиент.
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 readdoctor должен вывести ваш аккаунт, количество серверов и количество личных сообщений.
При первом подключении рендерер перезагружается один раз, потому что простаивающий клиент не делает REST-запросов, из которых можно перехватить заголовки. Перехват затем запоминается для каждого порта на двенадцать часов в ~/.local/state/discord-mcp/headers.json, поэтому последующие запуски подключаются примерно за секунду и не трогают ваш клиент.
Подключение к MCP-клиенту
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["/path/to/discord-mcp/dist/cli/main.js", "serve"]
}
}
}Инструменты
По умолчанию доступны восемнадцать инструментов: двенадцать на чтение и шесть на запись.
Инструмент | Доступ | Назначение |
| чтение | Серверы, на которых состоит аккаунт |
| чтение | Каналы одного сервера |
| чтение | Роли, заданные на сервере |
| чтение | Описание канала или треда |
| чтение | Страница сообщений с листанием в обе стороны |
| чтение | Закреплённые сообщения |
| чтение | Одно сообщение по id |
| чтение | Личные и групповые беседы |
| чтение | Открытые треды канала — так читаются посты на форуме |
| чтение | Архивные треды, куда попадают тихие посты на форуме |
| чтение | Поиск по одному серверу |
| чтение | Поиск по одному каналу или беседе |
| запись | Отправить сообщение или ответ |
| запись | Изменить сообщение, отправленное этим аккаунтом |
| запись | Добавить реакцию |
| запись | Отметить канал прочитанным до указанного сообщения |
| запись | Создать тред, опционально из существующего сообщения |
| запись | Создать пост на форуме с его первым сообщением |
Чтение форума работает через перечисление тредов канала форума. Каждый пост возвращается вместе с сообщением, которое его открыло, и применёнными тегами, так что пост можно прочитать без второго запроса.
Деструктивные инструменты
Существует ещё семь операций, которые не регистрируются вообще, если их категория не включена. Они не появляются в списке инструментов, поэтому ни один хост и ни одна модель не могут их вызвать.
Инструмент | Категория |
|
|
|
|
|
|
|
|
|
|
|
|
Включайте только то, что вам нужно:
{ "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/.
This server cannot be installed
Maintenance
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
- AlicenseBqualityFmaintenanceEnables interaction with Discord channels through a bot, allowing users to send messages and files, retrieve messages with advanced filtering, and download attachments of any type.5264MIT
- AlicenseNot gradedqualityDmaintenanceEnables 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.6MIT
- FlicenseNot gradedqualityBmaintenanceEnables interaction with Discord through natural language, including reading and sending messages, managing servers, and user actions.
- AlicenseNot gradedqualityDmaintenanceEnables reading Discord messages and server information using your own account via OAuth2, no bot required.MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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