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 acesso
  • get_channels(server_id) — Lista canais em um servidor específico
  • read_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=true em 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.json se 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.