Discord MCP
Discord MCP
Репозиторий: github.com/sandraschi/discord-mcp
Сервер Discord MCP на базе FastMCP 3.1 с поддержкой сэмплинга (серверный Ollama / совместимый с OpenAI или клиентский LLM), агентского рабочего процесса (discord_agentic_workflow), навыков (SkillsDirectoryProvider + skill:///SKILL.md), промптов и панели управления в стиле 2026 fleet (React + Vite + Tailwind, темная стеклянная оболочка).
Порты
Бэкенд: 10756 REST (
/api/v1/) + MCP потоковый HTTP на/mcpФронтенд: 10757
Related MCP server: Discord MCP Server
Настройка
Создайте бота на Портале разработчиков Discord. Скопируйте токен бота.
Пригласите бота на свой сервер (генератор URL OAuth2, область действия:
bot).Скопируйте
.env.exampleв.envв корне репозитория (discord-mcp/.env) и установитеDISCORD_TOKEN=...(без кавычек). Бэкенд загружает этот файл при запуске (python-dotenv). Перезапустите сервер после изменения.env. Если токен уже установлен в системной среде или вenvCursor MCP, это значение имеет приоритет (.envне переопределяет существующие переменные).Для локального агентского сэмплинга (когда хост MCP не предоставляет сэмплинг): запустите Ollama и при необходимости установите
DISCORD_SAMPLING_BASE_URL/DISCORD_SAMPLING_MODEL. УстановитеDISCORD_SAMPLING_USE_CLIENT_LLM=1, если вы хотите, чтобы хост LLM выполнял сэмплинг, а серверный обработчик использовался только как резервный вариант.
Запуск
Веб-приложение (бэкенд + панель управления): из корня репозитория запустите
.\start.ps1илиstart.bat, или изwebapp/:.\start.ps1.Только бэкенд:
uv run python -m discord_mcp.server --mode dual --port 10756Stdio (только MCP):
uv run python -m discord_mcp.server --mode stdio
Cursor MCP
Этот репозиторий как корень рабочей области:
.cursor/mcp.jsonрегистрирует discord-mcp (stdio). УстановитеDISCORD_TOKENвenvэтого файла или используйте переменную окружения вашей оболочки. Перезагрузите MCP / перезапустите Cursor после внесения изменений.Глобальное / мульти-корневое объединение: скопируйте блок
discord-mcpизcursor-config-template.jsonв ваш пользовательский JSON MCP (Windows:%USERPROFILE%\.cursor\mcp.json). Настройтеcwdна путь к вашему клону, если вы не используете путь по умолчаниюD:/Dev/repos/discord-mcp.
MCP HTTP (удаленный / Inspector)
Эндпоинт:
http://localhost:10756/mcp(потоковый HTTP, FastMCP 3.1.0)Обнаружение / манифест:
GET /api/v1/metaЗдоровье:
GET /api/v1/health(включает статус сэмплинга)
Инструменты
discord(operation=) Портманто:
list_guilds,list_channels,send_message,get_messages,get_guild_stats,create_channel,create_guild,create_invite,list_invites,revoke_invite,list_members,get_member,list_active_threads,rag_ingest,rag_query.create_guildтребует OAuth2 пользователя (бот выдаст 403).list_members/get_memberтребуют интента GUILD_MEMBERS.discord_help(category=, topic=) Многоуровневая справка.
discord_agentic_workflow(goal, ctx) Высокоуровневая цель через
ctx.sample+ инструменты (SEP-1577). Возвращает структурированный dict (success,message,recommendationsили поля ошибки).
Промпты (зарегистрированные)
discord_quick_start, discord_diagnostics, discord_moderation_playbook, discord_rag_workflow, discord_invite_operations
Навыки
Объединены в src/discord_mcp/skills/<name>/SKILL.md, представлены как ресурсы MCP (skill://). Перечислены в панели управления в разделе Навыки и через GET /api/v1/skills.
Ресурсы
resource://discord-mcp/capabilitiesКраткая сводка возможностей для клиентов.
API (REST)
GET /api/v1/healthЗдоровье, token_set, ограничения частоты, сэмплинг,mcp_http_pathGET /api/v1/metaИнструменты, промпты, ресурсы, корень навыков, сэмплингGET /api/v1/skillsПредварительный просмотр навыков (панель управления)GET /api/v1/guildsСписок гильдий (прокси к инструменту)GET /api/v1/guilds/{guild_id}/channelsСписок каналов(См. OpenAPI в
/docsдля полного списка.)
Discord HTTP 429 (ограничения частоты API)
Discord применяет ограничения по маршрутам в REST API. При получении HTTP 429 сервер теперь ожидает retry_after (из тела ответа или заголовка Retry-After) и повторяет тот же запрос до 5 раз, прежде чем вернуть ошибку. Если после этого вы все еще видите 429, замедлите работу (например, меньше параллельных выборок сообщений, меньшие пакеты RAG-ингеста) или подождите минуту, особенно если в ответе Discord появляется "global": true (редко; указывает на более широкое ограничение).
Безопасность и ограничения частоты (анти-спам)
Операции записи ограничены по частоте, чтобы бота нельзя было использовать как спам-бота:
Сообщения: макс. 10/мин глобально, макс. 3/мин на канал, мин. 5 сек между отправками (настраивается).
Каналы: макс. 5 созданных в минуту.
Приглашения: макс. 5 созданных в минуту (
DISCORD_RATE_LIMIT_INVITES_PER_MINUTE).Длина сообщения: ограничена 2000 символов (максимум Discord); переопределяется через
DISCORD_MAX_MESSAGE_LENGTH.
Переменные среды: DISCORD_RATE_LIMIT_MESSAGES_PER_MINUTE, DISCORD_RATE_LIMIT_MESSAGES_PER_CHANNEL_PER_MINUTE, DISCORD_RATE_LIMIT_CHANNELS_PER_MINUTE, DISCORD_MAX_MESSAGE_LENGTH, DISCORD_MIN_MESSAGE_INTERVAL_SECONDS. При достижении лимита инструмент возвращает success: false, rate_limited: true и пояснительную error. Текущая конфигурация находится в GET /api/v1/health в разделе rate_limit.
Документация
docs/README.md индекс документации
docs/TECHNICAL.md архитектура, переменные среды, Discord 429, MCP
/mcpCHANGELOG.md примечания к выпуску
Стандарты
FastMCP 3.1.0: инструкции, обработчик сэмплинга, провайдер навыков, строгая валидация, потоковое монтирование HTTP.
Веб-приложение:
start.ps1, порты 10756/10757, темная стеклянная раскладка, статус в верхней панели, журнал активности, страницы Инструменты / Навыки / Приложения.
🛡️ Стек промышленного качества
Этот проект придерживается промышленных стандартов SOTA 14.1 для высокоточной агентской оркестрации:
Python (Core): Ruff для линтинга и форматирования. Нулевая терпимость к операторам
printв основных обработчиках (T201).Веб-приложение (UI): Biome для линтинга с субмиллисекундной скоростью. Строгое соблюдение
noConsoleLog.Соответствие протоколу: Усиленная изоляция
stdout/stderrдля обеспечения устойчивой к сбоям связи JSON-RPC.Автоматизация: Рецепты Justfile для всех операций флота (
just lint,just fix,just dev).Безопасность: Автоматизированные аудиты через
banditиsafety.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Control your Discord community: send/read messages, manage channels and forums, and handle webhook…
Discord MCP server for ChatGPT, Claude and any AI agent: list servers and channels, read channel messages, search messages, send message, reply to message, send DM, read mentions and assign role in your own Discord account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Discord yourself; Cotlet does not store your password and you need no Discord API key. About the official Discord API: Yes, Discord has an official API for bots and OAuth2 apps, but it acts as a bot that a server manager adds, not as you, and Discord has no official MCP server for it (checked 5 Nov 2026). The MCP server on Discord's docs site only searches documentation. Setup and FAQ: https://cotlet.dev/integrations/discord-api-mcp-server
Build Discord communities with AI: roles, channels, modules, automations and reviewed announcements.
Let AI agents read your Discord community's analytics, members and tickets, and save drafts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Discord through the REST API and real-time events, supporting message management, user info, channel operations, and more with security controls.16 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to send and read messages in Discord channels, manage servers, channels, and roles via Discord's API.19 npm2MIT
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to read messages, discover channels, send messages, and monitor Discord communities using the Discord HTTP API.-
- AlicenseNot gradedqualityBmaintenanceExposes the full Discord API to LLM agents so they can send and manage rich messages, channels, threads, members, roles, moderation, AutoMod, webhooks, and interactive components. Acts as a drop-in replacement for the legacy Java/Spring implementation, keeping all 75 original tools while adding embeds, polls, files, server configuration, and restart-safe role menus.66 npmMIT