Discord MCP Server について
Discord MCP Server は、Discord API を通じて LLM が チャンネルのメッセージを送受信できるようにする MCP サーバーです。Claude から Discord を操作しつつ、送信内容の承認を保ちたい利用者に向けたものです。
主な機能
- 01Discord チャンネルへのメッセージ送信
- 02チャンネルの最近のメッセージの読み取り
- 03サーバーとチャンネルの自動検出
- 04チャンネル名または ID による指定
- 05エラー処理と入力検証
活用シーン
- 01Claude にチャンネルの最近のメッセージを読ませる
- 02Claude 経由で指定チャンネルに通知を送信
- 03開発チャンネルの議論を AI で要約
MCP 対応
本プロジェクトは、Discord メッセージの送受信を行う send-message と read-messages のツールを MCP クライアントに公開する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Discord MCP サーバー
LLM が Discord チャンネルとやり取りできるようにする Model Context Protocol(MCP)サーバーです。Discord の API を通じてメッセージを送信したり、読み取ったりできます。このサーバーを使用すると、Claude などの LLM は、ユーザーの管理とセキュリティを維持しながら、Discord チャンネルと直接やり取りできます。
機能
- Discord チャンネルにメッセージを送信
- チャンネルの最近のメッセージを読み取り
- サーバーとチャンネルを自動的に検出
- チャンネル名と ID の両方をサポート
- 適切なエラー処理と検証
前提条件
- Node.js 16.x 以降
- Discord ボットのトークン
- ボットを適切な権限でサーバーに招待していること:
- メッセージの読み取り/チャンネルの表示
- メッセージの送信
- メッセージ履歴の読み取り
セットアップ
- このリポジトリをクローンします:
git clone https://github.com/yourusername/discordmcp.git
cd discordmcp
- 依存関係をインストールします:
npm install
- ルートディレクトリに Discord ボットのトークンを記載した
.envファイルを作成します:
DISCORD_TOKEN=your_discord_bot_token_here
- サーバーをビルドします:
npm run build
Claude for Desktop での使用方法
-
Claude for Desktop の設定ファイルを開きます:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Discord MCP サーバーの設定を追加します:
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["path/to/discordmcp/build/index.js"],
"env": {
"DISCORD_TOKEN": "your_discord_bot_token_here"
}
}
}
}
- Claude for Desktop を再起動します
利用可能なツール
send-message
指定した Discord チャンネルにメッセージを送信します。
パラメーター:
server(任意):サーバー名または ID(ボットが複数のサーバーに参加している場合は必須)channel:チャンネル名(例:「general」)または IDmessage:送信するメッセージの内容
例:
{
"channel": "general",
"message": "Hello from MCP!"
}
read-messages
指定した Discord チャンネルの最近のメッセージを読み取ります。
パラメーター:
server(任意):サーバー名または ID(ボットが複数のサーバーに参加している場合は必須)channel:チャンネル名(例:「general」)または IDlimit(任意):取得するメッセージ数(デフォルト:50、最大:100)
例:
{
"channel": "general",
"limit": 10
}
開発
- 開発用の依存関係をインストールします:
npm install --save-dev typescript @types/node
- 開発モードでサーバーを起動します:
npm run dev
テスト
MCP Inspector を使用してサーバーをテストできます:
npx @modelcontextprotocol/inspector node build/index.js
例
Discord MCP サーバーをセットアップした後、Claude で試せるやり取りの例を紹介します:
- 「general チャンネルの直近 5 件のメッセージを読んでもらえますか?」
- 「announcements チャンネルに『会議は 10 分後に始まります』と送信してください」
- 「最新リリースについて、development チャンネルで最近どのようなメッセージがありましたか?」
Claude は適切なツールを使用して Discord とやり取りし、メッセージを送信する前に承認を求めます。
セキュリティに関する考慮事項
- ボットが機能するには、適切な Discord 権限が必要です
- メッセージの送信には、すべて明示的なユーザーの承認が必要です
- 環境変数は適切に保護してください
- トークンをバージョン管理にコミットしないでください
- チャンネルへのアクセスは、ボットにアクセス権が付与されたチャンネルに限定されます
貢献
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については、LICENSE ファイルを参照してください。
サポート
問題が発生した場合や質問がある場合:
- GitHub の Issues セクションを確認してください
- https://modelcontextprotocol.io の MCP ドキュメントを参照してください
- 再現手順を詳しく記載して、新しい Issue を作成してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。