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 ボットを作成する
Discord Developer Portal を開き、アプリケーションを作成します。
Bot を開いてボットを作成し、そのトークンをコピーします。
Bot → Privileged Gateway Intents で、以下を有効にします:
メッセージ本文と検索に必要な Message Content Intent
メンバースナップショット、参加日、役割、成長分析に必要な Server Members Intent
Presence Intent は不要です。
OAuth2 → URL Generator で
botスコープを選択します。ボットに View Channels と Read Message History を付与します。書き込みツールを有効にする予定がある場合のみ、Send Messages または Add Reactions を追加してください。
生成された 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ヶ月の証拠を調べて」
「コミュニティは月ごとにどう成長し、成長は参加状況と比べてどうか?」
「先週、回答が付かなかったサポート質問はどれ?」
幅広い分析を行う場合は、エージェントはまず関連するチャンネルと日付範囲を同期し、インデックスの網羅範囲を確認してから、コミュニティ調査を実行してください。行動についての説明は、メッセージが直接裏付けを示している場合を除き、仮説として提示してください。
利用可能なツール
ツール | 目的 |
| ボットが利用可能なサーバーを一覧表示する |
| サーバー内のチャンネルを一覧表示する |
| 直最近のメッセージをページング付きで読み取る |
| あいまいに覚えている会話を検索する |
| 一致したメッセージの周辺を読み取る |
| ローカルメッセージインデックスを作成・更新する |
| コミュニティの質問に対するエビデンスパックを作成する |
| インデックス化済みのチャンネル、日付、網羅範囲を確認する |
| 現在のメンバーシップ、参加日、役割のデータを保存する |
| メンバーシップと参加状況を時系列で分析する |
| 書き込みが有効なときメッセージを送信する |
| 書き込みが有効なとき返信する |
| 書き込みが有効なときリアクションする |
データとプライバシー
メッセージの内容とメンバーシップメタデータは、デフォルトでは暗号化されずに 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 プロトコル用に予約されているためです。
This server cannot be deployed
Maintenance
Related MCP Connectors
Build Discord communities with AI: roles, channels, modules, automations and reviewed announcements.
Control your Discord community: send/read messages, manage channels and forums, and handle webhook…
Run Discord forms, surveys, polls and quizzes from your AI app: build, launch and analyze projects.
Reddit data for AI agents: posts, comments, subreddits, search. Community + sentiment research.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to send and read messages in Discord channels, manage servers, channels, and roles via Discord's API.13 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to read and write Discord messages, search content, and compute channel statistics via a Discord bot.MIT
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to read messages, discover channels, send messages, and monitor Discord communities using the Discord HTTP API.-