mcpField
D
Discord MCP Server

Discord MCP Server

ローカル
github.com/v-3コミュニケーション24292 週間前に更新

Discord MCP Server について

Discord MCP Server は、Discord API を通じて LLM が チャンネルのメッセージを送受信できるようにする MCP サーバーです。Claude から Discord を操作しつつ、送信内容の承認を保ちたい利用者に向けたものです。

主な機能

  1. 01Discord チャンネルへのメッセージ送信
  2. 02チャンネルの最近のメッセージの読み取り
  3. 03サーバーとチャンネルの自動検出
  4. 04チャンネル名または ID による指定
  5. 05エラー処理と入力検証

活用シーン

  1. 01Claude にチャンネルの最近のメッセージを読ませる
  2. 02Claude 経由で指定チャンネルに通知を送信
  3. 03開発チャンネルの議論を AI で要約

MCP 対応

本プロジェクトは、Discord メッセージの送受信を行う send-message と read-messages のツールを MCP クライアントに公開する MCP サーバーです。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"discordmcp": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
起動コマンドnpx -y @modelcontextprotocol/inspector

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@modelcontextprotocol/inspector

ツール

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

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

詳細

Discord MCP サーバー

LLM が Discord チャンネルとやり取りできるようにする Model Context Protocol(MCP)サーバーです。Discord の API を通じてメッセージを送信したり、読み取ったりできます。このサーバーを使用すると、Claude などの LLM は、ユーザーの管理とセキュリティを維持しながら、Discord チャンネルと直接やり取りできます。

機能

  • Discord チャンネルにメッセージを送信
  • チャンネルの最近のメッセージを読み取り
  • サーバーとチャンネルを自動的に検出
  • チャンネル名と ID の両方をサポート
  • 適切なエラー処理と検証

前提条件

  • Node.js 16.x 以降
  • Discord ボットのトークン
  • ボットを適切な権限でサーバーに招待していること:
    • メッセージの読み取り/チャンネルの表示
    • メッセージの送信
    • メッセージ履歴の読み取り

セットアップ

  1. このリポジトリをクローンします:
git clone https://github.com/yourusername/discordmcp.git
cd discordmcp
  1. 依存関係をインストールします:
npm install
  1. ルートディレクトリに Discord ボットのトークンを記載した .env ファイルを作成します:
DISCORD_TOKEN=your_discord_bot_token_here
  1. サーバーをビルドします:
npm run build

Claude for Desktop での使用方法

  1. Claude for Desktop の設定ファイルを開きます:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
  2. Discord MCP サーバーの設定を追加します:

{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["path/to/discordmcp/build/index.js"],
      "env": {
        "DISCORD_TOKEN": "your_discord_bot_token_here"
      }
    }
  }
}
  1. Claude for Desktop を再起動します

利用可能なツール

send-message

指定した Discord チャンネルにメッセージを送信します。

パラメーター:

  • server(任意):サーバー名または ID(ボットが複数のサーバーに参加している場合は必須)
  • channel:チャンネル名(例:「general」)または ID
  • message:送信するメッセージの内容

例:

{
  "channel": "general",
  "message": "Hello from MCP!"
}
read-messages

指定した Discord チャンネルの最近のメッセージを読み取ります。

パラメーター:

  • server(任意):サーバー名または ID(ボットが複数のサーバーに参加している場合は必須)
  • channel:チャンネル名(例:「general」)または ID
  • limit(任意):取得するメッセージ数(デフォルト:50、最大:100)

例:

{
  "channel": "general",
  "limit": 10
}

開発

  1. 開発用の依存関係をインストールします:
npm install --save-dev typescript @types/node
  1. 開発モードでサーバーを起動します:
npm run dev

テスト

MCP Inspector を使用してサーバーをテストできます:

npx @modelcontextprotocol/inspector node build/index.js

例

Discord MCP サーバーをセットアップした後、Claude で試せるやり取りの例を紹介します:

  1. 「general チャンネルの直近 5 件のメッセージを読んでもらえますか?」
  2. 「announcements チャンネルに『会議は 10 分後に始まります』と送信してください」
  3. 「最新リリースについて、development チャンネルで最近どのようなメッセージがありましたか?」

Claude は適切なツールを使用して Discord とやり取りし、メッセージを送信する前に承認を求めます。

セキュリティに関する考慮事項

  • ボットが機能するには、適切な Discord 権限が必要です
  • メッセージの送信には、すべて明示的なユーザーの承認が必要です
  • 環境変数は適切に保護してください
  • トークンをバージョン管理にコミットしないでください
  • チャンネルへのアクセスは、ボットにアクセス権が付与されたチャンネルに限定されます

貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add some amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細については、LICENSE ファイルを参照してください。

サポート

問題が発生した場合や質問がある場合:

  1. GitHub の Issues セクションを確認してください
  2. https://modelcontextprotocol.io の MCP ドキュメントを参照してください
  3. 再現手順を詳しく記載して、新しい Issue を作成してください

コメント

MCP は初めてですか?

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

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