Skip to main content
Glama

@devli13/mcp-discord

npm License: MIT

MCP-сервер для Discord. Отправляйте сообщения, модерируйте, управляйте каналами, проверяйте серверы — из Claude Code, агентов Paperclip, Gemini CLI или любого другого MCP-совместимого клиента.

Чистая обертка REST. Без Gateway. Без базы данных. Только API Discord v10 в виде 26 хорошо задокументированных инструментов с ограничением частоты запросов (rate limiting) для каждого маршрута и структурированными результатами ошибок.


Зачем

API Discord обширен и неудобен для агентов при вызове через обычный curl. Агенты сталкиваются с ограничениями частоты запросов, неправильно обрабатывают 429 ошибки, путаются в причинах аудита, забывают курсоры пагинации. Этот MCP решает это раз и навсегда, чтобы агенты могли сосредоточиться на намерениях: «удалить то спам-сообщение», «опубликовать ежедневную сводку в #mod-log», «заблокировать @user на час».

Также отлично подходит для людей. Подключившись к Claude Code, вы можете сказать: «сделай краткую сводку последних 50 сообщений в моем Discord-канале #dev», и Claude просто сделает это.


Related MCP server: Discord Bridge MCP Server

Установка

npm install -g @devli13/mcp-discord

Или через npx (без установки):

DISCORD_BOT_TOKEN=<your-token> npx -y @devli13/mcp-discord

Настройка

1. Создайте бота Discord

  1. Перейдите на https://discord.com/developers/applicationsNew Application

  2. Добавьте Bot в приложение

  3. Скопируйте токен бота — это ваш DISCORD_BOT_TOKEN

  4. Пригласите бота на свой сервер, используя генератор URL OAuth2 (область действия: bot). Выберите разрешения в зависимости от того, что должен делать MCP (например, «Управление сообщениями» для удаления, «Модерация участников» для тайм-аутов)

2. Подключите его к вашему MCP-клиенту

Claude Code:

claude mcp add discord \
  --env DISCORD_BOT_TOKEN=<your-token> \
  -- npx -y @devli13/mcp-discord

Paperclip mcp-gateway (.mcp.json):

{
  "mcpServers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@devli13/mcp-discord"],
      "env": {
        "DISCORD_BOT_TOKEN": "<your-token>"
      }
    }
  }
}

Gemini CLI (~/.gemini/config.json):

{
  "mcpServers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@devli13/mcp-discord"]
    }
  }
}

3. (Опционально) Включите привилегированные интенты

Если вы хотите получать список участников сервера (discord_list_members) или использовать этот MCP вместе с сопутствующим плагином для входящих событий, включите Server Members Intent и Message Content Intent в настройках вашего бота на портале разработчика. Они не требуются для большинства операций MCP — только для определенных конечных точек.


Справочник инструментов

Все инструменты имеют префикс discord_* и возвращают либо JSON-блок (в случае успеха), либо отформатированное сообщение об ошибке (в случае неудачи). Ни один из них не вызывает исключений — каждый инструмент возвращает пригодный для использования строковый результат.

Сообщения (8)

Инструмент

Назначение

discord_send_message

Отправка в канал. Поддерживает эмбеды, ответы, управление упоминаниями

discord_edit_message

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

discord_delete_message

Удаление одного сообщения (ботом или другими, при наличии прав «Управление сообщениями»)

discord_bulk_delete_messages

Удаление 2-100 сообщений (младше 14 дней) за один вызов

discord_get_message

Получение одного сообщения по ID

discord_list_messages

История канала с пагинацией (курсоры before/after/around)

discord_pin_message / discord_unpin_message

Управление закрепленными сообщениями

Реакции (3)

Инструмент

Назначение

discord_add_reaction

Бот добавляет реакцию

discord_remove_reaction

Удаление реакции бота или пользователя

discord_get_reactions

Список пользователей, отреагировавших эмодзи

Каналы и ветки (5)

Инструмент

Назначение

discord_list_channels

Все каналы на сервере

discord_get_channel

Детали одного канала

discord_create_thread

Создание новой ветки (публичной или приватной, привязанной или отдельной)

discord_list_active_threads

Все активные ветки на сервере

discord_send_typing

Запуск индикатора «бот печатает…»

Модерация (6)

Инструмент

Назначение

discord_get_member

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

discord_list_members

Список участников с пагинацией (требуется интент Server Members)

discord_timeout_user

Заглушение через communication_disabled_until (макс. 28 дней, 0 для снятия)

discord_kick_user

Удаление с сервера

discord_add_role / discord_remove_role

Управление ролями

Информация о сервере (4)

Инструмент

Назначение

discord_list_guilds

Все серверы, на которых есть бот

discord_get_guild

Детали одного сервера

discord_list_roles

Все роли, отсортированные по позиции

discord_get_audit_log

Недавние записи журнала аудита (фильтрация по пользователю, действию и т.д.)

Не включено (намеренно):

  • ban/unban — намеренно. Используйте интерфейс Discord; необратимые действия не должны выполняться одним вызовом агента

  • Создание/удаление/редактирование каналов — высокий риск, используйте интерфейс

  • CRUD вебхуков — не требуется для большинства сценариев агентов; можно добавить в будущем релизе

  • Голосовые операции, управление стикерами/эмодзи — вне области действия v0.1


Пример: краткая сводка канала через Claude Code

User: Summarize the last 30 messages in the #dev channel of my Discord server, guild ID 1234...

Claude (calls discord_list_channels → finds #dev → calls discord_list_messages → writes summary)

Пример: ежедневная сводка агента Paperclip

// From an agent's prompt:
"Post the daily digest to channel 1234. Summarize the last 24h of activity
using discord_list_messages with limit=100, then format as an embed via
discord_send_message."

Обработка ошибок

Каждый инструмент возвращает пригодный для использования текстовый результат. В случае ошибки:

Error (DISCORD_50001, HTTP 403): Missing Access
Details: [...]
(This error is transient and may succeed on retry.)

MCP уже обрабатывает повторные попытки внутри для 429 (ограничения частоты) и 5xx (ошибки сервера) с экспоненциальной задержкой.


Ограничения частоты запросов (Rate limits)

В Discord есть два уровня ограничений:

  1. По маршруту — каждая конечная точка API имеет независимые корзины. Этот MCP сериализует запросы по (метод + шаблон маршрута), чтобы предотвратить превышение лимита 429.

  2. Глобальный — на бота, по всем конечным точкам. MCP глобально учитывает заголовки Retry-After.

Вам не нужно об этом думать. Если вы постоянно достигаете глобального лимита, вероятно, вы делаете что-то, что требует участия человека.


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

  • Никогда не коммитьте токен вашего бота. Этот MCP считывает его из переменной окружения DISCORD_BOT_TOKEN при запуске.

  • Используйте URL-адреса приглашений с минимальными привилегиями. Не давайте ботам права администратора, если вам нужно только «Управление сообщениями».

  • Причины в журнале аудита — все инструменты модерации принимают аргумент reason, который отображается в журнале аудита Discord. Используйте его.


Разработка

git clone https://github.com/devli13/mcp-discord.git
cd mcp-discord
npm install
npm test           # smoke tests (no live Discord calls)
npm run lint       # syntax check all files
npm start          # boot server over stdio (needs DISCORD_BOT_TOKEN)

Сопутствующий проект — входящие события

Этот MCP обрабатывает исходящие REST-вызовы (отправка, удаление, модерация). Он не поддерживает WebSocket Discord Gateway, поэтому не может реагировать на входящие события (упоминание бота через @, личные сообщения, вступление новых участников).

Для входящих событий Discord в настройке Paperclip используйте @devli13/paperclip-plugin-discord — форк @mvanhorn/paperclip-plugin-discord с произвольной маршрутизацией @упоминаний, поддержкой личных сообщений, сериализованной очередью сообщений для каждого контекста и заполнением пропущенных упоминаний.

Эти два проекта разработаны для совместной работы: плагин получает события и вызывает вашего агента; агент использует этот MCP для ответа и модерации. Используйте один или оба в зависимости от вашей настройки.

Атрибуция

См. ATTRIBUTION.md. Кратко: создано вместе с форком paperclip-plugin-discord от @mvanhorn, чья обработка Gateway вдохновила использованные здесь паттерны проектирования.

Лицензия

MIT — см. LICENSE.

Install Server
A
license - permissive license
A
quality
D
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
    A
    quality
    D
    maintenance
    An MCP server that allows Claude to interact with Discord by providing tools for sending/reading messages and managing server resources through Discord's API.
    6
    19
    159
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides native Discord tools for Claude Code, enabling bidirectional communication with remote agents or humans via the Discord REST API. It allows users to send messages, read channel history, and manage reactions directly from their local environment.
    6
    22
    3
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    An MCP server that enables Claude Desktop to interact with Discord through a dedicated bot. It allows users to list channels, read message history, and send messages directly from the AI interface.
    2
  • A
    license
    -
    quality
    D
    maintenance
    Comprehensive Discord MCP server with 66 tools that provides rich message context including emoji reactions, thread indicators, and attachment metadata inline. Enables AI assistants to interact with Discord servers for messaging, moderation, roles, channels, and more.
    159
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.

  • Augments MCP Server - A comprehensive framework documentation provider for Claude Code

  • An MCP server that integrates with Discord to provide AI-powered features.

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

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