Discord MCP by Quadslab.io
Gerenciamento completo de servidores Discord via IA. 134 ferramentas cobrindo moderação, cargos, canais, webhooks e recursos da comunidade — com resolução difusa de nomes e verificações instantâneas de saúde de permissões.
Documentação
@quadslab.io/discord-mcp
Gerencie todo o seu servidor Discord a partir do Claude Code, Claude Co-Work, Claude Desktop, Cursor ou Windsurf. 139 ferramentas administrativas em 20 categorias — cargos, canais, membros, mensagens, threads, moderação, fóruns, estágios, webhooks, eventos, enquetes, DMs e muito mais. Basta conversar com sua IA em português simples.
Desenvolvido por QuadsLab.io | Discord | npm
Se você achar isso útil, considere dar uma estrela no GitHub — isso ajuda outras pessoas a descobrirem o projeto!
Configuração em 60 Segundos
Um único comando. Sem arquivos de configuração manuais. Sem copiar IDs.
npx @quadslab.io/discord-mcp init
O assistente interativo guia você por todo o processo:
Ele vai:
- Guiar você na criação de um bot do Discord (ou usar um existente)
- Validar o token do seu bot em tempo real
- Gerar automaticamente o URL de convite com todas as permissões necessárias
- Deixar você escolher qual servidor gerenciar
- Detectar automaticamente seus clientes MCP instalados e escrever a configuração para você
Funciona com Todos os Clientes MCP
O assistente detecta automaticamente quais clientes você tem instalados:
Detected MCP clients:
● Claude Code .mcp.json
● Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json
● Cursor ~/.cursor/mcp.json
○ Windsurf (not detected)
? Which client(s) to configure?
1. Claude Code (detected)
2. Claude Desktop (detected)
3. Cursor (detected)
4. Windsurf (not found)
5. All detected (3 clients)
6. Skip (show config to copy manually)
Selecione um, vários ou "Todos detectados" para configurar tudo de uma vez.
Verifique Sua Configuração
npx @quadslab.io/discord-mcp check
QuadsLab.io [discord-mcp] — Health Check
────────────────────────────────────────────────────
Token ............ present
Bot .............. MyBot#1234
Server ........... My Gaming Server (1,024 members)
Permissions
────────────────────────────────────────────────────
✔ Manage Roles .............. yes
✔ Manage Channels ........... yes
✔ Kick Members .............. yes
✔ Ban Members ............... yes
...
██████████████████████████████ 100% (24/24)
✔ All 24 permissions granted
┌──────────────────────────────────────────────────┐
│ MCP server is ready! │
│ Run discord-mcp or use via .mcp.json in Claude │
└──────────────────────────────────────────────────┘
O Que Você Pode Fazer Com Isso?
Uma vez conectado ao Claude Code ou Claude Co-Work, basta perguntar em linguagem natural:
- "Envie uma mensagem de boas-vindas no #geral"
- "Bloqueie o canal #anuncios"
- "Quem reagiu à última mensagem no #guia-do-servidor?"
- "Crie um cargo chamado VIP com cor dourada e atribua ao @joao"
- "Mostre-me o registro de auditoria das últimas 24 horas"
- "Configure uma regra de automoderação para bloquear links no #geral"
- "Mostre-me as últimas 20 mensagens no thread 'Discussão de API'"
- "Envie uma resposta no thread 'relatorio-de-bug' dizendo que estamos analisando"
- "Liste todos os threads arquivados no #geral"
- "Crie uma postagem no fórum #feedback intitulada Relatórios de Bugs"
- "Dê timeout no @spammer por 1 hora por spam"
- "Liste todos os webhooks e exclua os não utilizados"
- "Agende um evento da comunidade para sexta às 20h no canal de palco"
- "Exclua em massa as últimas 50 mensagens no #teste-de-bot"
- "Dê a todos com o cargo Membro acesso ao #canal-privado"
- "Crie uma enquete no #geral perguntando qual jogo jogar na sexta"
- "Envie DM para todos os moderadores sobre o próximo evento do servidor"
- "Defina o status do bot como 'Observando mais de 500 membros'"
- "Mostre-me quem está no canal de voz Gaming agora"
O Claude resolve automaticamente nomes de canais, cargos e membros usando correspondência difusa — sem necessidade de procurar IDs.
Recursos
- 139 ferramentas em 20 categorias — administração abrangente do servidor Discord sem sair do terminal
- Assistente de configuração interativo —
npx initguia você pela criação do bot, validação de token e configuração em menos de um minuto - Verificação de saúde e auditoria de permissões —
npx checkverifica seu token, acesso ao servidor e todas as 24 permissões necessárias com uma barra de progresso visual - Resolução difusa de nomes — digite
"bot testing","bot-testing"ou"bottesting"e ele resolve corretamente; sem necessidade de procurar IDs - Mensagens compatíveis com threads — todas as ferramentas de mensagem (enviar, editar, fixar, reagir, etc.) funcionam em threads e canais igualmente — sem necessidade de ferramentas separadas
- Correspondência de nomes sem configuração — canais, cargos e membros são todos resolvidos por nome, ID ou formato de menção automaticamente
- Dados de servidor pré-cacheados — todos os canais, cargos e membros são armazenados em cache na inicialização para consultas instantâneas sem chamadas extras de API
- Respostas JSON estruturadas — cada ferramenta retorna JSON consistente e bem formatado
- Integração com registro de auditoria — todas as operações de modificação aceitam um parâmetro
reasonque aparece no registro de auditoria do Discord - Recuperação de erros útil — consultas com falha retornam sugestões (ex.: "Você quis dizer: #geral, #teste-de-bot?")
- Recursos MCP — três recursos somente leitura para dados de visão geral do servidor
Configuração Alternativa (Manual)
Se você preferir configurar as coisas manualmente em vez de usar o assistente:
Etapas de configuração manual
1. Crie um bot do Discord
Siga o Guia de Configuração do Bot para criar um bot no Portal de Desenvolvedores do Discord e obter seu token.
2. Adicione à sua configuração MCP
Adicione a seguinte entrada discord ao arquivo de configuração do seu cliente:
{
"mcpServers": {
"discord": {
"command": "npx",
"args": ["-y", "@quadslab.io/discord-mcp"],
"env": {
"DISCORD_TOKEN": "your-bot-token",
"DISCORD_GUILD_ID": "your-server-id"
}
}
}
}
| Cliente | Localização do arquivo de configuração |
|---|---|
| Claude Code | .mcp.json na raiz do seu projeto |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows) |
| Cursor | ~/.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
3. Conecte
- Claude Code: Digite
/mcppara conectar - Claude Desktop: Reinicie o aplicativo
- Cursor / Windsurf: Recarregue a janela
Executar a partir do código-fonte
git clone https://github.com/HardHeadHackerHead/discord-mcp.git
cd discord-mcp
npm install
cp .env.example .env
# Edit .env with your DISCORD_TOKEN and DISCORD_GUILD_ID
npm run build
npm start
Referência da CLI
$ npx @quadslab.io/discord-mcp [command]
| Comando | Descrição |
|---|---|
init | Assistente de configuração interativo — cria bot, valida token, configura automaticamente Claude Code / Co-Work / Desktop / Cursor / Windsurf |
check | Verificação de saúde — verifica token, acesso ao servidor e auditoria de permissões |
update | Verifica novas versões e limpa o cache do npx para que a próxima execução baixe a versão mais recente |
start | Inicia o servidor MCP (padrão quando nenhum comando é fornecido) |
help | Mostra mensagem de ajuda |
version | Mostra versão |
Quando iniciado via .mcp.json (stdin não é um TTY), o servidor inicia automaticamente — sem necessidade de subcomando.
Atualização
A configuração do seu cliente MCP não fixa uma versão, então atualizar é simples:
npx @quadslab.io/discord-mcp update
Isso verifica a versão mais recente no npm, limpa o cache do npx, e na próxima inicialização do seu cliente MCP a nova versão será usada automaticamente. Seu token do bot, servidor e configuração do cliente são todos preservados — nada precisa ser reconfigurado.
Para verificar após a atualização:
npx @quadslab.io/discord-mcp version
npx @quadslab.io/discord-mcp check
Visão Geral das Ferramentas
Resumo
| Categoria | Ferramentas | Descrição |
|---|---|---|
| Guild | 2 | Informações e metadados do servidor |
| Cargos | 11 | Criação, edição, permissões e atribuição de cargos |
| Canais | 20 | Criação, edição, permissões e organização de canais |
| Membros | 15 | Gerenciamento de membros, moderação e operações em massa |
| Mensagens | 14 | Enviar, editar, excluir, fixar e reagir a mensagens (funciona em threads também) |
| Reações | 1 | Dados detalhados de reações com informações do reator |
| Administração do Servidor | 16 | Configurações do servidor, convites, banimentos, registro de auditoria e integrações |
| Threads | 15 | Criação, leitura, edição, arquivamento e gerenciamento de membros de threads |
| Fóruns | 5 | Postagens de fórum e gerenciamento de tags |
| Emojis e Figurinhas | 7 | Gerenciamento de emojis personalizados e figurinhas |
| Webhooks | 4 | Criação, exclusão e envio de mensagens via webhooks |
| Eventos Agendados | 5 | Criação, edição e exclusão de eventos |
| Instâncias de Palco | 3 | Gerenciamento de canais de palco |
| Automoderação | 4 | Criação, edição e exclusão de regras de automoderação |
| Enquetes | 3 | Criar enquetes, obter resultados, encerrar enquetes antecipadamente |
| Mensagens Diretas | 2 | Enviar DMs e DMs com embed para membros do servidor |
| Presença do Bot | 2 | Definir status/atividade do bot, obter informações do bot |
| Modelos de Servidor | 4 | Listar, criar, excluir, sincronizar modelos de servidor |
| Comandos de Aplicativo | 4 | Gerenciar comandos de barra (CRUD) |
| Onboarding | 2 | Obter e editar configuração de onboarding do servidor |
| Total | 139 |
Referência completa das ferramentas (clique para expandir)
Guild (2 ferramentas)
| Ferramenta | Descrição |
|---|---|
list_guilds | Listar todos os servidores dos quais o bot é membro |
get_guild_info | Informações detalhadas do servidor — contagem de membros, canais, cargos, recursos, nível de boost |
Cargos (11 ferramentas)
| Ferramenta | Descrição |
|---|---|
list_roles | Listar todos os cargos ordenados por posição com cores e contagens de membros |
create_role | Criar um novo cargo com nome, cor, exibição separada e opções de menção |
delete_role | Excluir um cargo (com proteção para cargos gerenciados) |
modify_role | Alterar nome, cor, exibição separada, menção ou posição de um cargo |
get_role_permissions | Visualizar todas as permissões concedidas a um cargo |
modify_role_permissions | Conceder ou revogar permissões específicas em um cargo |
set_role_icon | Definir um emoji Unicode ou imagem como ícone do cargo (requer nível de boost 2+) |
assign_role | Adicionar um cargo a um membro |
remove_role | Remover um cargo de um membro |
get_role_members | Listar todos os membros que possuem um cargo específico |
clone_role | Duplicar um cargo com todas as suas permissões e configurações |
Canais (20 ferramentas)
| Ferramenta | Descrição |
|---|---|
list_channels | Listar todos os canais organizados por categoria |
create_text_channel | Criar um novo canal de texto, opcionalmente em uma categoria |
create_voice_channel | Criar um novo canal de voz com bitrate e limite de usuários |
create_category | Criar uma nova categoria de canais |
create_forum_channel | Criar um novo canal de fórum com tags opcionais e configurações padrão |
delete_channel | Excluir qualquer tipo de canal |
modify_channel | Alterar nome, tópico, categoria, NSFW, posição, limite de usuários |
set_channel_permissions | Definir substituições de permissão para um cargo ou usuário em um canal |
view_channel_permissions | Visualizar todas as substituições de permissão em um canal |
lock_channel | Negar EnviarMensagens para @everyone (bloqueio rápido) |
unlock_channel | Remover negação de EnviarMensagens para @everyone |
set_slowmode | Definir limite de taxa (0–21600 segundos) em um canal de texto |
clone_channel | Duplicar um canal com todas as permissões e configurações |
reorder_channels | Reordenar canais especificando novas posições |
set_voice_region | Definir a região RTC para um canal de voz |
follow_announcement_channel | Seguir um canal de anúncios para republicar em outro canal |
create_stage_channel | Criar um novo canal de palco |
get_channel_invites | Listar todos os convites para um canal específico |
set_channel_topic | Definir ou limpar o tópico/descrição de um canal |
get_voice_members | Listar todos os membros atualmente em um canal de voz ou palco |
Membros (15 ferramentas)
| Ferramenta | Descrição |
|---|---|
list_members | Listar membros com filtros opcionais de cargo e pesquisa |
get_member | Informações detalhadas do membro — cargos, data de entrada, idade da conta, permissões |
kick_member | Expulsar um membro do servidor |
ban_member | Banir um membro com exclusão opcional de mensagens (0–7 dias) |
unban_member | Remover um banimento por nome de usuário ou ID de usuário |
timeout_member | Aplicar um timeout (10m, 1h, 1d, 1w) ou remover um |
prune_members | Remover membros inativos (suporta simulação e filtro por cargo) |
bulk_assign_role | Atribuir um cargo a vários membros de uma vez |
bulk_remove_role | Remover um cargo de vários membros de uma vez |
set_nickname | Alterar o apelido de um membro ou redefini-lo |
move_to_voice | Mover um membro para um canal de voz diferente |
disconnect_from_voice | Desconectar um membro do seu canal de voz |
get_member_permissions | Obter as permissões efetivas de um membro em um canal específico |
search_members | Pesquisar membros por nome de usuário, apelido ou cargo com filtros avançados |
bulk_timeout_members | Aplicar timeout a vários membros de uma vez |
Mensagens (14 ferramentas)
Todas as ferramentas de mensagem funcionam tanto em canais regulares quanto em threads — basta passar o nome ou ID do thread como canal.
| Ferramenta | Descrição |
|---|---|
get_messages | Buscar mensagens recentes de um canal de texto, canal de voz ou thread |
get_message | Buscar uma única mensagem por ID com detalhes completos |
send_message | Enviar uma mensagem de texto, opcionalmente como resposta |
send_embed | Enviar um embed rico com título, campos, imagens e rodapé |
edit_message | Editar uma mensagem enviada anteriormente pelo bot |
delete_message | Excluir uma única mensagem por ID |
bulk_delete_messages | Excluir de 2 a 100 mensagens de uma vez (menos de 14 dias), opcionalmente filtradas por usuário |
crosspost_message | Publicar uma mensagem em um canal de anúncios para todos os canais seguidores |
pin_message | Fixar uma mensagem |
unpin_message | Desafixar uma mensagem |
list_pinned_messages | Obter todas as mensagens fixadas em um canal |
add_reaction | Adicionar uma reação do bot a uma mensagem |
remove_reaction | Remover a reação do bot de uma mensagem |
search_messages | Pesquisar mensagens em um canal por conteúdo, autor ou intervalo de datas |
Reações (1 ferramenta)
| Ferramenta | Descrição |
|---|---|
get_reactions | Obter todas as reações em uma mensagem com detalhes completos do usuário — data de criação da conta, data de entrada no servidor, cargos, avatar, status de boost. Opcionalmente filtrar por emoji. |
Administração do Servidor (16 ferramentas)
| Ferramenta | Descrição |
|---|---|
edit_server | Modificar nome do servidor, descrição, nível de verificação, padrões de notificação |
list_invites | Listar todos os links de convite ativos com estatísticas de uso e expiração |
create_invite | Gerar um novo convite com idade máxima, usos e sinalizador temporário configuráveis |
delete_invite | Revogar um convite por código |
get_audit_log | Buscar entradas do registro de auditoria, opcionalmente filtradas por tipo de ação ou usuário |
list_bans | Visualizar todos os usuários banidos com motivos |
get_welcome_screen | Obter a configuração da tela de boas-vindas do servidor |
set_welcome_screen | Configurar a tela de boas-vindas com descrição e canais em destaque |
get_widget | Obter as configurações do widget do servidor |
set_widget | Configurar o widget do servidor (ativar/desativar, definir canal) |
get_vanity_url | Obter a URL de vaidade do servidor (requer o recurso VANITY_URL) |
list_integrations | Listar todas as integrações (bots, aplicativos) conectadas ao servidor |
delete_integration | Remover uma integração do servidor |
get_server_preview | Obter as informações de pré-visualização pública do servidor |
set_server_icon | Definir ou remover o ícone do servidor a partir de uma URL |
set_server_banner | Definir ou remover a imagem do banner do servidor (requer nível de boost 2+) |
Threads (15 ferramentas)
| Ferramenta | Descrição |
|---|---|
list_threads | Listar threads ativas, opcionalmente filtradas por canal |
list_archived_threads | Listar threads arquivadas públicas ou privadas em um canal com paginação |
get_thread | Obter informações detalhadas da thread — tipo, slowmode, auto-arquivamento, proprietário, URL |
get_thread_messages | Buscar mensagens de uma thread com paginação antes/depois |
get_thread_pinned_messages | Obter todas as mensagens fixadas em uma thread |
create_thread | Iniciar uma thread a partir de uma mensagem ou como uma thread pública independente |
edit_thread | Editar nome da thread, duração de auto-arquivamento, slowmode ou status de bloqueio/arquivamento |
archive_thread | Arquivar uma thread |
unarchive_thread | Desarquivar uma thread |
delete_thread | Excluir uma thread |
lock_thread | Bloquear uma thread (impedir novas mensagens sem arquivar) |
unlock_thread | Desbloquear uma thread |
list_thread_members | Listar todos os membros de uma thread |
add_thread_member | Adicionar um membro a uma thread |
remove_thread_member | Remover um membro de uma thread |
Fóruns (5 ferramentas)
| Ferramenta | Descrição |
|---|---|
create_forum_post | Criar uma nova postagem (thread) em um canal de fórum com tags opcionais |
list_forum_tags | Listar todas as tags disponíveis em um canal de fórum |
create_forum_tag | Adicionar uma nova tag a um canal de fórum (máx. 20 por canal) |
edit_forum_tag | Editar o nome, emoji ou status moderado de uma tag existente do fórum |
delete_forum_tag | Remover uma tag de um canal de fórum |
Emojis e Adesivos (7 ferramentas)
| Ferramenta | Descrição |
|---|---|
list_emojis | Listar todos os emojis personalizados com nomes, IDs, status animado e URLs |
create_emoji | Enviar um novo emoji personalizado a partir de uma URL |
delete_emoji | Remover um emoji personalizado por nome ou ID |
rename_emoji | Renomear um emoji personalizado |
list_stickers | Listar todos os adesivos personalizados com descrições e informações de formato |
create_sticker | Enviar um novo adesivo personalizado a partir de uma URL |
delete_sticker | Remover um adesivo personalizado por nome ou ID |
Webhooks (4 ferramentas)
| Ferramenta | Descrição |
|---|---|
list_webhooks | Listar todos os webhooks, opcionalmente filtrados por canal |
create_webhook | Criar um webhook em um canal com nome e avatar opcional |
delete_webhook | Excluir um webhook por ID |
send_webhook_message | Enviar uma mensagem via webhook com substituição opcional de nome/avatar |
Eventos Agendados (5 ferramentas)
| Ferramenta | Descrição |
|---|---|
list_events | Listar todos os eventos agendados com horários, status, tipo e contagem de participantes |
create_event | Criar um evento de voz, palco ou externo com horários de início/término |
edit_event | Modificar o nome, descrição, horários ou status de um evento |
delete_event | Excluir um evento agendado |
get_event_users | Listar usuários que demonstraram interesse em um evento |
Instâncias de Palco (3 ferramentas)
| Ferramenta | Descrição |
|---|---|
list_stage_instances | Listar todas as instâncias de palco ativas com informações de tópico e canal |
start_stage | Iniciar uma nova instância de palco em um canal de palco com um tópico |
end_stage | Encerrar uma instância de palco ativa |
Auto-Moderação (4 ferramentas)
| Ferramenta | Descrição |
|---|---|
list_automod_rules | Listar todas as regras de automoderação com gatilhos, ações e isenções |
create_automod_rule | Criar uma regra — filtro de palavras-chave, detecção de spam, predefinições de palavras-chave ou spam de menções |
edit_automod_rule | Modificar as palavras-chave, ações, isenções ou estado ativado de uma regra |
delete_automod_rule | Excluir uma regra de automoderação |
Enquetes (3 ferramentas)
| Ferramenta | Descrição |
|---|---|
create_poll | Criar uma enquete em um canal com opções de múltipla escolha e duração |
get_poll_results | Obter os resultados atuais e contagens de votos de uma enquete |
end_poll | Encerrar uma enquete antecipadamente e finalizar os resultados |
Mensagens Diretas (2 ferramentas)
| Ferramenta | Descrição |
|---|---|
send_dm | Enviar uma mensagem direta a um membro do servidor |
send_dm_embed | Enviar um embed rico como mensagem direta a um membro do servidor |
Presença do Bot (2 ferramentas)
| Ferramenta | Descrição |
|---|---|
set_bot_presence | Definir o status e a atividade do bot (jogando, assistindo, ouvindo, etc.) |
get_bot_info | Obter as informações atuais do usuário do bot, status e detalhes de conexão |
Modelos de Servidor (4 ferramentas)
| Ferramenta | Descrição |
|---|---|
list_templates | Listar todos os modelos do servidor |
create_template | Criar um novo modelo de servidor a partir da configuração atual do servidor |
delete_template | Excluir um modelo de servidor por código |
sync_template | Sincronizar um modelo de servidor com o estado atual do servidor |
Comandos de Aplicativo (4 ferramentas)
| Ferramenta | Descrição |
|---|---|
list_commands | Listar todos os comandos de aplicativo (barra) registrados |
create_command | Registrar um novo comando de barra com nome, descrição e opções |
edit_command | Modificar um comando de barra existente |
delete_command | Remover um comando de barra registrado |
Onboarding (2 ferramentas)
| Ferramenta | Descrição |
|---|---|
get_onboarding | Obter a configuração de onboarding do servidor e os prompts |
edit_onboarding | Editar as configurações de onboarding do servidor, prompts e canais padrão |
Correspondência Difusa
Todas as ferramentas que aceitam nomes de canais, cargos ou membros usam correspondência difusa inteligente. Você nunca precisa procurar IDs manualmente. A ordem de resolução é:
- Correspondência exata por ID — passe um ID snowflake do Discord diretamente
- Correspondência exata por nome — sem diferenciar maiúsculas de minúsculas
- Correspondência normalizada — ignora hífens, espaços e sublinhados (
"bot testing"corresponde a"bot-testing") - Correspondência por substring — correspondências parciais de nome com limite de similaridade de 0,7+
- Fallback de thread — se nenhum canal corresponder, as threads ativas são pesquisadas usando as mesmas etapas acima
- Fallback de thread arquivada — se um ID for fornecido e não for encontrado nas threads ativas, a thread é buscada diretamente (cobre threads arquivadas)
Os formatos de menção também são tratados automaticamente:
- Canais:
#nameou<#id> - Cargos:
@nameou<@&id> - Membros:
@nameou<@id>ou<@!id>
Se nenhuma correspondência for encontrada, a mensagem de erro inclui sugestões de nomes semelhantes para ajudar você a corrigir a entrada.
Recursos MCP
Três recursos somente leitura são expostos para uma visão geral rápida do servidor:
| URI | Descrição |
|---|---|
discord://server/summary | Visão geral em texto do servidor (canais, cargos, membros) |
discord://server/channels | Lista JSON de todos os canais organizados por categoria |
discord://server/roles | Lista JSON de todos os cargos classificados por posição |
Permissões Necessárias
O bot do Discord precisa das seguintes permissões para funcionar totalmente:
| Categoria | Permissões |
|---|---|
| Geral | Gerenciar Servidor, Gerenciar Cargos, Gerenciar Canais, Ver Registro de Auditoria, Gerenciar Webhooks, Gerenciar Eventos, Gerenciar Emojis e Adesivos |
| Texto | Enviar Mensagens, Gerenciar Mensagens, Ler Histórico de Mensagens, Adicionar Reações, Usar Emojis Externos |
| Voz | Mover Membros, Desconectar Membros |
| Moderação | Expulsar Membros, Banir Membros, Moderar Membros, Gerenciar Auto-Moderação |
O assistente init gera automaticamente uma URL de convite com todas essas permissões. Se você configurar manualmente, consulte o Guia de Configuração do Bot para saber quais caixas marcar.
O bot só pode agir dentro de sua hierarquia de cargos — ele não pode gerenciar cargos posicionados acima do próprio cargo mais alto.
Gateway Intents
Estes intents privilegiados devem ser habilitados no Portal do Desenvolvedor do Discord:
- Server Members Intent — necessário para gerenciamento de membros
- Message Content Intent — necessário para ler o conteúdo das mensagens
Solução de Problemas
Execute a verificação de saúde para diagnosticar problemas:
npx @quadslab.io/discord-mcp check
Problemas comuns e correções
"DISCORD_TOKEN não está definido"
O servidor MCP não consegue encontrar o token do seu bot. Ou:
- Execute
npx @quadslab.io/discord-mcp initpara configurar automaticamente - Ou verifique se o seu
.mcp.json/ configuração do cliente MCP tem oDISCORD_TOKENno blocoenv
"Solicitação com opcode 8 foi limitada por taxa"
O Discord limitou a taxa da conexão do gateway (geralmente devido ao cache de membros em servidores grandes). O servidor tenta novamente automaticamente — se você ainda estiver vendo isso, aguarde 30 segundos e tente novamente. Este é um limite do lado do Discord, não um bug.
"Cargo @everyone não encontrado"
Corrigido na v1.2.2+. Atualize para a versão mais recente:
npx @quadslab.io/discord-mcp@latest init
"Acesso Ausente" ou "Permissões Ausentes"
O cargo do bot não tem as permissões necessárias. Ou:
- Reconvide o bot usando a URL de
npx @quadslab.io/discord-mcp init(ela inclui todas as permissões) - Ou vá para Configurações do Servidor > Cargos e conceda as permissões ausentes ao cargo do bot
- Execute
npx @quadslab.io/discord-mcp checkpara ver exatamente quais permissões estão ausentes
O bot não consegue gerenciar um cargo específico
O Discord aplica a hierarquia de cargos — o bot só pode gerenciar cargos abaixo do seu próprio cargo mais alto. Mova o cargo do bot para cima em Configurações do Servidor > Cargos.
O bot não consegue ler mensagens
Habilite Message Content Intent no Portal do Desenvolvedor do Discord > aba Bot.
"Intents não permitidos usados"
Habilite Server Members Intent e Message Content Intent no Discord Developer Portal > aba Bot. Ambos são obrigatórios.
As ferramentas funcionam, mas estão lentas
A primeira chamada de ferramenta após a inicialização pode ser lenta devido ao cache. Chamadas subsequentes usam os dados em cache e devem ser instantâneas. Se todas as chamadas estiverem lentas, verifique sua conexão de rede com o Discord.
.mcp.json foi criado no diretório errado
Se você executou init a partir de Desktop ou Downloads, atualize para v1.2.3+ que detecta isso automaticamente e grava em ~/.claude.json (configuração global). Ou mova o arquivo .mcp.json para a raiz do seu projeto.
Arquitetura
@quadslab.io/discord-mcp/
├── package.json
├── tsconfig.json
├── README.md
├── LICENSE
├── .env.example
├── docs/
│ ├── discord-mcp-server.md # Full tool reference documentation
│ └── bot-setup-guide.md # Step-by-step bot creation guide
└── src/
├── cli.ts # CLI — init wizard, health check, server start
├── mcp-server.ts # MCP server entry — validates env, exports main()
├── index.ts # Tool/resource registration and MCP request routing
├── discord-client.ts # Discord.js client — intents, caching, rate limit retry
└── tools/
├── index.ts # Tool registry — routes calls to category handlers
├── utils.ts # Fuzzy matching for channels, roles, members
├── guild.ts # Server info (2)
├── roles.ts # Role management (11)
├── channels.ts # Channel management (20)
├── members.ts # Member management (15)
├── messages.ts # Messaging (14)
├── reactions.ts # Reactions (1)
├── server.ts # Server admin (16)
├── threads.ts # Thread management (15)
├── forums.ts # Forum channels (5)
├── emojis.ts # Emoji & stickers (7)
├── webhooks.ts # Webhooks (4)
├── events.ts # Scheduled events (5)
├── stage.ts # Stage instances (3)
├── automod.ts # Auto-moderation (4)
├── polls.ts # Polls (3)
├── dms.ts # Direct messages (2)
├── presence.ts # Bot presence (2)
├── templates.ts # Server templates (4)
├── commands.ts # Application commands (4)
└── onboarding.ts # Onboarding (2)
Comunidade
- Servidor Discord — obtenha ajuda, compartilhe feedback, veja o que outros estão construindo
- Issues no GitHub — relatórios de bugs e solicitações de recursos
- Discussões no GitHub — perguntas, ideias e demonstrações
- QuadsLab.io — mais ferramentas da equipe
Contribuindo
Contribuições são bem-vindas! Veja CONTRIBUTING.md para configuração de desenvolvimento, estilo de código e diretrizes.
Licença
Licença MIT. Copyright (c) 2026 QuadsLab.io.
Veja LICENSE para o texto completo.