MCP Discord
mcp-discord
Самый полный MCP-сервер с открытым исходным кодом для Discord.
Предоставьте любому MCP-клиенту (Claude, Cursor, пользовательские агенты) полный контроль над Discord — сообщениями, модерацией, каналами, ролями и многим другим. Проект вырос из реального использования в delfus.app и был открыт для сообщества.
Почему mcp-discord?
Более 30 инструментов в 8 категориях — серверы, каналы, сообщения, реакции, участники, роли, модерация и мониторинг
Двойной режим — запуск в автономном режиме (отдельный процесс) или интеграция в качестве плагина в ваш существующий бот discord.js
Только REST или Gateway — выбор между легким режимом только REST или полноценным шлюзом WebSocket для функций реального времени
Два транспорта — stdio (по умолчанию, для Claude Desktop / Claude Code) или HTTP с аутентификацией по Bearer-токену
Проверено в продакшене — создано и используется в delfus.app
Быстрый старт
Предварительные требования
Node.js 18 или выше
Установка
# Clone the repository
git clone https://github.com/goul4rt/mcp-discord.git
cd mcp-discord
# Install dependencies
npm install
# Build
npm run buildНастройка
cp .env.example .envОтредактируйте .env и добавьте токен вашего бота Discord:
DISCORD_TOKEN=your-bot-token-hereЗапуск
# stdio transport (default — for MCP clients like Claude)
npm start
# HTTP transport (for remote/web clients)
npm run start:httpКонфигурация MCP-клиента
Claude Desktop / Claude Code
Добавьте в ваш файл конфигурации MCP:
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["dist/standalone.js"],
"cwd": "/path/to/mcp-discord",
"env": {
"DISCORD_TOKEN": "your-bot-token-here"
}
}
}
}С использованием Gateway (функции реального времени)
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["dist/standalone.js"],
"cwd": "/path/to/mcp-discord",
"env": {
"DISCORD_TOKEN": "your-bot-token-here",
"DISCORD_USE_GATEWAY": "true"
}
}
}
}Инструменты
Сервер / Гильдия (2 инструмента)
Инструмент | Описание |
| Список всех серверов Discord, к которым у бота есть доступ |
| Получение подробной информации о конкретном сервере |
Каналы (7 инструментов)
Инструмент | Описание |
| Список всех каналов на сервере |
| Получение подробной информации о канале |
| Создание текстовых, голосовых, категориальных, анонсных, форумных или stage-каналов |
| Редактирование названия канала, темы, NSFW, медленного режима, позиции, категории |
| Безвозвратное удаление канала |
| Создание ветки в канале (опционально из сообщения) |
| Архивация ветки |
Сообщения (8 инструментов)
Инструмент | Описание |
| Отправка сообщений с текстом, rich-эмбедами и ответами |
| Чтение последних сообщений с пагинацией (до 100) |
| Поиск сообщений по содержимому, автору или каналу |
| Редактирование сообщения бота |
| Удаление одного сообщения |
| Массовое удаление 2-100 сообщений (не старше 14 дней) |
| Закрепление сообщения |
| Открепление сообщения |
Реакции (2 инструмента)
Инструмент | Описание |
| Добавление реакции-эмодзи (Unicode или пользовательский) |
| Удаление реакции |
Участники / Пользователи (4 инструмента)
Инструмент | Описание |
| Список участников сервера с пагинацией |
| Получение подробной информации об участнике (роли, никнейм, дата вступления) |
| Получение информации о любом пользователе Discord по ID |
| Поиск участников по имени пользователя или никнейму |
Роли (4 инструмента)
Инструмент | Описание |
| Список всех ролей с правами доступа, цветами и количеством участников |
| Создание новой роли |
| Добавление роли участнику |
| Удаление роли у участника |
Модерация (4 инструмента)
Инструмент | Описание |
| Временная блокировка пользователя (до 28 дней) |
| Исключение пользователя с сервера |
| Бан пользователя с опциональным удалением сообщений |
| Разбан пользователя |
Мониторинг (2 инструмента)
Инструмент | Описание |
| Просмотр журнала аудита сервера (баны, кики, изменения) |
| Поиск недавних упоминаний (@mentions) бота или пользователя |
Архитектура
┌─────────────────────────────────────────────────┐
│ MCP Client │
│ (Claude, Cursor, custom) │
└──────────────────┬──────────────────────────────┘
│ stdio or HTTP
┌──────────────────▼──────────────────────────────┐
│ MCP Server │
│ (transport + tool routing) │
└──────────────────┬──────────────────────────────┘
│
┌──────────────────▼──────────────────────────────┐
│ Tool Registry │
│ (30 tools, Zod validation) │
└──────────────────┬──────────────────────────────┘
│
┌──────────────────▼──────────────────────────────┐
│ DiscordProvider (interface) │
├─────────────────────┬───────────────────────────┤
│ StandaloneProvider │ IntegratedProvider │
│ (own token + REST/ │ (uses host bot's │
│ optional gateway) │ existing connection) │
└─────────────────────┴───────────────────────────┘
│
┌──────────────────▼──────────────────────────────┐
│ Discord API │
└─────────────────────────────────────────────────┘Абстракция провайдера: Инструменты MCP никогда не взаимодействуют с discord.js напрямую. Они вызывают интерфейс DiscordProvider, который имеет две реализации:
StandaloneProvider — создает собственное соединение с использованием токена бота. REST-ориентированный с опциональным шлюзом. Используйте при запуске в качестве отдельного процесса.
IntegratedProvider — получает существующий
Clientdiscord.js от хост-бота. Нулевые накладные расходы, общий кэш и шлюз. Используйте при встраивании в существующий бот.
Руководство по интеграции
Чтобы использовать mcp-discord в качестве плагина внутри вашего существующего бота discord.js:
import { IntegratedProvider, createMcpServer } from 'mcp-discord';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
// Your existing discord.js client
const provider = new IntegratedProvider({ client: myDiscordClient });
await provider.connect();
const server = createMcpServer({ provider });
const transport = new StdioServerTransport();
await server.connect(transport);IntegratedProvider использует существующее соединение вашего бота со шлюзом — никаких дополнительных WebSocket, никакой дополнительной аутентификации, никакой дополнительной памяти.
Справочник конфигурации
Переменная | Обязательно | По умолчанию | Описание |
| Да | — | Токен бота Discord |
| Нет |
| Подключение к шлюзу Discord WebSocket для функций реального времени |
| Нет |
| Режим транспорта: |
| Нет |
| Порт HTTP-сервера (только когда |
| Нет | — | Bearer-токен для аутентификации HTTP-транспорта |
Вклад в проект
Мы приветствуем любые вклады! См. CONTRIBUTING.md для настройки разработки, стиля кода и информации о том, как добавлять новые инструменты.
Лицензия
Автор
Создано @goul4rt. Проект вырос из delfus.app и был открыт для сообщества.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/goul4rt/mcp-discord'
If you have feedback or need assistance with the MCP directory API, please join our Discord server