Communication Java ★ 367

SaseQ/discord-mcp

Discord entegrasyonu için bir MCP sunucusu. AI asistanlarınızın Discord ile sorunsuz bir şekilde etkileşim kurmasını sağlayın. Güçlü otomasyon yetenekleriyle Discord deneyiminizi geliştirin.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "saseq-discord-mcp": {
      "command": "node",
      "args": [
        "~/.mcp/discord-mcp/index.js"
      ]
    }
  }
}

📖 Açıklama

Discord API için Model Context Protocol (MCP) sunucusu (JDA) kullanılarak oluşturulmuştur. MCP uyumlu uygulamalar (Claude, ChatGPT vb.) ile Discord botlarını entegre etmek için tasarlanmıştır. AI asistanlarının Discord ile etkileşime girmesini sağlayarak kanalları yönetme, mesaj gönderme ve sunucu bilgilerini alma imkanı verir. Güçlü Discord otomasyonu ve AI odaklı iş akışları oluşturmak için idealdir.

🔬 Kurulum

► 🐳 Docker Kurulumu (Önerilen)

[!NOTE] Docker kurulumu gereklidir. Tam talimatlar docker.com üzerinde bulunabilir.

1) Yerel ortam değişkenlerini ayarlayın

export DISCORD_TOKEN="YOUR_DISCORD_BOT_TOKEN"
export DISCORD_GUILD_ID="OPTIONAL_DEFAULT_SERVER_ID"
export SPRING_PROFILES_ACTIVE=http

[!IMPORTANT] Discord bot oluşturma ve token alma talimatları burada bulunabilir.

[!TIP] DISCORD_GUILD_ID ortam değişkeni isteğe bağlıdır.

Sağlandığında, varsayılan bir Discord sunucu ID'si ayarlar, böylece guildId parametresini kabul eden herhangi bir araç bunu atlayabilir.

2) Docker konteynerini çalıştırın

docker run -d -i \
  --name discord-mcp \
  --restart unless-stopped \
  -p 8085:8085 \
  -e SPRING_PROFILES_ACTIVE \
  -e DISCORD_TOKEN \
  -e DISCORD_GUILD_ID \
  saseq/discord-mcp:latest

Varsayılan MCP endpoint URL'si (HTTP profili): http://localhost:8085/mcp

🐋 Docker Compose Kurulumu

1) Repoyu klonlayın

git clone https://github.com/SaseQ/discord-mcp

2) Proje dizinine gidin

cd discord-mcp

3) Yerel runtime ortamı oluşturun

cat > .env <<EOF
SPRING_PROFILES_ACTIVE=http
DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN>
DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID>
EOF

4) Paylaşılan bir MCP sunucu konteynerini başlatın

docker compose up -d --build

5) Doğrulayın

docker ps --filter name=discord-mcp
curl -fsS http://localhost:8085/actuator/health

[!TIP] LOGGING_PATTERN_CONSOLE öğesini manuel olarak ayarlamanıza gerek yoktur. Günlüğe kaydetme hem http hem de eski stdio modları için otomatik olarak yapılandırılır.

Varsayılan MCP endpoint URL'si (HTTP profili): http://localhost:8085/mcp

Health endpoint'i (Actuator): http://localhost:8085/actuator/health

🔧 Manuel Kurulum

1) Repoyu klonlayın

git clone https://github.com/SaseQ/discord-mcp

2) Projeyi derleyin

NOT: mvn komutunu kullanmak için Maven kurulumu gereklidir. Tam talimatlar burada bulunabilir.

cd discord-mcp
mvn clean package # JAR dosyası /target dizininde kullanılabilir olacak

3) AI istemcisini yapılandırın

JAR dosyasını uzun süreli çalışan bir sunucu olarak çalıştırın:

DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN> \
DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID> \
SPRING_PROFILES_ACTIVE=http \
java -jar /absolute/path/to/discord-mcp-1.0.0.jar

NOT: DISCORD_GUILD_ID ortam değişkeni isteğe bağlıdır. Sağlandığında, varsayılan bir Discord sunucu ID'si ayarlar, böylece guildId parametresini kabul eden herhangi bir araç bunu atlayabilir.

Varsayılan MCP endpoint URL'si (HTTP profili): http://localhost:8085/mcp

🔗 Bağlantılar

► 🗞️ Varsayılan config.json Bağlantısı

Önerilen (HTTP singleton modu):

{
  "mcpServers": {
    "discord-mcp": {
      "url": "http://localhost:8085/mcp"
    }
  }
}

Eski mod (stdio, her istemci oturumu için yeni bir işlem/konteyner başlatır):

{
  "mcpServers": {
    "discord-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN>",
        "-e",
        "DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID>",
        "saseq/discord-mcp:latest"
      ]
    }
  }
}
⌨️ Claude Code Bağlantısı

Önerilen (HTTP singleton modu):

claude mcp add discord-mcp --transport http http://localhost:8085/mcp

Eski mod (stdio, her istemci oturumu için yeni bir işlem/konteyner başlatır):

claude mcp add discord-mcp -- docker run --rm -i -e DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN> -e DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID> saseq/discord-mcp:latest
🤖 Codex CLI Bağlantısı
codex mcp add discord-mcp --url http://localhost:8085/mcp
codex mcp list
🦞 OpenClaw Bağlantısı

Bu komutu çalıştırın:

openclaw mcp set discord-mcp '{"url":"http://localhost:8085/mcp","transport":"streamable-http"}'
openclaw mcp list

VEYA

Aşağıdaki yapılandırmayı OpenClaw ~/.openclaw/config.json dosyanıza yapıştırın:

{
  "mcp": {
    "servers": {
      "discord-mcp": {
        "url": "http://localhost:8085/mcp",
        "transport": "streamable-http"
      }
    }
  }
}
🖲 Cursor Bağlantısı

Şu yola gidin: Settings -> Cursor Settings -> MCP -> Add new global MCP server

Aşağıdaki yapılandırmayı Cursor ~/.cursor/mcp.json dosyanıza yapıştırmak önerilen yaklaşımdır. Ayrıca proje klasörünüzde .cursor/mcp.json oluşturarak belirli bir projeye kurulum yapabilirsiniz. Daha fazla bilgi için Cursor MCP dokümanları bölümüne bakın.

{
  "mcpServers": {
    "discord-mcp": {
      "url": "http://localhost:8085/mcp"
    }
  }
}
🚀 n8n Bağlantısı

n8n'de Bağlantı Kurun

  1. n8n'i açın ve bir MCP Client node'u ekleyin.
  2. HTTP veya Streamable HTTP transport'unu seçin (n8n sürümü/node seçeneklerine bağlı olarak).
  3. Sunucu URL'sini şu şekilde ayarlayın: http://localhost:8085/mcp
  4. Node'u kaydedin ve bağlantıyı test edin.
  5. Bağlandıktan sonra, discord-mcp tarafından sunulan Discord araçlarını iş akışınız içinde kullanabilirsiniz.

Notlar

  • n8n Docker'da çalışıyorsa, localhost n8n konteynerine işaret edebilir, ana bilgisayarınıza değil.
  • Bu durumda Docker hizmet adını veya başka erişilebilir bir host'u kullanın: http://discord-mcp:8085/mcp
🖥 Claude Desktop Bağlantısı

STDIO yerel yapılandırması (Varsayılan, eski):

Aşağıdaki yapılandırmayı Claude Desktop claude_desktop_config.json dosyanıza yapıştırın.

{
  "mcpServers": {
    "discord-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN>",
        "-e",
        "DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID>",
        "saseq/discord-mcp:latest"
      ]
    }
  }
}

Uzak MCP Bağlayıcı:

  1. Claude Desktop'ı açın ve Settings -> Connectors öğesine gidin.
  2. Özel bir bağlayıcı ekleyin ve MCP URL'sini sunucu endpoint'inize ayarlayın (örneğin https://<PUBLIC_HOST>/mcp).
  3. Kaydedin ve yeniden bağlanın.

Claude Desktop uzak bağlayıcıları Connectors UI aracılığıyla yönetilir (claude_desktop_config.json üzerinden değil). http://localhost:8085/mcp yalnızca makinenizden erişilebilir. Claude Desktop uzak bağlayıcıları için endpoint'i halka açık HTTPS ile açığa çıkarın (örneğin tunnel/reverse proxy).

🛠️ Mevcut Araçlar

Sunucu Bilgileri

Kullanıcı Yönetimi

  • get_user_id_by_name: Ping kullanımı için guild içinde username ile Discord kullanıcısının ID'sini alın <@id>
  • send_private_message: Belirli bir kullanıcıya özel mesaj gönderin
  • edit_private_message: Belirli bir kullanıcıdan özel mesajı düzenleyin
  • delete_private_message: Belirli bir kullanıcıdan özel mesajı silin
  • read_private_messages: Belirli bir kullanıcının özel mesaj geçmişini okuyun (ek meta verileri içerir, count 1-100 ve isteğe bağlı cursor'u destekler: before veya after veya around)

Mesaj Yönetimi

  • send_message: Belirli bir kanala mesaj gönderin
  • edit_message: Belirli bir kanaldan mesajı düzenleyin
  • delete_message: Belirli bir kanaldan mesajı silin
  • read_messages: Belirli bir kanalın mesaj geçmişini okuyun (ek meta verileri içerir, count 1-100 ve isteğe bağlı cursor'u destekler: before veya after veya around)
  • add_reaction: Belirli bir mesaja tepki (emoji) ekleyin
  • remove_reaction: Bir mesajdan belirtilen tepkiyi (emoji) kaldırın

Kanal Yönetimi

Kategori Yönetimi

Webhook Yönetimi

Rol Yönetimi

  • list_roles: Sunucudaki tüm rollerin listesini detaylarıyla alın
  • create_role: Sunucuda yeni bir rol oluşturun
  • edit_role: Mevcut bir rolün ayarlarını değiştirin
  • delete_role: Bir rolü sunucudan kalıcı olarak silin
  • assign_role: Bir kullanıcıya rol atayın
  • remove_role: Bir kullanıcıdan rolü kaldırın

Moderasyon ve Kullanıcı Yönetimi

  • kick_member: Üyeyi sunucudan çıkarın
  • ban_member: Kullanıcıyı sunucudan yasaklayın
  • unban_member: Bir kullanıcının yasağını kaldırın
  • timeout_member: Bir üyenin iletişimini belirli bir süre için devre dışı bırakın
  • remove_timeout: Süresi dolmadan bir üyenin timeout'unu (sustur) kaldırın
  • set_nickname: Sunucudaki bir üyenin takma adını değiştirin
  • get_bans: Sunucudaki yasaklı kullanıcıların listesini yasak nedenleriyle döndürün

Ses ve Sahne Kanalı Yönetimi

Planlanan Etkinlik Yönetimi

Kanal İzin Geçişleri

Davet Yönetimi

  • create_invite: Belirli bir kanal için yeni bir davet linki oluşturun
  • list_invites: Sunucudaki tüm aktif davetleri istatistikleriyle listeleyin
  • delete_invite: Daveti sil (iptal) ve linkin çalışmasını durdurun
  • get_invite_details: Belirli bir daveti hakkında ayrıntı alın (herhangi bir halka açık davet için çalışır)

Forum Yönetimi

  • create_forum_channel: Yeni bir forum kanalı oluşturun
  • edit_forum_channel: Forum kanalı ayarlarını düzenleyin (ad, konu, nsfw, slowmode, kategori, konum, varsayılan sıralama, varsayılan düzen)
  • list_forum_channels: Sunucudaki tüm forum kanallarını listeleyin
  • get_forum_channel_info: Etiketler ve ayarlar dahil olmak üzere forum kanalı hakkında ayrıntılı bilgi alın
  • list_forum_tags: Forum kanalında kullanılabilir tüm etiketleri listeleyin
  • create_forum_post: Forum kanalında ilk mesajla yeni bir forum gönderisi (thread) oluşturun
  • list_forum_posts: Forum kanalında etkin gönderileri (thread'leri) listeleyin
  • modify_forum_post: Forum gönderisini değiştirin: kilitle/kilidi aç, arşivle/arşivden çıkar, sabitle/sabitlemeyi kaldır veya uygulanan etiketleri değiştirin

Emoji Yönetimi

  • list_emojis: Sunucudaki tüm özel emoji'leri listeleyin
  • get_emoji_details: Belirli bir özel emoji hakkında ayrıntılı bilgi alın
  • create_emoji: Sunucuya yeni bir özel emoji yükleyin (base64 veya resim URL'si, maksimum 256KB)
  • edit_emoji: Mevcut bir emoji'nin adını veya rol kısıtlamalarını düzenleyin
  • delete_emoji: Özel bir emoji'yi sunucudan kalıcı olarak silin

DISCORD_GUILD_ID ayarlanırsa, guildId parametresi yukarıdaki tüm araçlar için isteğe bağlı olur.


Daha ayrıntılı örnekler Wiki üzerinde bulunabilir.

Benzer MCP sunucuları

Daha fazla: Communication →