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

npm version npm downloads License: MIT Node.js Discord GitHub stars

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:

npx @quadslab.io/discord-mcp init — interactive setup wizard

Ele vai:

  1. Guiar você na criação de um bot do Discord (ou usar um existente)
  2. Validar o token do seu bot em tempo real
  3. Gerar automaticamente o URL de convite com todas as permissões necessárias
  4. Deixar você escolher qual servidor gerenciar
  5. 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 init guia 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 check verifica 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 reason que 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"
      }
    }
  }
}
ClienteLocalizaçã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 /mcp para 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]
ComandoDescrição
initAssistente de configuração interativo — cria bot, valida token, configura automaticamente Claude Code / Co-Work / Desktop / Cursor / Windsurf
checkVerificação de saúde — verifica token, acesso ao servidor e auditoria de permissões
updateVerifica novas versões e limpa o cache do npx para que a próxima execução baixe a versão mais recente
startInicia o servidor MCP (padrão quando nenhum comando é fornecido)
helpMostra mensagem de ajuda
versionMostra 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

CategoriaFerramentasDescrição
Guild2Informações e metadados do servidor
Cargos11Criação, edição, permissões e atribuição de cargos
Canais20Criação, edição, permissões e organização de canais
Membros15Gerenciamento de membros, moderação e operações em massa
Mensagens14Enviar, editar, excluir, fixar e reagir a mensagens (funciona em threads também)
Reações1Dados detalhados de reações com informações do reator
Administração do Servidor16Configurações do servidor, convites, banimentos, registro de auditoria e integrações
Threads15Criação, leitura, edição, arquivamento e gerenciamento de membros de threads
Fóruns5Postagens de fórum e gerenciamento de tags
Emojis e Figurinhas7Gerenciamento de emojis personalizados e figurinhas
Webhooks4Criação, exclusão e envio de mensagens via webhooks
Eventos Agendados5Criação, edição e exclusão de eventos
Instâncias de Palco3Gerenciamento de canais de palco
Automoderação4Criação, edição e exclusão de regras de automoderação
Enquetes3Criar enquetes, obter resultados, encerrar enquetes antecipadamente
Mensagens Diretas2Enviar DMs e DMs com embed para membros do servidor
Presença do Bot2Definir status/atividade do bot, obter informações do bot
Modelos de Servidor4Listar, criar, excluir, sincronizar modelos de servidor
Comandos de Aplicativo4Gerenciar comandos de barra (CRUD)
Onboarding2Obter e editar configuração de onboarding do servidor
Total139

Referência completa das ferramentas (clique para expandir)

Guild (2 ferramentas)

FerramentaDescrição
list_guildsListar todos os servidores dos quais o bot é membro
get_guild_infoInformações detalhadas do servidor — contagem de membros, canais, cargos, recursos, nível de boost

Cargos (11 ferramentas)

FerramentaDescrição
list_rolesListar todos os cargos ordenados por posição com cores e contagens de membros
create_roleCriar um novo cargo com nome, cor, exibição separada e opções de menção
delete_roleExcluir um cargo (com proteção para cargos gerenciados)
modify_roleAlterar nome, cor, exibição separada, menção ou posição de um cargo
get_role_permissionsVisualizar todas as permissões concedidas a um cargo
modify_role_permissionsConceder ou revogar permissões específicas em um cargo
set_role_iconDefinir um emoji Unicode ou imagem como ícone do cargo (requer nível de boost 2+)
assign_roleAdicionar um cargo a um membro
remove_roleRemover um cargo de um membro
get_role_membersListar todos os membros que possuem um cargo específico
clone_roleDuplicar um cargo com todas as suas permissões e configurações

Canais (20 ferramentas)

FerramentaDescrição
list_channelsListar todos os canais organizados por categoria
create_text_channelCriar um novo canal de texto, opcionalmente em uma categoria
create_voice_channelCriar um novo canal de voz com bitrate e limite de usuários
create_categoryCriar uma nova categoria de canais
create_forum_channelCriar um novo canal de fórum com tags opcionais e configurações padrão
delete_channelExcluir qualquer tipo de canal
modify_channelAlterar nome, tópico, categoria, NSFW, posição, limite de usuários
set_channel_permissionsDefinir substituições de permissão para um cargo ou usuário em um canal
view_channel_permissionsVisualizar todas as substituições de permissão em um canal
lock_channelNegar EnviarMensagens para @everyone (bloqueio rápido)
unlock_channelRemover negação de EnviarMensagens para @everyone
set_slowmodeDefinir limite de taxa (0–21600 segundos) em um canal de texto
clone_channelDuplicar um canal com todas as permissões e configurações
reorder_channelsReordenar canais especificando novas posições
set_voice_regionDefinir a região RTC para um canal de voz
follow_announcement_channelSeguir um canal de anúncios para republicar em outro canal
create_stage_channelCriar um novo canal de palco
get_channel_invitesListar todos os convites para um canal específico
set_channel_topicDefinir ou limpar o tópico/descrição de um canal
get_voice_membersListar todos os membros atualmente em um canal de voz ou palco

Membros (15 ferramentas)

FerramentaDescrição
list_membersListar membros com filtros opcionais de cargo e pesquisa
get_memberInformações detalhadas do membro — cargos, data de entrada, idade da conta, permissões
kick_memberExpulsar um membro do servidor
ban_memberBanir um membro com exclusão opcional de mensagens (0–7 dias)
unban_memberRemover um banimento por nome de usuário ou ID de usuário
timeout_memberAplicar um timeout (10m, 1h, 1d, 1w) ou remover um
prune_membersRemover membros inativos (suporta simulação e filtro por cargo)
bulk_assign_roleAtribuir um cargo a vários membros de uma vez
bulk_remove_roleRemover um cargo de vários membros de uma vez
set_nicknameAlterar o apelido de um membro ou redefini-lo
move_to_voiceMover um membro para um canal de voz diferente
disconnect_from_voiceDesconectar um membro do seu canal de voz
get_member_permissionsObter as permissões efetivas de um membro em um canal específico
search_membersPesquisar membros por nome de usuário, apelido ou cargo com filtros avançados
bulk_timeout_membersAplicar 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.

FerramentaDescrição
get_messagesBuscar mensagens recentes de um canal de texto, canal de voz ou thread
get_messageBuscar uma única mensagem por ID com detalhes completos
send_messageEnviar uma mensagem de texto, opcionalmente como resposta
send_embedEnviar um embed rico com título, campos, imagens e rodapé
edit_messageEditar uma mensagem enviada anteriormente pelo bot
delete_messageExcluir uma única mensagem por ID
bulk_delete_messagesExcluir de 2 a 100 mensagens de uma vez (menos de 14 dias), opcionalmente filtradas por usuário
crosspost_messagePublicar uma mensagem em um canal de anúncios para todos os canais seguidores
pin_messageFixar uma mensagem
unpin_messageDesafixar uma mensagem
list_pinned_messagesObter todas as mensagens fixadas em um canal
add_reactionAdicionar uma reação do bot a uma mensagem
remove_reactionRemover a reação do bot de uma mensagem
search_messagesPesquisar mensagens em um canal por conteúdo, autor ou intervalo de datas

Reações (1 ferramenta)

FerramentaDescrição
get_reactionsObter 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)

FerramentaDescrição
edit_serverModificar nome do servidor, descrição, nível de verificação, padrões de notificação
list_invitesListar todos os links de convite ativos com estatísticas de uso e expiração
create_inviteGerar um novo convite com idade máxima, usos e sinalizador temporário configuráveis
delete_inviteRevogar um convite por código
get_audit_logBuscar entradas do registro de auditoria, opcionalmente filtradas por tipo de ação ou usuário
list_bansVisualizar todos os usuários banidos com motivos
get_welcome_screenObter a configuração da tela de boas-vindas do servidor
set_welcome_screenConfigurar a tela de boas-vindas com descrição e canais em destaque
get_widgetObter as configurações do widget do servidor
set_widgetConfigurar o widget do servidor (ativar/desativar, definir canal)
get_vanity_urlObter a URL de vaidade do servidor (requer o recurso VANITY_URL)
list_integrationsListar todas as integrações (bots, aplicativos) conectadas ao servidor
delete_integrationRemover uma integração do servidor
get_server_previewObter as informações de pré-visualização pública do servidor
set_server_iconDefinir ou remover o ícone do servidor a partir de uma URL
set_server_bannerDefinir ou remover a imagem do banner do servidor (requer nível de boost 2+)

Threads (15 ferramentas)

FerramentaDescrição
list_threadsListar threads ativas, opcionalmente filtradas por canal
list_archived_threadsListar threads arquivadas públicas ou privadas em um canal com paginação
get_threadObter informações detalhadas da thread — tipo, slowmode, auto-arquivamento, proprietário, URL
get_thread_messagesBuscar mensagens de uma thread com paginação antes/depois
get_thread_pinned_messagesObter todas as mensagens fixadas em uma thread
create_threadIniciar uma thread a partir de uma mensagem ou como uma thread pública independente
edit_threadEditar nome da thread, duração de auto-arquivamento, slowmode ou status de bloqueio/arquivamento
archive_threadArquivar uma thread
unarchive_threadDesarquivar uma thread
delete_threadExcluir uma thread
lock_threadBloquear uma thread (impedir novas mensagens sem arquivar)
unlock_threadDesbloquear uma thread
list_thread_membersListar todos os membros de uma thread
add_thread_memberAdicionar um membro a uma thread
remove_thread_memberRemover um membro de uma thread

Fóruns (5 ferramentas)

FerramentaDescrição
create_forum_postCriar uma nova postagem (thread) em um canal de fórum com tags opcionais
list_forum_tagsListar todas as tags disponíveis em um canal de fórum
create_forum_tagAdicionar uma nova tag a um canal de fórum (máx. 20 por canal)
edit_forum_tagEditar o nome, emoji ou status moderado de uma tag existente do fórum
delete_forum_tagRemover uma tag de um canal de fórum

Emojis e Adesivos (7 ferramentas)

FerramentaDescrição
list_emojisListar todos os emojis personalizados com nomes, IDs, status animado e URLs
create_emojiEnviar um novo emoji personalizado a partir de uma URL
delete_emojiRemover um emoji personalizado por nome ou ID
rename_emojiRenomear um emoji personalizado
list_stickersListar todos os adesivos personalizados com descrições e informações de formato
create_stickerEnviar um novo adesivo personalizado a partir de uma URL
delete_stickerRemover um adesivo personalizado por nome ou ID

Webhooks (4 ferramentas)

FerramentaDescrição
list_webhooksListar todos os webhooks, opcionalmente filtrados por canal
create_webhookCriar um webhook em um canal com nome e avatar opcional
delete_webhookExcluir um webhook por ID
send_webhook_messageEnviar uma mensagem via webhook com substituição opcional de nome/avatar

Eventos Agendados (5 ferramentas)

FerramentaDescrição
list_eventsListar todos os eventos agendados com horários, status, tipo e contagem de participantes
create_eventCriar um evento de voz, palco ou externo com horários de início/término
edit_eventModificar o nome, descrição, horários ou status de um evento
delete_eventExcluir um evento agendado
get_event_usersListar usuários que demonstraram interesse em um evento

Instâncias de Palco (3 ferramentas)

FerramentaDescrição
list_stage_instancesListar todas as instâncias de palco ativas com informações de tópico e canal
start_stageIniciar uma nova instância de palco em um canal de palco com um tópico
end_stageEncerrar uma instância de palco ativa

Auto-Moderação (4 ferramentas)

FerramentaDescrição
list_automod_rulesListar todas as regras de automoderação com gatilhos, ações e isenções
create_automod_ruleCriar uma regra — filtro de palavras-chave, detecção de spam, predefinições de palavras-chave ou spam de menções
edit_automod_ruleModificar as palavras-chave, ações, isenções ou estado ativado de uma regra
delete_automod_ruleExcluir uma regra de automoderação

Enquetes (3 ferramentas)

FerramentaDescrição
create_pollCriar uma enquete em um canal com opções de múltipla escolha e duração
get_poll_resultsObter os resultados atuais e contagens de votos de uma enquete
end_pollEncerrar uma enquete antecipadamente e finalizar os resultados

Mensagens Diretas (2 ferramentas)

FerramentaDescrição
send_dmEnviar uma mensagem direta a um membro do servidor
send_dm_embedEnviar um embed rico como mensagem direta a um membro do servidor

Presença do Bot (2 ferramentas)

FerramentaDescrição
set_bot_presenceDefinir o status e a atividade do bot (jogando, assistindo, ouvindo, etc.)
get_bot_infoObter as informações atuais do usuário do bot, status e detalhes de conexão

Modelos de Servidor (4 ferramentas)

FerramentaDescrição
list_templatesListar todos os modelos do servidor
create_templateCriar um novo modelo de servidor a partir da configuração atual do servidor
delete_templateExcluir um modelo de servidor por código
sync_templateSincronizar um modelo de servidor com o estado atual do servidor

Comandos de Aplicativo (4 ferramentas)

FerramentaDescrição
list_commandsListar todos os comandos de aplicativo (barra) registrados
create_commandRegistrar um novo comando de barra com nome, descrição e opções
edit_commandModificar um comando de barra existente
delete_commandRemover um comando de barra registrado

Onboarding (2 ferramentas)

FerramentaDescrição
get_onboardingObter a configuração de onboarding do servidor e os prompts
edit_onboardingEditar 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 é:

  1. Correspondência exata por ID — passe um ID snowflake do Discord diretamente
  2. Correspondência exata por nome — sem diferenciar maiúsculas de minúsculas
  3. Correspondência normalizada — ignora hífens, espaços e sublinhados ("bot testing" corresponde a "bot-testing")
  4. Correspondência por substring — correspondências parciais de nome com limite de similaridade de 0,7+
  5. Fallback de thread — se nenhum canal corresponder, as threads ativas são pesquisadas usando as mesmas etapas acima
  6. 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: #name ou <#id>
  • Cargos: @name ou <@&id>
  • Membros: @name ou <@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:

URIDescrição
discord://server/summaryVisão geral em texto do servidor (canais, cargos, membros)
discord://server/channelsLista JSON de todos os canais organizados por categoria
discord://server/rolesLista 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:

CategoriaPermissões
GeralGerenciar Servidor, Gerenciar Cargos, Gerenciar Canais, Ver Registro de Auditoria, Gerenciar Webhooks, Gerenciar Eventos, Gerenciar Emojis e Adesivos
TextoEnviar Mensagens, Gerenciar Mensagens, Ler Histórico de Mensagens, Adicionar Reações, Usar Emojis Externos
VozMover Membros, Desconectar Membros
ModeraçãoExpulsar 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 init para configurar automaticamente
  • Ou verifique se o seu .mcp.json / configuração do cliente MCP tem o DISCORD_TOKEN no bloco env

"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 check para 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


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.