mcpField
D
Discord Mcp

Discord Mcp

ローカル
github.com/SaseQコミュニケーション5695 日前に更新

Discord Mcp について

Discord Mcpは、MCP対応アプリ向けのDiscord APIサーバーです。AIアシスタントを通じてDiscordサーバーを管理するチーム向けに、メッセージ、チャンネル、メンバー、ロール、イベントの操作ツールを提供します。

主な機能

  1. 01メッセージの送信・編集・検索
  2. 02チャンネル・カテゴリ・スレッドの管理
  3. 03メンバー・ロール・権限の管理
  4. 04ボイスチャンネルとイベントの操作
  5. 05招待とWebhookの管理

活用シーン

  1. 01チャンネル履歴の検索と返信
  2. 02チャンネル作成と権限の調整
  3. 03メンバーのロールとタイムアウト管理

MCP 対応

メッセージ、サーバー情報、チャンネル、メンバーなどのDiscord API操作を、MCPクライアント向けのツールとして公開します。HTTPエンドポイントまたは従来のstdioモードで接続できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

DeepSeek-V3

📖 説明

(JDA)を使用した、Discord API 向けのModel Context Protocol(MCP)サーバーです。 Claude、ChatGPT などの MCP 対応アプリケーションと Discord ボットを統合できるよう設計されています。AI アシスタントがチャンネルの管理、メッセージの送信、サーバー情報の取得を通じて Discord とやり取りできるようになります。強力な Discord 自動化や AI 主導のワークフローの構築に最適です。

🔬 インストール

► 🐳 Docker のインストール(推奨)

メモ

Docker のインストールが必要です。詳しい手順はこちらをご覧ください。

1) ローカル環境変数を設定
export DISCORD_TOKEN="YOUR_DISCORD_BOT_TOKEN"
export DISCORD_GUILD_ID="OPTIONAL_DEFAULT_SERVER_ID"
export SPRING_PROFILES_ACTIVE=http

重要

Discord ボットの作成方法とトークンの取得方法については、こちらをご覧ください。

ヒント

DISCORD_GUILD_ID 環境変数は省略可能です。

設定すると、デフォルトの Discord サーバー ID が指定されるため、guildId パラメーターを受け取るツールではこの値を省略できます。

2) Docker コンテナを実行
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

デフォルトの MCP エンドポイント URL(HTTP プロファイル):http://localhost:8085/mcp

🐋 Docker Compose のインストール
1) リポジトリをクローン
git clone https://github.com/SaseQ/discord-mcp
2) プロジェクトディレクトリに移動
cd discord-mcp
3) ローカル実行環境を作成
cat > .env <<EOF
SPRING_PROFILES_ACTIVE=http
DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN>
DISCORD_GUILD_ID=<OPTIONAL_DEFAULT_SERVER_ID>
EOF
4) 共有 MCP サーバーコンテナを起動
docker compose up -d --build
5) 動作を確認
docker ps --filter name=discord-mcp
curl -fsS http://localhost:8085/actuator/health

ヒント

LOGGING_PATTERN_CONSOLE を手動で設定する必要はありません。 ロギングは http モードと従来の stdio モードの両方で自動的に設定されます。

デフォルトの MCP エンドポイント URL(HTTP プロファイル):http://localhost:8085/mcp

ヘルスエンドポイント(Actuator):http://localhost:8085/actuator/health

🔧 手動インストール
1) リポジトリをクローン
git clone https://github.com/SaseQ/discord-mcp
2) プロジェクトをビルド

注:mvn コマンドを使用するには、Maven のインストールが必要です。詳しい手順はこちらをご覧ください。

cd discord-mcp
mvn clean package # The jar file will be available in the /target directory
3) AI クライアントを設定

JAR を長時間稼働するサーバーとして実行します。

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

注:DISCORD_GUILD_ID 環境変数は省略可能です。設定すると、デフォルトの Discord サーバー ID が指定されるため、guildId パラメーターを受け取るツールではこの値を省略できます。

デフォルトの MCP エンドポイント URL(HTTP プロファイル):http://localhost:8085/mcp

🔗 接続

► 🗞️ デフォルトのconfig.json接続

推奨(HTTPシングルトンモード):

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

レガシーモード(stdio、クライアントセッションごとに新しいプロセス/コンテナを起動):

{
  "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接続

推奨(HTTPシングルトンモード):

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

レガシーモード(stdio、クライアントセッションごとに新しいプロセス/コンテナを起動):

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接続
codex mcp add discord-mcp --url http://localhost:8085/mcp
codex mcp list
🦞 OpenClaw接続

次のコマンドを実行します:

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

または

次の設定をOpenClawの~/.openclaw/config.jsonファイルに貼り付けます:

{
  "mcp": {
    "servers": {
      "discord-mcp": {
        "url": "http://localhost:8085/mcp",
        "transport": "streamable-http"
      }
    }
  }
}
🖲 Cursor接続

次の場所に移動します:Settings -> Cursor Settings -> MCP -> Add new global MCP server

次の設定をCursorの~/.cursor/mcp.jsonファイルに貼り付ける方法をおすすめします。プロジェクトフォルダーに.cursor/mcp.jsonを作成すれば、特定のプロジェクトにインストールすることもできます。詳しくはCursor MCP docsをご覧ください。

{
  "mcpServers": {
    "discord-mcp": {
      "url": "http://localhost:8085/mcp"
    }
  }
}
🚀 n8n接続
n8nで接続する
  1. n8nを開き、MCP Clientノードを追加します。
  2. HTTPまたはStreamable HTTPトランスポートを選択します(n8nのバージョン/ノードのオプションに応じて選択してください)。
  3. サーバーURLを次のように設定します:http://localhost:8085/mcp
  4. ノードを保存して、接続をテストします。
  5. 接続後、ワークフロー内でdiscord-mcpが公開する利用可能なDiscordツールを使用できます。
注意事項
  • n8nがDockerで実行されている場合、localhostはホストマシンではなく、n8nコンテナを指すことがあります。
  • その場合は、Dockerサービス名または到達可能な別のホストを使用します。例:http://discord-mcp:8085/mcp
🖥 Claude Desktop接続

STDIOローカル設定(デフォルト、レガシー):

次の設定をClaude Desktopのclaude_desktop_config.jsonファイルに貼り付けます。

{
  "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"
      ]
    }
  }
}

リモートMCPコネクター:

  1. Claude Desktopを開き、Settings -> Connectorsに移動します。
  2. カスタムコネクターを追加し、MCP URLにサーバーのエンドポイントを設定します(例:https://<PUBLIC_HOST>/mcp)。
  3. 保存して再接続します。

Claude Desktopのリモートコネクターは、claude_desktop_config.jsonではなく、Connectors UIで管理します。 http://localhost:8085/mcpにアクセスできるのは、お使いのマシンからのみです。Claude Desktopのリモートコネクターを使用する場合は、パブリックHTTPSでエンドポイントを公開してください(例:トンネル/リバースプロキシ)。

🛠️ 利用可能なツール

サーバー情報
ユーザー管理
  • get_user_id_by_name: pingで使用する<@id>のために、ギルド内のユーザー名からDiscordユーザーのIDを取得します
  • get_member_by_id: 安定したユーザーIDを指定してDiscordギルドメンバーを取得します。ユーザー名、グローバル名、ニックネーム、有効名、ボットフラグ、参加時刻、ロールが含まれます
  • search_members: ID、ユーザー名、グローバル名、ニックネーム、有効名でDiscordギルドメンバーを検索し、安定したユーザーIDを含む候補者情報を返します
  • send_private_message: 特定のユーザーにプライベートメッセージを送信します
  • edit_private_message: 特定のユーザー宛てのプライベートメッセージを編集します
  • delete_private_message: 特定のユーザー宛てのプライベートメッセージを削除します
  • read_private_messages: 特定のユーザーとのプライベートメッセージ履歴を読み取ります(作成者IDと添付ファイルのメタデータを含み、countは1~100を指定できます。また、任意のカーソルbefore、after、aroundをサポートします)
メッセージ管理
  • send_message: 特定のチャンネルにメッセージを送信します
  • edit_message: 特定のチャンネルのメッセージを編集します
  • delete_message: 特定のチャンネルのメッセージを削除します
  • read_messages: 特定のチャンネルのメッセージ履歴を読み取ります(作成者 ID、添付ファイルのメタデータを含み、count は 1~100 に対応し、オプションのカーソル before、after、around を指定できます)
  • add_reaction: 特定のメッセージにリアクション(絵文字)を追加します
  • remove_reaction: メッセージから指定したリアクション(絵文字)を削除します
チャンネル管理
  • create_text_channel: 新しいテキストチャンネルを作成します
  • edit_text_channel: テキストチャンネルの設定(名前、トピック、nsfw、スローモード、カテゴリ、位置)を編集します
  • delete_channel: チャンネルを削除します
  • find_channel: 名前とサーバー ID を使ってチャンネルの種類と ID を検索します
  • list_channels: すべてのチャンネルの一覧を取得します
  • get_channel_info: チャンネルの詳細情報を取得します
  • move_channel: チャンネルを別のカテゴリに移動したり、位置を変更したりします
カテゴリ管理
Webhook 管理
ロール管理
  • list_roles: サーバー上のすべてのロールの詳細な一覧を取得します
  • create_role: サーバーに新しいロールを作成します
  • edit_role: 既存のロール設定を変更します
  • delete_role: サーバーからロールを完全に削除します
  • assign_role: ユーザーにロールを割り当てます
  • remove_role: ユーザーからロールを削除します
モデレーションとユーザー管理
  • kick_member: メンバーをサーバーからキックします
  • ban_member: ユーザーをサーバーから BAN します
  • unban_member: ユーザーの BAN を解除します
  • timeout_member: 指定した期間、メンバーの発言を無効にします
  • remove_timeout: 期限前にメンバーのタイムアウト(ミュート)を解除します
  • set_nickname: サーバー上のメンバーのニックネームを変更します
  • get_bans: BAN 理由とともに、サーバー上の BAN されたユーザー一覧を返します
ボイスチャンネルとステージチャンネルの管理
  • create_voice_channel: ギルドに新しいボイスチャンネルを作成します
  • create_stage_channel: 音声イベント用の新しいステージチャンネルを作成します
  • edit_voice_channel: ボイスチャンネルまたはステージチャンネルの設定(名前、ビットレート、ユーザー上限、リージョン)を編集します
  • move_member: メンバーを別のボイスチャンネルに移動します
  • disconnect_member: メンバーを現在のボイスチャンネルから切断します
  • modify_voice_state: ボイスチャンネルでメンバーをサーバーミュートまたはスピーカーミュートにします
スケジュール済みイベントの管理
チャンネル権限の上書き
招待の管理
  • create_invite: 特定のチャンネルの新しい招待リンクを作成します
  • list_invites: サーバー上の有効な招待とその統計情報をすべて一覧表示します
  • delete_invite: 招待を削除(取り消し)して、リンクを無効にします
  • get_invite_details: 特定の招待の詳細を取得します(すべての公開招待で利用できます)
フォーラムの管理
  • create_forum_channel: 新しいフォーラムチャンネルを作成します
  • edit_forum_channel: フォーラムチャンネルの設定(名前、トピック、NSFW、スローモード、カテゴリ、位置、デフォルトの並べ替え、デフォルトのレイアウト)を編集します
  • list_forum_channels: サーバー内のすべてのフォーラムチャンネルを一覧表示します
  • get_forum_channel_info: タグや設定など、フォーラムチャンネルの詳細情報を取得します
  • list_forum_tags: フォーラムチャンネルで利用できるすべてのタグを一覧表示します
  • create_forum_post: フォーラムチャンネルに初期メッセージ付きの新しいフォーラム投稿(スレッド)を作成します
  • list_forum_posts: フォーラムチャンネル内のアクティブな投稿(スレッド)を一覧表示します
  • modify_forum_post: フォーラム投稿を変更します。ロック/ロック解除、アーカイブ/アーカイブ解除、ピン留め/ピン留め解除、適用するタグの変更ができます
絵文字の管理
  • list_emojis: サーバー上のすべてのカスタム絵文字を一覧表示します
  • get_emoji_details: 特定のカスタム絵文字の詳細情報を取得します
  • create_emoji: 新しいカスタム絵文字をサーバーにアップロードします(base64または画像URL、最大256KB)
  • edit_emoji: 既存の絵文字の名前またはロール制限を編集します
  • delete_emoji: サーバーからカスタム絵文字を完全に削除します

DISCORD_GUILD_IDが設定されている場合、上記のすべてのツールでguildIdパラメーターは省略可能です。


さらに詳しい例はWikiをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。