Skip to main content
Glama

mcp-discord

Самый полный MCP-сервер с открытым исходным кодом для Discord.

License: MIT Node.js TypeScript GitHub stars

Предоставьте любому MCP-клиенту (Claude, Cursor, пользовательские агенты) полный контроль над Discord — сообщениями, модерацией, каналами, ролями и многим другим. Проект вырос из реального использования в delfus.app и был открыт для сообщества.

Portugues (BR)


Почему mcp-discord?

  • Более 30 инструментов в 8 категориях — серверы, каналы, сообщения, реакции, участники, роли, модерация и мониторинг

  • Двойной режим — запуск в автономном режиме (отдельный процесс) или интеграция в качестве плагина в ваш существующий бот discord.js

  • Только REST или Gateway — выбор между легким режимом только REST или полноценным шлюзом WebSocket для функций реального времени

  • Два транспорта — stdio (по умолчанию, для Claude Desktop / Claude Code) или HTTP с аутентификацией по Bearer-токену

  • Проверено в продакшене — создано и используется в delfus.app


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

Предварительные требования

Установка

# 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 инструмента)

Инструмент

Описание

list_servers

Список всех серверов Discord, к которым у бота есть доступ

get_server_info

Получение подробной информации о конкретном сервере

Каналы (7 инструментов)

Инструмент

Описание

get_channels

Список всех каналов на сервере

get_channel

Получение подробной информации о канале

create_channel

Создание текстовых, голосовых, категориальных, анонсных, форумных или stage-каналов

edit_channel

Редактирование названия канала, темы, NSFW, медленного режима, позиции, категории

delete_channel

Безвозвратное удаление канала

create_thread

Создание ветки в канале (опционально из сообщения)

archive_thread

Архивация ветки

Сообщения (8 инструментов)

Инструмент

Описание

send_message

Отправка сообщений с текстом, rich-эмбедами и ответами

read_messages

Чтение последних сообщений с пагинацией (до 100)

search_messages

Поиск сообщений по содержимому, автору или каналу

edit_message

Редактирование сообщения бота

delete_message

Удаление одного сообщения

delete_messages_bulk

Массовое удаление 2-100 сообщений (не старше 14 дней)

pin_message

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

unpin_message

Открепление сообщения

Реакции (2 инструмента)

Инструмент

Описание

add_reaction

Добавление реакции-эмодзи (Unicode или пользовательский)

remove_reaction

Удаление реакции

Участники / Пользователи (4 инструмента)

Инструмент

Описание

list_members

Список участников сервера с пагинацией

get_member

Получение подробной информации об участнике (роли, никнейм, дата вступления)

get_user

Получение информации о любом пользователе Discord по ID

search_members

Поиск участников по имени пользователя или никнейму

Роли (4 инструмента)

Инструмент

Описание

list_roles

Список всех ролей с правами доступа, цветами и количеством участников

create_role

Создание новой роли

add_role

Добавление роли участнику

remove_role

Удаление роли у участника

Модерация (4 инструмента)

Инструмент

Описание

timeout_user

Временная блокировка пользователя (до 28 дней)

kick_user

Исключение пользователя с сервера

ban_user

Бан пользователя с опциональным удалением сообщений

unban_user

Разбан пользователя

Мониторинг (2 инструмента)

Инструмент

Описание

get_audit_log

Просмотр журнала аудита сервера (баны, кики, изменения)

check_mentions

Поиск недавних упоминаний (@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 — получает существующий Client discord.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_TOKEN

Да

Токен бота Discord

DISCORD_USE_GATEWAY

Нет

false

Подключение к шлюзу Discord WebSocket для функций реального времени

MCP_TRANSPORT

Нет

stdio

Режим транспорта: stdio или http

MCP_PORT

Нет

3100

Порт HTTP-сервера (только когда MCP_TRANSPORT=http)

MCP_AUTH_TOKEN

Нет

Bearer-токен для аутентификации HTTP-транспорта


Вклад в проект

Мы приветствуем любые вклады! См. CONTRIBUTING.md для настройки разработки, стиля кода и информации о том, как добавлять новые инструменты.


Лицензия

MIT


Автор

Создано @goul4rt. Проект вырос из delfus.app и был открыт для сообщества.

-
security - not tested
A
license - permissive license
-
quality - not tested

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