Skip to main content
Glama
blackgirlbytes

Discord Community MCP

Discord Community MCP

ローカルファーストの Model Context Protocol サーバーで、ボットアカウントを通じて AI エージェントに、読み取り専用の Discord 検索、会話の呼び出し、コミュニティ調査、成長分析を提供します。メッセージとリアクションの送信は、明示的に有効化した場合のみ利用できます。

できること

  • あいまいな記憶から、言葉が不確かでも会話を見つける

  • 一致したメッセージの前後のコンテキストを再構築する

  • 選択した Discord 履歴をローカル SQLite データベースにインデックス化する

  • アクティビティ、応答時間、参加状況、集中度、相互性、テーマを分析する

  • メンバーのスナップショットを保存し、参加、離脱、役割、コントリビューターの成長を分析する

  • オプションでメッセージ、返信、リアクションを送信する

Related MCP server: Discord MCP Server

必要なもの

  • Node.js 22.5 以上

  • Discord アプリケーションとボットトークン

  • Codex など、ローカルの stdio サーバーをサポートする MCP クライアント

1. Discord ボットを作成する

  1. Discord Developer Portal を開き、アプリケーションを作成します。

  2. Bot を開いてボットを作成し、そのトークンをコピーします。

  3. Bot → Privileged Gateway Intents で、以下を有効にします:

    • メッセージ本文と検索に必要な Message Content Intent

    • メンバースナップショット、参加日、役割、成長分析に必要な Server Members Intent

  4. Presence Intent は不要です。

  5. OAuth2 → URL Generator で bot スコープを選択します。

  6. ボットに View Channels と Read Message History を付与します。書き込みツールを有効にする予定がある場合のみ、Send Messages または Add Reactions を追加してください。

  7. 生成された URL を開いて、ボットを Discord サーバーに招待します。

ボットは、その Discord ロールが表示を許可されているチャンネルにのみアクセスできます。

2. インストール

git clone https://github.com/blackgirlbytes/discord-community-mcp.git
cd discord-community-mcp
npm ci
npm run build
cp .env.example .env

.env を開き、プレースホルダーのトークンを置き換えます:

DISCORD_BOT_TOKEN=replace-with-your-bot-token
DISCORD_ENABLE_WRITE=false

.env は非公開にしてください。git の追跡から除外されています。

3. MCP クライアントに追加する

Codex CLI

クライアントがどのディレクトリからでもサーバーを起動できるように、絶対パスを使用します:

codex mcp add discord-community -- \
  node \
  --env-file=/absolute/path/to/discord-community-mcp/.env \
  /absolute/path/to/discord-community-mcp/dist/index.js

サーバーを追加したら、Codex を再起動します。

汎用 stdio 設定

mcpServers JSON オブジェクトを使用するクライアントでは、次が利用できます:

{
  "mcpServers": {
    "discord-community": {
      "command": "node",
      "args": [
        "--env-file=/absolute/path/to/discord-community-mcp/.env",
        "/absolute/path/to/discord-community-mcp/dist/index.js"
      ]
    }
  }
}

設定を変更したら、MCP クライアントを再起動します。すると、ボットがアクセスできる Discord サーバーとチャンネルの一覧表示をクライアントに依頼できるようになります。

質問の例

  • 「オンボーディングが宿題のように感じる、と言っていた人がいた会話を探して」

  • 「昨年の春、SDK の改名について、私たちは何を決めたのか?」

  • 「ベータテスターの応答が遅いのはなぜ? 過去3ヶ月の証拠を調べて」

  • 「コミュニティは月ごとにどう成長し、成長は参加状況と比べてどうか?」

  • 「先週、回答が付かなかったサポート質問はどれ?」

幅広い分析を行う場合は、エージェントはまず関連するチャンネルと日付範囲を同期し、インデックスの網羅範囲を確認してから、コミュニティ調査を実行してください。行動についての説明は、メッセージが直接裏付けを示している場合を除き、仮説として提示してください。

利用可能なツール

ツール

目的

discord_list_guilds

ボットが利用可能なサーバーを一覧表示する

discord_list_channels

サーバー内のチャンネルを一覧表示する

discord_read_messages

直最近のメッセージをページング付きで読み取る

discord_find_messages

あいまいに覚えている会話を検索する

discord_get_message_context

一致したメッセージの周辺を読み取る

discord_sync_community_history

ローカルメッセージインデックスを作成・更新する

discord_research_community

コミュニティの質問に対するエビデンスパックを作成する

discord_get_community_index_status

インデックス化済みのチャンネル、日付、網羅範囲を確認する

discord_sync_member_snapshot

現在のメンバーシップ、参加日、役割のデータを保存する

discord_analyze_growth

メンバーシップと参加状況を時系列で分析する

discord_send_message

書き込みが有効なときメッセージを送信する

discord_reply_to_message

書き込みが有効なとき返信する

discord_add_reaction

書き込みが有効なときリアクションする

データとプライバシー

メッセージの内容とメンバーシップメタデータは、デフォルトでは暗号化されずに data/discord-analytics.sqlite に保存されます。保存先は DISCORD_ANALYTICS_DB で変更できます。

DISCORD_ANALYTICS_DB=/absolute/private/path/discord-analytics.sqlite
  • 分析に必要なチャンネルと日付範囲のみをインデックス化します。

  • コミュニティのプライバシーポリシーに従って、データベースを保護・削除します。

  • ボットには必要な最小限の Discord 権限のみを付与します。

  • 意図的に送信しない限り、DISCORD_ENABLE_WRITE=false のままにします。

  • ボットトークンが漏えいした場合は、すぐに再発行します。

分析の制限

  • メッセージのアーカイブは行動パターンを示せますが、なぜ人々がそう行動したかを証明することはできません。

  • Discord ユーザーは返信(Reply)機能を使わずに応答する場合があるため、返信メトリクスは応答数を過小評価することがあります。

  • 過去の役割メンバーシップは復元されません。古いメッセージには、直近で確認された役割が使われます。

  • 正確な離脱の検出は、保存済みメンバースナップショットの間でのみ可能です。

  • 最初のメンバースナップショットでは、ボットが観測する前に離脱したメンバーを復元できません。

  • 検索と分析が対象にするのは、ボットから見えるチャンネルと同期された履歴のみです。

  • ダイレクトメッセージには対応していません。

書き込みアクセス

書き込みツールは登録されていますが、デフォルトではブロックされています。有効にするには、.env を更新します:

DISCORD_ENABLE_WRITE=true

ボットにも対応する Discord 権限が必要です。調査専用のインストールでは、書き込みを無効のままにしてください。

開発

npm ci
npm run check
npm test

サーバーは、運用ログを stderr に出力します。stdout は MCP stdio プロトコル用に予約されているためです。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with Discord through the REST API and real-time events, supporting message management, user info, channel operations, and more with security controls.
    12 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs to send and read messages in Discord channels, manage servers, channels, and roles via Discord's API.
    13 npm
    2
    MIT