mcpField
M
MCP-Discord

MCP-Discord

ローカル
github.com/barryyip0625コミュニケーション1087 週間前に更新

MCP-Discord について

MCP-Discord は、AI アシスタントが Discord ボットを通じて Discord プラットフォームを操作するための MCP サーバーです。サーバー、チャンネル、フォーラム、メッセージ、ロール、メンバー、Webhook を扱え、stdio と streamable HTTP の両方のトランスポートに対応しています。Node.js で実装され、Docker イメージも提供されています。

主な機能

  1. 01ボットトークンによるログインとサーバー一覧の取得
  2. 02テキスト、フォーラム、ボイスチャンネルとカテゴリの管理
  3. 03フォーラム投稿の作成、返信、タグ管理
  4. 04メッセージの読み取り、検索、編集とリアクション
  5. 05ロール、メンバー、Webhook の管理
  6. 06stdio と streamable HTTP のトランスポート

活用シーン

  1. 01AI アシスタントによるコミュニティサーバーへの通知投稿やチャンネル整理
  2. 02フォーラムツールを使った投稿の作成とアーカイブ
  3. 03ロールや権限によるサーバー構成の管理

MCP 対応

本プロジェクトは MCP サーバーであり、discord_send、discord_read_messages、discord_create_role などの Discord 操作を MCP クライアントにツールとして公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"discord-barryyip0625": {
"command": "npx",
"args": [
"-y",
"mcp-discord"
]
}
}
}
起動コマンドnpx -y mcp-discord

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

パッケージ
npmmcp-discord

ツール

22

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
guildIdstringはい
namestringはい
positionnumberいいえ
reasonstringいいえ

詳細

MCP-Discord

MCP Toplist MCP Server Docker Hub

AI アシスタントが Discord プラットフォームとやり取りできるようにする、Discord 用の MCP(Model Context Protocol)サーバーです。

MCP-Discord MCP server

概要

MCP-Discord は、以下の Discord 関連機能を提供します。

  • Discord ボットにログインする
  • ボットが参加しているサーバーを一覧表示する
  • サーバー情報を取得する
  • メンバーを一覧表示し、メンバーの詳細を確認する
  • ロールの一覧表示、作成、編集、削除、割り当て、解除を行う
  • サーバー内のメッセージを検索する
  • チャンネルのメッセージを読み取り、編集、削除する
  • 指定したチャンネルにメッセージを送信する
  • フォーラムチャンネルの一覧を取得する
  • フォーラム投稿を作成、更新、削除し、返信する
  • フォーラムスレッドを一覧表示し、フォーラムタグを管理する
  • テキスト、フォーラム、ボイスチャンネル、カテゴリーを作成、編集、削除する
  • チャンネルの権限の上書きを設定、解除する
  • メッセージリアクションを追加、削除する
  • Webhook を作成、編集、削除、使用する

目次

前提条件

  • Node.js(v18.0.0 以上)

  • npm(v7.0.0 以上)

  • 適切な権限を持つ Discord ボット

    • ボットトークン(Discord Developer Portalから取得できます)
    • Message Content Intent が有効
    • Server Members Intent が有効
    • Presence Intent が有効
  • Discord サーバーで必要な権限:

    最も簡単な設定
    • Administrator(すばやく設定してすべての機能を使う場合に推奨)
    または、必要な権限のみを選択:
    • メッセージを送信
    • パブリックスレッドを作成
    • スレッドでメッセージを送信
    • メッセージを管理
    • スレッドを管理
    • チャンネルを管理
    • Webhook を管理
    • ロールを管理
    • リアクションを追加
    • チャンネルを表示
  • Discord ボットをサーバーに追加する

注:
Discord のセキュリティモデルにより、ボットがアクセスできるのは、明示的に追加されたサーバーの情報のみです。
この MCP サーバーを使って特定の Discord サーバーにアクセスするには、まずそのサーバーにボットを追加する必要があります。
以下の招待リンクを使って、対象のサーバーにボットを追加してください。

インストール

NPM 経由でのインストール

次のコマンドで使用できます:

npx mcp-discord --config ${DISCORD_TOKEN}

詳細については、NPM パッケージをご覧ください。

Smithery 経由でのインストール

Smithery 経由で mcp-discord を自動的にインストールするには

Docker を使用したインストール

Docker を使用して mcp-discord を実行できます。Docker イメージは自動的にビルドされ、Docker Hub に公開されます。

Docker Hub リポジトリ:barryy625/mcp-discord

Docker は、デフォルトで build/app.js を介してストリーム可能な HTTP サーバーを使用します。

# Pull the latest image
docker pull barryy625/mcp-discord:latest

# Run HTTP server on port 8080
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 8080:8080 barryy625/mcp-discord:latest

# Override the listening port if needed
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 3000:3000 barryy625/mcp-discord:latest --transport http --port 3000

利用可能なタグ:

  • latest - main ブランチの最新安定版
  • v1.3.8 など - 特定のバージョンのリリース
手動インストール
# Clone the repository
git clone https://github.com/barryyip0625/mcp-discord.git
cd mcp-discord

# Install dependencies
npm install

# Compile TypeScript
npm run build

設定

適切に動作させるには、Discord ボットのトークンが必要です。サーバーは、stdio とストリーム可能な HTTP の 2 つのトランスポート方式をサポートしています。

トランスポート方式
  1. stdio(デフォルト)

    • 基本的な用途向けの従来の stdio トランスポート
    • シンプルな連携に適しています
  2. ストリーム可能な HTTP

    • より高度なシナリオ向けの HTTP ベースのトランスポート
    • ステートレスな動作をサポートします
    • ポート番号を設定できます
設定オプション

設定は次の 2 つの方法で指定できます。

  1. 環境変数:
DISCORD_TOKEN=your_discord_bot_token
  1. コマンドライン引数:
# For stdio transport (default)
node build/index.js --config "your_discord_bot_token"

# For streamable HTTP transport
node build/app.js --transport http --port 3000 --config "your_discord_bot_token"

Claude/Cursor での使用方法

1. Claude/Cursor で stdio トランスポートを使用する

MCP クライアントがコマンドベースの stdio サーバーを想定している場合は、build/index.js を使用します。

Claude Desktop / Claude Code
{
    "mcpServers": {
        "discord": {
            "command": "node",
            "args": [
                "path/to/mcp-discord/build/index.js"
            ],
            "env": {
                "DISCORD_TOKEN": "your_discord_bot_token"
            }
        }
    }
}
Cursor
{
    "mcpServers": {
        "discord": {
            "command": "node",
            "args": [
                "path/to/mcp-discord/build/index.js"
            ],
            "env": {
                "DISCORD_TOKEN": "your_discord_bot_token"
            }
        }
    }
}

これは、ローカルのコマンドベース MCP クライアントに推奨される設定です。

2. ストリーム可能な HTTP サーバーをセルフホストする

mcp-discord を HTTP MCP サーバーとして実行する場合は、build/app.js を使用します。

Node.js で実行する
DISCORD_TOKEN=your_discord_bot_token node build/app.js --transport http --port 3000

Windows PowerShell の場合:

$env:DISCORD_TOKEN="your_discord_bot_token"
node build/app.js --transport http --port 3000
Docker で実行する
docker run -e DISCORD_TOKEN=your_discord_bot_token -p 3000:3000 barryy625/mcp-discord:latest --transport http --port 3000

起動すると、MCP HTTP エンドポイントは次のようになります。

http://localhost:3000/mcp
3. ホストされた HTTP MCP サーバーに接続する

mcp-discord をすでに別の場所でホストしている場合は、コマンドとして build/app.js を起動するのではなく、MCP クライアントからサーバーの /mcp エンドポイントに接続します。

エンドポイントの例:

https://your-server.example.com/mcp

重要な注意事項:

  • build/app.js は HTTP サーバーを起動します。stdio には対応していません。
  • build/index.js は、コマンドベースの stdio MCP クライアントに適したエントリーポイントです。
  • ホストされた HTTP を使用する場合は、デプロイ先から提供された HTTP エンドポイント URL に接続するよう、MCP クライアントを設定してください。
  • HTTP クライアントの設定形式は、使用する MCP クライアントによって異なります。

ツールのドキュメント

基本機能
  • discord_login:設定されたトークンを使用して Discord にログインする
  • discord_list_servers:ボットが参加しているすべての Discord サーバーを一覧表示する
  • discord_send:指定したチャンネルにメッセージを送信する
  • discord_get_server_info:Discord サーバーの情報を取得する
チャンネル管理
  • discord_create_text_channel:テキストチャンネルを作成する
  • discord_create_forum_channel:フォーラムチャンネルを作成する
  • discord_create_voice_channel:ボイスチャンネルを作成する
  • discord_edit_channel:チャンネル名、トピック、親カテゴリ、または位置を編集する
  • discord_delete_channel:チャンネルを削除する
  • discord_create_category:チャンネルカテゴリを作成する
  • discord_edit_category:チャンネルカテゴリを編集する
  • discord_delete_category:チャンネルカテゴリを削除する
  • discord_set_channel_permissions:チャンネル/カテゴリで、ロールまたはユーザーの権限オーバーライドを設定する
  • discord_remove_channel_permissions:チャンネル/カテゴリから権限オーバーライドを削除する
フォーラム機能
  • discord_get_forum_channels:フォーラムチャンネルの一覧を取得する
  • discord_create_forum_post:フォーラム投稿を作成する(任意でチャンネルの先頭に固定できます)
  • discord_get_forum_post:フォーラム投稿を取得する
  • discord_list_forum_threads:フォーラムチャンネル内のアクティブなスレッドとアーカイブ済みのスレッドを一覧表示する
  • discord_reply_to_forum:フォーラム投稿に返信する
  • discord_get_forum_tags:フォーラムチャンネルで利用可能なすべてのタグを取得する
  • discord_set_forum_tags:フォーラムチャンネルで利用可能なタグを置き換える
  • discord_update_forum_post:フォーラム投稿のタイトル、タグ、アーカイブ状態、ロック状態、または固定状態を更新する
  • discord_delete_forum_post:フォーラム投稿を削除する
メッセージとリアクション
  • discord_search_messages: サーバー内のメッセージを検索します
  • discord_read_messages: チャンネルのメッセージを読み取ります(before、after、around パラメーターに対応。スノーフレーク ID または "2025-03-01T00:00:00Z" のような ISO 8601 形式の日付を指定できます)
  • discord_edit_message: ボットが作成したメッセージを編集します
  • discord_add_reaction: メッセージにリアクションを追加します
  • discord_add_multiple_reactions: メッセージに複数のリアクションを追加します
  • discord_remove_reaction: メッセージからリアクションを削除します
  • discord_delete_message: チャンネルから特定のメッセージを削除します
  • discord_pin_message: メッセージをチャンネルにピン留めします(チャンネルあたり最大 50 件)
  • discord_unpin_message: チャンネルのピン留めされたメッセージからメッセージを削除します
  • discord_list_pinned_messages: チャンネルのピン留めされたメッセージを新しい順に一覧表示します
Webhook の管理
  • discord_create_webhook: Discord チャンネル用の新しい webhook を作成します
  • discord_send_webhook_message: webhook を使用して Discord チャンネルにメッセージを送信します
  • discord_edit_webhook: Discord チャンネル用の既存の webhook を編集します
  • discord_delete_webhook: Discord チャンネル用の既存の webhook を削除します
ロールの管理
  • discord_list_roles: サーバー内のすべてのロールを一覧表示します
  • discord_create_role: 色、ホイスト、メンション可能かどうか、権限のオプションを指定してロールを作成します
  • discord_edit_role: 既存のロールを編集します
  • discord_delete_role: ロールを削除します
  • discord_assign_role: メンバーにロールを割り当てます
  • discord_remove_role: メンバーからロールを削除します
メンバーの管理
  • discord_list_members: サーバーのメンバーとそのロールを一覧表示します
  • discord_get_member: 特定のメンバーの詳細情報を取得します

開発

# Development mode
npm run dev

ライセンス

MIT ライセンス

コメント

MCP は初めてですか?

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

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