Discord MCP Server
Interaja com canais do Discord para enviar e ler mensagens usando a API do Discord.
Documentação
Servidor MCP do Discord
Um servidor Model Context Protocol (MCP) que permite que LLMs interajam com canais do Discord, permitindo que enviem e leiam mensagens por meio da API do Discord. Usando este servidor, LLMs como o Claude podem interagir diretamente com canais do Discord, mantendo o controle e a segurança do usuário.
Recursos
- Enviar mensagens para canais do Discord
- Ler mensagens recentes de canais
- Descoberta automática de servidores e canais
- Suporte para nomes e IDs de canais
- Tratamento adequado de erros e validação
Pré-requisitos
- Node.js 16.x ou superior
- Um token de bot do Discord
- O bot deve ser convidado para o seu servidor com as permissões adequadas:
- Ler Mensagens/Ver Canais
- Enviar Mensagens
- Ler Histórico de Mensagens
Configuração
- Clone este repositório:
git clone https://github.com/yourusername/discordmcp.git
cd discordmcp
- Instale as dependências:
npm install
- Crie um arquivo
.envno diretório raiz com o token do seu bot do Discord:
DISCORD_TOKEN=your_discord_bot_token_here
- Compile o servidor:
npm run build
Uso com o Claude para Desktop
-
Abra o arquivo de configuração do Claude para Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Adicione a configuração do servidor MCP do Discord:
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["path/to/discordmcp/build/index.js"],
"env": {
"DISCORD_TOKEN": "your_discord_bot_token_here"
}
}
}
}
- Reinicie o Claude para Desktop
Ferramentas Disponíveis
send-message
Envia uma mensagem para um canal específico do Discord.
Parâmetros:
server(opcional): Nome ou ID do servidor (obrigatório se o bot estiver em vários servidores)channel: Nome do canal (ex.: "geral") ou IDmessage: Conteúdo da mensagem a ser enviada
Exemplo:
{
"channel": "general",
"message": "Hello from MCP!"
}
read-messages
Lê mensagens recentes de um canal específico do Discord.
Parâmetros:
server(opcional): Nome ou ID do servidor (obrigatório se o bot estiver em vários servidores)channel: Nome do canal (ex.: "geral") ou IDlimit(opcional): Número de mensagens a buscar (padrão: 50, máximo: 100)
Exemplo:
{
"channel": "general",
"limit": 10
}
Desenvolvimento
- Instale as dependências de desenvolvimento:
npm install --save-dev typescript @types/node
- Inicie o servidor em modo de desenvolvimento:
npm run dev
Testes
Você pode testar o servidor usando o MCP Inspector:
npx @modelcontextprotocol/inspector node build/index.js
Exemplos
Aqui estão alguns exemplos de interações que você pode tentar com o Claude após configurar o servidor MCP do Discord:
- "Você pode ler as últimas 5 mensagens do canal geral?"
- "Por favor, envie uma mensagem para o canal de anúncios dizendo 'A reunião começa em 10 minutos'"
- "Quais foram as mensagens mais recentes no canal de desenvolvimento sobre o último lançamento?"
O Claude usará as ferramentas apropriadas para interagir com o Discord, solicitando sua aprovação antes de enviar qualquer mensagem.
Considerações de Segurança
- O bot requer permissões adequadas do Discord para funcionar
- Todas as operações de envio de mensagens exigem aprovação explícita do usuário
- As variáveis de ambiente devem ser protegidas adequadamente
- O token nunca deve ser commitado no controle de versão
- O acesso aos canais é limitado aos canais aos quais o bot recebeu acesso
Contribuindo
- Faça um fork do repositório
- Crie sua branch de recurso (
git checkout -b feature/amazing-feature) - Faça commit das suas alterações (
git commit -m 'Add some amazing feature') - Envie para a branch (
git push origin feature/amazing-feature) - Abra um Pull Request
Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Suporte
Se você encontrar problemas ou tiver dúvidas:
- Verifique a seção de Issues do GitHub
- Consulte a documentação do MCP em https://modelcontextprotocol.io
- Abra uma nova issue com etapas detalhadas de reprodução