Discord
Um servidor para ler e enviar mensagens no Discord.
Documentação
Servidor MCP do Discord
Um servidor Model Context Protocol (MCP) que permite que LLMs leiam mensagens, descubram canais, enviem mensagens e monitorem comunidades do Discord usando web scraping.
Recursos
- Liste servidores e canais do Discord aos quais você tem acesso
- Leia mensagens recentes com filtro de tempo (mais recentes primeiro)
- Envie mensagens para canais do Discord (divide automaticamente mensagens longas)
- Abordagem via web scraping — funciona com qualquer servidor do Discord que você possa acessar como usuário
- Sem necessidade de permissões de bot ou tokens de API
Início Rápido com Claude Code
# Add Discord MCP server
claude mcp add discord-mcp -s user -e DISCORD_EMAIL=your_email@example.com -e DISCORD_PASSWORD=your_password -e DISCORD_HEADLESS=true -- uvx --from git+https://github.com/elyxlz/discord-mcp.git discord-mcp
# Start Claude Code
claude
Exemplos de Uso
# List your Discord servers
> use get_servers to show me all my Discord servers
# Read recent messages (max_messages is required)
> read the last 20 messages from channel ID 123 in server ID 456
# Send a message (long messages automatically split)
> send "Hello!" to channel 123 in server 456
# Send a long message (will be split automatically)
> send a very long message with multiple paragraphs to channel 123 in server 456
# Monitor communities
> summarize discussions from the last 24 hours across my Discord servers
Ferramentas Disponíveis
get_servers— Lista todos os servidores do Discord aos quais você tem acessoget_channels(server_id)— Lista canais em um servidor específicoread_messages(server_id, channel_id, max_messages, hours_back?)— Lê mensagens recentes (mais recentes primeiro, max_messages obrigatório)send_message(server_id, channel_id, content)— Envia mensagens para canais (divide automaticamente mensagens longas)
Configuração Manual
Pré-requisitos
- Python 3.10+ com o gerenciador de pacotes
uv - Credenciais de conta do Discord
Instalação
git clone https://github.com/elyxlz/discord-mcp.git
cd discord-mcp
uv sync
uv run playwright install
Configuração
Crie o arquivo .env:
DISCORD_EMAIL=your_email@example.com
DISCORD_PASSWORD=your_password
DISCORD_HEADLESS=true
Executar o Servidor
uv run python main.py
Integração com Claude Desktop
Adicione ao ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"discord": {
"command": "uvx",
"args": ["--from", "git+https://github.com/elyxlz/discord-mcp.git", "discord-mcp"],
"env": {
"DISCORD_EMAIL": "your_email@example.com",
"DISCORD_PASSWORD": "your_password",
"DISCORD_HEADLESS": "true"
}
}
}
}
Desenvolvimento
# Type checking
uv run pyright
# Formatting
uvx ruff format .
# Linting
uvx ruff check --fix --unsafe-fixes .
# Testing
uv run pytest -v tests/
Notas de Segurança
- Use senhas de aplicativo se a verificação em duas etapas (2FA) estiver ativada
- Considere usar uma conta dedicada do Discord para automação
- O servidor inclui atrasos para evitar limitação de taxa (0,5s entre mensagens divididas)
- Sempre use
DISCORD_HEADLESS=trueem produção
Solução de Problemas
- Problemas de login: Verifique as credenciais, use senha de aplicativo para 2FA
- Erros de navegador: Execute
uv run playwright install --force - Limites de taxa: Reduza
max_messages, monitore avisos do Discord (o servidor divide automaticamente mensagens longas com atrasos) - Problemas com cookies: Exclua
~/.discord_mcp_cookies.jsonse necessário - Divisão de mensagens: Mensagens longas (>2000 caracteres) são divididas automaticamente em várias mensagens com atrasos de 0,5s
Aviso Legal
Garanta conformidade com os Termos de Serviço do Discord. Acesse apenas informações às quais você normalmente teria acesso como usuário. Use para fins legítimos de monitoramento e pesquisa.