Discord MCP
Discord MCP
Repositorio: github.com/sandraschi/discord-mcp
Servidor Discord MCP FastMCP 3.1 con muestreo (Ollama del lado del servidor / compatible con OpenAI o LLM del cliente), flujo de trabajo agente (discord_agentic_workflow), habilidades (SkillsDirectoryProvider + skill:///SKILL.md), prompts y un panel de control estilo flota 2026 (React + Vite + Tailwind, interfaz de cristal oscuro).
Puertos
Backend: 10756 REST (
/api/v1/) + MCP HTTP transmitible en/mcpFrontend: 10757
Related MCP server: Discord Notifications MCP Server
Configuración
Crea un bot en el Portal de Desarrolladores de Discord. Copia el token del bot.
Invita al bot a tu servidor (Generador de URL OAuth2, alcance:
bot).Copia
.env.examplea.enven la raíz del repositorio (discord-mcp/.env) y estableceDISCORD_TOKEN=...(sin comillas). El backend carga este archivo al iniciar (python-dotenv). Reinicia el servidor después de cambiar.env. Si el token ya está configurado en el entorno del sistema o en elenvde Cursor MCP, ese valor prevalecerá (.envno sobrescribe las variables existentes).Para muestreo agente local (cuando el host MCP no proporciona muestreo): ejecuta Ollama y, opcionalmente, establece
DISCORD_SAMPLING_BASE_URL/DISCORD_SAMPLING_MODEL. EstableceDISCORD_SAMPLING_USE_CLIENT_LLM=1si deseas que el LLM host realice el muestreo y el manejador del servidor solo actúe como respaldo.
Ejecución
Webapp (backend + panel de control): desde la raíz del repositorio ejecuta
.\start.ps1ostart.bat, o desdewebapp/:.\start.ps1.Solo backend:
uv run python -m discord_mcp.server --mode dual --port 10756Stdio (solo MCP):
uv run python -m discord_mcp.server --mode stdio
Cursor MCP
Este repositorio como raíz del espacio de trabajo:
.cursor/mcp.jsonregistra discord-mcp (stdio). EstableceDISCORD_TOKENen elenvde ese archivo o confía en el entorno de tu shell. Recarga MCP / reinicia Cursor después de realizar ediciones.Fusión global / multi-raíz: copia el bloque
discord-mcpdecursor-config-template.jsonen tu JSON de MCP de usuario (Windows:%USERPROFILE%\.cursor\mcp.json). Ajustacwda tu ruta de clonación si no estás usando la predeterminadaD:/Dev/repos/discord-mcp.
MCP HTTP (remoto / Inspector)
Endpoint:
http://localhost:10756/mcp(HTTP transmitible, FastMCP 3.1.0)Descubrimiento / manifiesto:
GET /api/v1/metaSalud:
GET /api/v1/health(incluye estado de muestreo)
Herramientas
discord(operation=) Portmanteau:
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_guildrequiere OAuth2 de usuario (bot 403).list_members/get_memberrequieren el intento GUILD_MEMBERS.discord_help(category=, topic=) Ayuda multinivel.
discord_agentic_workflow(goal, ctx) Objetivo de alto nivel a través de
ctx.sample+ herramientas (SEP-1577). Devuelve un dict estructurado (success,message,recommendationso campos de error).
Prompts (registrados)
discord_quick_start, discord_diagnostics, discord_moderation_playbook, discord_rag_workflow, discord_invite_operations
Habilidades
Incluidas en src/discord_mcp/skills/<name>/SKILL.md, expuestas como recursos MCP (skill://). Listadas en el panel de control bajo Habilidades y a través de GET /api/v1/skills.
Recursos
resource://discord-mcp/capabilitiesResumen breve de capacidades para clientes.
API (REST)
GET /api/v1/healthSalud, token_set, límites de tasa, muestreo,mcp_http_pathGET /api/v1/metaHerramientas, prompts, recursos, raíz de habilidades, muestreoGET /api/v1/skillsVistas previas de habilidades incluidas (panel de control)GET /api/v1/guildsListar gremios (proxy a herramienta)GET /api/v1/guilds/{guild_id}/channelsListar canales(Consulta OpenAPI en
/docspara la lista completa.)
Discord HTTP 429 (límites de tasa de API)
Discord impone límites por ruta en la API REST. En HTTP 429, el servidor ahora espera por retry_after (del cuerpo de la respuesta o del encabezado Retry-After) y reintenta la misma solicitud hasta 5 veces antes de devolver un error. Si sigues viendo 429 después de eso, reduce la velocidad (por ejemplo, menos recuperaciones de mensajes en paralelo, lotes de ingesta RAG más pequeños) o espera un minuto, especialmente si aparece "global": true en la respuesta de Discord (raro; indica un límite más amplio).
Seguridad y límites de tasa (anti-spam)
Las operaciones de escritura tienen límites de tasa para que el bot no sea utilizable como spambot:
Mensajes: máx 10/min global, máx 3/min por canal, mín 5s entre envíos (configurable).
Canales: máx 5 creados por minuto.
Invitaciones: máx 5 creadas por minuto (
DISCORD_RATE_LIMIT_INVITES_PER_MINUTE).Longitud del mensaje: limitada a 2000 (máximo de Discord); sobrescribir con
DISCORD_MAX_MESSAGE_LENGTH.
Env: 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. Cuando se alcanza un límite, la herramienta devuelve success: false, rate_limited: true y un error explicativo. La configuración actual está en GET /api/v1/health bajo rate_limit.
Documentación
docs/README.md índice de documentos
docs/TECHNICAL.md arquitectura, env, Discord 429, MCP
/mcpCHANGELOG.md notas de la versión
Estándares
FastMCP 3.1.0: instrucciones, manejador de muestreo, proveedor de habilidades, validación estricta, montaje HTTP transmitible.
Webapp:
start.ps1, puertos 10756/10757, diseño de cristal oscuro, estado de la barra superior, registro de actividad, páginas de Herramientas / Habilidades / Aplicaciones.
🛡️ Stack de Calidad Industrial
Este proyecto se adhiere a los estándares industriales SOTA 14.1 para la orquestación agente de alta fidelidad:
Python (Núcleo): Ruff para linting y formateo. Tolerancia cero para declaraciones
printen manejadores principales (T201).Webapp (UI): Biome para linting de sub-milisegundos. Aplicación estricta de
noConsoleLog.Cumplimiento del protocolo: Aislamiento endurecido de
stdout/stderrpara garantizar una comunicación JSON-RPC resistente a fallos.Automatización: Recetas de Justfile para todas las operaciones de flota (
just lint,just fix,just dev).Seguridad: Auditorías automatizadas mediante
banditysafety.
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