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 Notifications 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.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.
- SkilderOAuthai.skilder
One place to build, share, and govern the skills and tools your AI agents use at work.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to interact with Discord servers through a bot, supporting channel management, messaging, forum operations, reactions, and webhooks.22400MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Discord by sending notifications, creating channels, and managing interactive questions with support for two-way responses. It allows for streamlined communication through channel keys and supports various question types like multiple-choice and extended-answer modals.-
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to manage Discord servers through natural language, offering tools for guilds, channels, messages, roles, members, webhooks, invites, and automations. Includes a conversational agent that responds to @mentions in Discord.8Apache 2.0
- 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.61MIT