Discord
Permite que assistentes de IA interajam com a plataforma Discord, permitindo que enviem mensagens, gerenciem canais e realizem outras ações.
Documentação
MCP-Discord
Um servidor Discord MCP (Model Context Protocol) que permite que assistentes de IA interajam com a plataforma Discord.
Visão Geral
O MCP-Discord fornece as seguintes funcionalidades relacionadas ao Discord:
- Login no bot do Discord
- Listar servidores dos quais o bot é membro
- Obter informações do servidor
- Listar membros e inspecionar detalhes dos membros
- Listar, criar, editar, excluir, atribuir e remover cargos
- Pesquisar mensagens em um servidor
- Ler, editar e excluir mensagens de canais
- Enviar mensagens para canais especificados
- Recuperar listas de canais de fórum
- Criar, atualizar, excluir e responder a posts de fórum
- Listar tópicos de fórum e gerenciar tags de fórum
- Criar, editar e excluir canais de texto, fórum, voz e categorias
- Definir e remover permissões de override em canais
- Adicionar/remover reações em mensagens
- Criar/editar/excluir/usar webhooks
Sumário
Pré-requisitos
-
Node.js (v18.0.0 ou superior)
-
npm (v7.0.0 ou superior)
-
Um bot do Discord com as permissões adequadas
- Token do bot (obtido no Portal de Desenvolvedores do Discord)
- Intent de Conteúdo de Mensagem habilitado
- Intent de Membros do Servidor habilitado
- Intent de Presença habilitado
-
Permissões necessárias no seu servidor do Discord:
Configuração Mais Simples
- Administrador (Recomendado para configuração rápida e funcionalidade completa)
Ou, selecione apenas as permissões necessárias:
- Enviar Mensagens
- Criar Tópicos Públicos
- Enviar Mensagens em Tópicos
- Gerenciar Mensagens
- Gerenciar Tópicos
- Gerenciar Canais
- Gerenciar Webhooks
- Gerenciar Cargos
- Adicionar Reações
- Ver Canal
-
Adicione seu bot do Discord ao seu servidor
- Para adicionar seu bot do Discord ao seu servidor, use um dos seguintes links de convite (substitua
INSERT_CLIENT_ID_HEREpelo ID do cliente do seu bot):- Administrador (acesso total): https://discord.com/oauth2/authorize?client_id=INSERT_CLIENT_ID_HERE&scope=bot&permissions=8
- Permissões personalizadas (mínimo necessário): https://discord.com/oauth2/authorize?client_id=INSERT_CLIENT_ID_HERE&scope=bot&permissions=52076489808
- Para adicionar seu bot do Discord ao seu servidor, use um dos seguintes links de convite (substitua
Nota:
De acordo com o modelo de segurança do Discord, um bot só pode acessar informações de servidores aos quais foi explicitamente adicionado.
Se você quiser usar este servidor MCP para acessar um servidor específico do Discord, você deve adicionar o bot a esse servidor primeiro.
Use o link de convite abaixo para adicionar o bot ao seu servidor de destino.
Instalação
Instalando via NPM
Você pode usá-lo com o seguinte comando:
npx mcp-discord --config ${DISCORD_TOKEN}
Para mais detalhes, você pode conferir o Pacote NPM.
Instalando via Smithery
Para instalar o mcp-discord automaticamente via Smithery
Instalando via Docker
Você pode executar o mcp-discord usando Docker. As imagens Docker são automaticamente construídas e publicadas no Docker Hub.
Repositório no Docker Hub: barryy625/mcp-discord
O Docker usa o servidor HTTP streamable por padrão via build/app.js.
# Pull the latest image
docker pull barryy625/mcp-discord:latest
# Run HTTP server on port 8080
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 8080:8080 barryy625/mcp-discord:latest
# Override the listening port if needed
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 3000:3000 barryy625/mcp-discord:latest --transport http --port 3000
Tags disponíveis:
latest- Versão estável mais recente do branch principalv1.3.8, etc. - Lançamentos de versões específicas
Instalação Manual
# Clone the repository
git clone https://github.com/barryyip0625/mcp-discord.git
cd mcp-discord
# Install dependencies
npm install
# Compile TypeScript
npm run build
Configuração
Um token de bot do Discord é necessário para o funcionamento adequado. O servidor suporta dois métodos de transporte: stdio e HTTP streamable.
Métodos de Transporte
-
stdio (Padrão)
- Transporte stdio tradicional para uso básico
- Adequado para integrações simples
-
HTTP streamable
- Transporte baseado em HTTP para cenários mais avançados
- Suporta operação sem estado
- Número de porta configurável
Opções de Configuração
Você pode fornecer a configuração de duas maneiras:
- Variáveis de ambiente:
DISCORD_TOKEN=your_discord_bot_token
- Usando argumentos de linha de comando:
# For stdio transport (default)
node build/index.js --config "your_discord_bot_token"
# For streamable HTTP transport
node build/app.js --transport http --port 3000 --config "your_discord_bot_token"
Uso com Claude/Cursor
1. Usar Transporte Stdio com Claude/Cursor
Use build/index.js quando seu cliente MCP espera um servidor stdio baseado em comandos.
Claude Desktop / Claude Code
{
"mcpServers": {
"discord": {
"command": "node",
"args": [
"path/to/mcp-discord/build/index.js"
],
"env": {
"DISCORD_TOKEN": "your_discord_bot_token"
}
}
}
}
Cursor
{
"mcpServers": {
"discord": {
"command": "node",
"args": [
"path/to/mcp-discord/build/index.js"
],
"env": {
"DISCORD_TOKEN": "your_discord_bot_token"
}
}
}
}
Esta é a configuração recomendada para clientes MCP locais baseados em comandos.
2. Auto-hospedar o Servidor HTTP Streamable
Use build/app.js quando quiser executar o mcp-discord como um servidor MCP HTTP.
Executar com Node.js
DISCORD_TOKEN=your_discord_bot_token node build/app.js --transport http --port 3000
No Windows PowerShell:
$env:DISCORD_TOKEN="your_discord_bot_token"
node build/app.js --transport http --port 3000
Executar com Docker
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 3000:3000 barryy625/mcp-discord:latest --transport http --port 3000
Uma vez iniciado, o endpoint HTTP do MCP é:
http://localhost:3000/mcp
3. Conectar a um Servidor MCP HTTP Hospedado
Se você já hospeda o mcp-discord em outro lugar, aponte seu cliente MCP para o endpoint /mcp do servidor em vez de iniciar build/app.js como um comando.
Exemplo de endpoint:
https://your-server.example.com/mcp
Notas importantes:
build/app.jsinicia um servidor HTTP. Ele não fala stdio.build/index.jsé o entrypoint correto para clientes MCP stdio baseados em comandos.- Para uso HTTP hospedado, configure seu cliente MCP para conectar-se à URL do endpoint HTTP fornecida pela sua implantação.
- O formato exato da configuração do cliente HTTP depende do cliente MCP que você usa.
Documentação das Ferramentas
Funções Básicas
discord_login: Login no Discord usando o token configuradodiscord_list_servers: Listar todos os servidores do Discord dos quais o bot é membrodiscord_send: Enviar uma mensagem para um canal especificadodiscord_get_server_info: Obter informações do servidor do Discord
Gerenciamento de Canais
discord_create_text_channel: Criar um canal de textodiscord_create_forum_channel: Criar um canal de fórumdiscord_create_voice_channel: Criar um canal de vozdiscord_edit_channel: Editar o nome, tópico, categoria pai ou posição de um canaldiscord_delete_channel: Excluir um canaldiscord_create_category: Criar uma categoria de canaldiscord_edit_category: Editar uma categoria de canaldiscord_delete_category: Excluir uma categoria de canaldiscord_set_channel_permissions: Definir overrides de permissão para um cargo ou usuário em um canal/categoriadiscord_remove_channel_permissions: Remover overrides de permissão de um canal/categoria
Funções de Fórum
discord_get_forum_channels: Obter uma lista de canais de fórumdiscord_create_forum_post: Criar um post de fórum (opcionalmente fixado no topo do canal)discord_get_forum_post: Obter um post de fórumdiscord_list_forum_threads: Listar tópicos ativos e arquivados em um canal de fórumdiscord_reply_to_forum: Responder a um post de fórumdiscord_get_forum_tags: Obter todas as tags disponíveis para um canal de fórumdiscord_set_forum_tags: Substituir as tags disponíveis para um canal de fórumdiscord_update_forum_post: Atualizar o título, tags, estado arquivado, estado bloqueado ou estado fixado de um post de fórumdiscord_delete_forum_post: Excluir um post de fórum
Mensagens e Reações
discord_search_messages: Pesquisar mensagens em um servidordiscord_read_messages: Ler mensagens de canal (suporta parâmetrosbefore,after,around— aceita IDs snowflake ou datas ISO 8601 como"2025-03-01T00:00:00Z")discord_edit_message: Editar uma mensagem criada pelo botdiscord_add_reaction: Adicionar uma reação a uma mensagemdiscord_add_multiple_reactions: Adicionar múltiplas reações a uma mensagemdiscord_remove_reaction: Remover uma reação de uma mensagemdiscord_delete_message: Excluir uma mensagem específica de um canaldiscord_pin_message: Fixar uma mensagem em seu canal (máximo de 50 pins por canal)discord_unpin_message: Remover uma mensagem das mensagens fixadas do canaldiscord_list_pinned_messages: Listar as mensagens fixadas de um canal, do pin mais recente ao mais antigo
Gerenciamento de Webhooks
discord_create_webhook: Cria um novo webhook para um canal do Discorddiscord_send_webhook_message: Envia uma mensagem para um canal do Discord usando um webhookdiscord_edit_webhook: Edita um webhook existente para um canal do Discorddiscord_delete_webhook: Exclui um webhook existente para um canal do Discord
Gerenciamento de Cargos
discord_list_roles: Listar todos os cargos em um servidordiscord_create_role: Criar um cargo com opções de cor, exibição separada, mencionável e permissõesdiscord_edit_role: Editar um cargo existentediscord_delete_role: Excluir um cargodiscord_assign_role: Atribuir um cargo a um membrodiscord_remove_role: Remover um cargo de um membro
Gerenciamento de Membros
discord_list_members: Listar membros em um servidor com cargosdiscord_get_member: Obter informações detalhadas sobre um membro específico
Desenvolvimento
# Development mode
npm run dev