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

MCP Toplist Docker Hub

Um servidor Discord MCP (Model Context Protocol) que permite que assistentes de IA interajam com a plataforma Discord.

MCP-Discord MCP server

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

  • 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

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 principal
  • v1.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

  1. stdio (Padrão)

    • Transporte stdio tradicional para uso básico
    • Adequado para integrações simples
  2. 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:

  1. Variáveis de ambiente:
DISCORD_TOKEN=your_discord_bot_token
  1. 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.js inicia 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 configurado
  • discord_list_servers: Listar todos os servidores do Discord dos quais o bot é membro
  • discord_send: Enviar uma mensagem para um canal especificado
  • discord_get_server_info: Obter informações do servidor do Discord

Gerenciamento de Canais

  • discord_create_text_channel: Criar um canal de texto
  • discord_create_forum_channel: Criar um canal de fórum
  • discord_create_voice_channel: Criar um canal de voz
  • discord_edit_channel: Editar o nome, tópico, categoria pai ou posição de um canal
  • discord_delete_channel: Excluir um canal
  • discord_create_category: Criar uma categoria de canal
  • discord_edit_category: Editar uma categoria de canal
  • discord_delete_category: Excluir uma categoria de canal
  • discord_set_channel_permissions: Definir overrides de permissão para um cargo ou usuário em um canal/categoria
  • discord_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órum
  • discord_create_forum_post: Criar um post de fórum (opcionalmente fixado no topo do canal)
  • discord_get_forum_post: Obter um post de fórum
  • discord_list_forum_threads: Listar tópicos ativos e arquivados em um canal de fórum
  • discord_reply_to_forum: Responder a um post de fórum
  • discord_get_forum_tags: Obter todas as tags disponíveis para um canal de fórum
  • discord_set_forum_tags: Substituir as tags disponíveis para um canal de fórum
  • discord_update_forum_post: Atualizar o título, tags, estado arquivado, estado bloqueado ou estado fixado de um post de fórum
  • discord_delete_forum_post: Excluir um post de fórum

Mensagens e Reações

  • discord_search_messages: Pesquisar mensagens em um servidor
  • discord_read_messages: Ler mensagens de canal (suporta parâmetros before, after, around — aceita IDs snowflake ou datas ISO 8601 como "2025-03-01T00:00:00Z")
  • discord_edit_message: Editar uma mensagem criada pelo bot
  • discord_add_reaction: Adicionar uma reação a uma mensagem
  • discord_add_multiple_reactions: Adicionar múltiplas reações a uma mensagem
  • discord_remove_reaction: Remover uma reação de uma mensagem
  • discord_delete_message: Excluir uma mensagem específica de um canal
  • discord_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 canal
  • discord_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 Discord
  • discord_send_webhook_message: Envia uma mensagem para um canal do Discord usando um webhook
  • discord_edit_webhook: Edita um webhook existente para um canal do Discord
  • discord_delete_webhook: Exclui um webhook existente para um canal do Discord

Gerenciamento de Cargos

  • discord_list_roles: Listar todos os cargos em um servidor
  • discord_create_role: Criar um cargo com opções de cor, exibição separada, mencionável e permissões
  • discord_edit_role: Editar um cargo existente
  • discord_delete_role: Excluir um cargo
  • discord_assign_role: Atribuir um cargo a um membro
  • discord_remove_role: Remover um cargo de um membro

Gerenciamento de Membros

  • discord_list_members: Listar membros em um servidor com cargos
  • discord_get_member: Obter informações detalhadas sobre um membro específico

Desenvolvimento

# Development mode
npm run dev

Licença

Licença MIT