
Discord MCP: три сервера и подключение к Claude Code, Codex и Cursor
Подключает агента к Discord через вашего бота: читать и отправлять сообщения, вести каналы, ветки и форумы, раздавать роли, модерировать участников и собирать сервер с нуля.
Сервер на Java (JDA) в Docker: один контейнер на HTTP localhost:8085 для всех клиентов, 81 инструмент от сообщений до событий, вебхуков и эмодзи.
Как подключить
Что сделать до подключения
Docker и бот Discord с токеном
Запустить контейнер: docker run -d -i --name discord-mcp --restart unless-stopped -p 8085:8085 -e SPRING_PROFILES_ACTIVE=http -e DISCORD_TOKEN -e DISCORD_GUILD_ID saseq/discord-mcp:latest
DISCORD_TOKENТокен бота из Discord Developer Portal; задаётся контейнеру при запуске
DISCORD_GUILD_IDНеобязательно: ID сервера по умолчанию, тогда guildId в инструментах можно не передавать
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --transport http discord http://localhost:8085/mcpПроверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.discord]
url = "http://localhost:8085/mcp"Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"discord": {
"url": "http://localhost:8085/mcp"
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"discord": {
"type": "http",
"url": "http://localhost:8085/mcp"
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"discord": {
"httpUrl": "http://localhost:8085/mcp"
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"discord": {
"httpUrl": "http://localhost:8085/mcp"
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"discord": {
"type": "remote",
"url": "http://localhost:8085/mcp"
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
Customize → Connectors → добавить свой коннектор.
Адрес сервера: http://localhost:8085/mcpПроверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"discord": {
"url": "http://localhost:8085/mcp"
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
get_server_infoчитает сведения о сервереread_messagesчитает историю каналаsearch_messagesищет текст в последних сообщенияхsend_messageотправляет сообщение в каналedit_messageправит сообщениеsend_private_messageпишет в личкуadd_reactionставит реакциюcreate_text_channelсоздаёт текстовый каналlist_channelsвыводит каналыcreate_categoryсоздаёт категориюcreate_roleсоздаёт рольassign_roleвыдаёт роль участникуtimeout_memberвыдаёт тайм-аутban_memberбанит участникаcreate_guild_scheduled_eventсоздаёт событие сервераupsert_role_channel_permissionsзадаёт права роли в каналеcreate_inviteсоздаёт приглашениеcreate_forum_postсоздаёт пост в форумеcreate_webhookсоздаёт вебхукcreate_emojiзагружает эмодзиПоказано 20 из 81.
Пакет npm на Node.js: запускается через npx по stdio, умеет и HTTP; 45 инструментов, упор на сообщения, форумы и роли.
Как подключить
Что сделать до подключения
Node.js 18 или новее
Бот в Discord Developer Portal с включёнными Message Content Intent, Server Members Intent и Presence Intent, добавленный на ваш сервер
DISCORD_TOKENDiscord Developer Portal → ваше приложение → бот → токен
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --env 'DISCORD_TOKEN=<токен бота>' --transport stdio mcp-discord \
-- npx mcp-discordПроверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.mcp-discord]
command = "npx"
args = ["mcp-discord"]
[mcp_servers.mcp-discord.env]
DISCORD_TOKEN = "<токен бота>"Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"mcp-discord": {
"command": "npx",
"args": ["mcp-discord"],
"env": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"mcp-discord": {
"type": "stdio",
"command": "npx",
"args": ["mcp-discord"],
"env": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"mcp-discord": {
"command": "npx",
"args": ["mcp-discord"],
"env": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"mcp-discord": {
"command": "npx",
"args": ["mcp-discord"],
"env": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"mcp-discord": {
"type": "local",
"command": ["npx", "mcp-discord"],
"environment": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"mcp-discord": {
"command": "npx",
"args": ["mcp-discord"],
"env": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"mcp-discord": {
"command": "npx",
"args": ["mcp-discord"],
"env": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
discord_list_serversвыводит серверы ботаdiscord_read_messagesчитает сообщения каналаdiscord_search_messagesищет сообщения на сервереdiscord_sendотправляет сообщениеdiscord_create_forum_postсоздаёт пост в форумеdiscord_reply_to_forumотвечает в посте форумаdiscord_pin_messageзакрепляет сообщениеdiscord_create_roleсоздаёт рольdiscord_list_membersвыводит участников с ролямиdiscord_set_channel_permissionsзадаёт права в каналеПоказано 10 из 45.
222 инструмента за поиском и диспетчером, сборка сервера по плану с вашим одобрением и проверкой; мастер setup включает режим превью без записи.
Как подключить
Что сделать до подключения
Node.js 22.12 или новее: npm install -g @discord-mcp/cli
Свой бот на сервере, которым вы управляете
Выполнить discord-mcp setup --profile <имя> --client <клиент> и вставить выданный фрагмент в конфиг клиента: setup его сам не правит
DISCORD_TOKENТокен бота из Discord Developer Portal; держите его в окружении, из которого запускается клиент, а в конфиг не пишите
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --env 'DISCORD_TOKEN=<токен бота>' --transport stdio discord-mcp \
-- discord-mcp serve --profile '<имя профиля>'Проверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.discord-mcp]
command = "discord-mcp"
args = ["serve", "--profile", "<имя профиля>"]
[mcp_servers.discord-mcp.env]
DISCORD_TOKEN = "<токен бота>"Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"discord-mcp": {
"command": "discord-mcp",
"args": ["serve", "--profile", "<имя профиля>"],
"env": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"discord-mcp": {
"type": "stdio",
"command": "discord-mcp",
"args": ["serve", "--profile", "<имя профиля>"],
"env": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"discord-mcp": {
"command": "discord-mcp",
"args": ["serve", "--profile", "<имя профиля>"],
"env": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"discord-mcp": {
"command": "discord-mcp",
"args": ["serve", "--profile", "<имя профиля>"],
"env": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"discord-mcp": {
"type": "local",
"command": ["discord-mcp", "serve", "--profile", "<имя профиля>"],
"environment": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"discord-mcp": {
"command": "discord-mcp",
"args": ["serve", "--profile", "<имя профиля>"],
"env": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"discord-mcp": {
"command": "discord-mcp",
"args": ["serve", "--profile", "<имя профиля>"],
"env": {
"DISCORD_TOKEN": "<токен бота>"
}
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
mcp_tools_searchищет нужный инструментmcp_tools_readвызывает инструмент чтенияmcp_tools_writeвызывает инструмент записиmcp_tools_destructiveвызывает опасный инструментbuild_discord_serverстроит план сервераguild_blueprint_applyприменяет одобренный планguild_blueprint_evidenceпроверяет результат сборкиПоказано 7 из 222.
Что попросить агента
Для каких задач
Ограничения
Все три сервера работают от имени бота: он видит только серверы, куда его добавили, и делает только то, что разрешают его роли
Обычные записи вроде отправки сообщения выполняются без подтверждения; удаления и баны требуют внимания: дайте боту минимум прав и начните с тестового сервера
SaseQ на HTTP доступен только с вашей машины по localhost:8085; удалённым коннектором Claude Desktop его можно подключить только через публичный HTTPS: туннель или обратный прокси
Discord MCP от cappyeo ещё до версии 1.0, и мастер setup по умолчанию ставит MCP_WRITE_MODE=preview: запись закрыта, пока вы её не включите
Если не работает
Инструмент отвечает 403 Missing Permissions
Инструмент отвечает 404 или «Unknown Channel»
Клиент не видит discord-mcp после смены токена или профиля (cappyeo)
DRY_RUN_PREVIEW так и не превращается в реальное действие (cappyeo)
n8n в Docker не подключается к SaseQ по localhost
Какую реализацию выбрать
| Реализация | Кто делает | Звёзды | Запуск | Ключ | Инструменты | Обновлён |
|---|---|---|---|---|---|---|
| Discord MCP (SaseQ) | SaseQ | 603 | HTTP | не нужен | 81 | 23 октября 2026 |
| MCP-Discord | barryyip0625 | 111 | локально | токен | 45 | 5 ноября 2026 |
| Discord MCP (cappyeo) | cappyeo | 188 | локально | токен | 222 | 12 ноября 2026 |