Skip to main content
Glama

Discord MCPサーバー

90以上のツールを備えた軽量なマルチギルド対応Discord MCPサーバー

npm License Node Discord.js MCP

discord-mcp MCP server

Claude DesktopClaude CodeCursorVS Code Copilot、またはMCP互換クライアントからDiscordサーバー全体を管理できます。 メッセージ、チャンネル、ロール、権限、モデレーション、フォーラム、Webhookなどを自然言語で操作可能です。


なぜこれを使うのか?

  • 90以上のツール — メッセージ、チャンネル、ロール、権限、モデレーション、フォーラム、Webhook、スケジュールイベント、招待、DM、埋め込みなど

  • マルチギルド対応 — 複数のサーバーで動作し、GUILD_IDによる制限はありません

  • 軽量 — TypeScript + Node.js、約25kBのパッケージ、約73MBのDockerイメージ(Javaベースの代替品は400MB以上)

  • モジュール式 — クリーンなアーキテクチャで、新しいツールの追加が容易

  • 2つのインストール方法 — npmまたはDockerから選択可能


クイックスタート

MCPクライアントの設定に以下を追加し、YOUR_TOKEN_HEREをボットトークンに置き換えてください:

{
  "mcpServers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@pasympa/discord-mcp"],
      "env": {
        "DISCORD_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

インストールは不要です — npxがすべて処理します。

ボットをまだお持ちでないですか?Discordボットの作成をご覧ください。


設定

上記の設定をclaude_desktop_config.jsonに追加してください:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

保存後、Claude Desktopを再起動してください。

claude mcp add discord -e DISCORD_TOKEN=YOUR_TOKEN_HERE -- npx -y @pasympa/discord-mcp

上記の設定を~/.cursor/mcp.jsonに追加してください。詳細はCursor MCPドキュメントを参照してください。

.vscode/mcp.jsonに追加してください:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "discord-token",
      "description": "Discord Bot Token",
      "password": true
    }
  ],
  "servers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@pasympa/discord-mcp"],
      "env": {
        "DISCORD_TOKEN": "${input:discord-token}"
      }
    }
  }
}

詳細はVS Code MCPドキュメントを参照してください。

{
  "mcpServers": {
    "discord": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "DISCORD_TOKEN=YOUR_TOKEN_HERE",
        "pasympa/discord-mcp:latest"
      ]
    }
  }
}
git clone https://github.com/PaSympa/discord-mcp
cd discord-mcp
npm install && npm run build
{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["/absolute/path/to/discord-mcp/dist/index.js"],
      "env": {
        "DISCORD_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

MCP設定にトークンを渡す代わりに、プロジェクトルートに.envファイルを作成します:

DISCORD_TOKEN=YOUR_TOKEN_HERE

サーバーはdotenvを介して自動的に.envを読み込みます。


Discordボットの作成

  1. discord.com/developers/applicationsにアクセス

  2. New Application > 名前を付ける

  3. Botタブ > Reset Token > トークンをコピー

  4. Privileged Gateway Intentsを有効にする:

    • Server Members Intent

    • Message Content Intent

  5. OAuth2 > URL Generator:

    • Scopes: bot

    • Permissions: Send Messages, Read Message History, Manage Channels, Manage Roles, Kick Members, Ban Members, Moderate Members, View Audit Log, Manage Messages, Manage Threads, Add Reactions, Manage Guild, Manage Webhooks, Manage Events, Create Instant Invite

  6. 生成されたURLをコピーし、ボットをサーバーに招待する


利用可能なツール (91)

発見とナビゲーション

ツール

説明

discord_list_guilds

ボットが接続しているすべてのサーバーを一覧表示

discord_get_guild_info

詳細なギルド情報を取得(名前、メンバー、チャンネル、ロール、ブースト)

discord_list_channels

カテゴリ別にグループ化されたギルド内の全チャンネルを一覧表示

discord_find_channel_by_name

名前でチャンネルを検索(部分一致)

メッセージ (18ツール)

ツール

説明

discord_read_messages

テキストチャンネルから最新のN件のメッセージを読み取る

discord_send_message

プレーンテキストメッセージを送信

discord_reply_message

特定のメッセージに返信する

discord_edit_message

ボットが送信したメッセージを編集

discord_delete_message

特定のメッセージを削除

discord_add_reaction

メッセージにリアクション絵文字を追加

discord_remove_reactions

リアクションを削除(すべて、絵文字ごと、またはユーザーごと)

discord_get_reactions

特定の絵文字でリアクションしたユーザーを一覧表示

discord_create_thread

メッセージから、または単独でスレッドを作成

discord_bulk_delete_messages

複数のメッセージを一括削除 (2-100)

discord_send_embed

すべてのオプションを備えたリッチ埋め込みを送信

discord_edit_embed

ボットが以前に送信した埋め込みを編集

discord_send_multiple_embeds

1つのメッセージで最大10個の埋め込みを送信

discord_pin_message

メッセージをピン留め/解除

discord_fetch_pinned_messages

チャンネル内のすべてのピン留めメッセージを一覧表示

discord_search_messages

キーワードでメッセージを検索 (最新100件)

discord_crosspost_message

アナウンスチャンネルのフォロワーにメッセージを公開

discord_forward_message

メッセージを別のチャンネルに転送

チャンネル (8ツール)

ツール

説明

discord_create_channel

テキスト、ボイスチャンネル、またはカテゴリを作成

discord_delete_channel

チャンネルを削除

discord_edit_channel

名前、トピック、低速モード、NSFWフラグを編集

discord_move_channel

チャンネルをカテゴリ内に移動/外へ移動

discord_clone_channel

権限設定を含めてチャンネルを複製

discord_set_channel_position

カテゴリ内での表示順序を設定

discord_follow_announcement_channel

アナウンスチャンネルをフォロー

discord_lock_channel_permissions

親カテゴリと権限を同期

チャンネル権限 (6ツール)

ツール

説明

discord_get_channel_permissions

チャンネル上のすべての権限オーバーライドを一覧表示

discord_set_role_permission

チャンネル上のロールに対して権限を許可/拒否

discord_set_member_permission

チャンネル上のメンバーに対して権限を許可/拒否

discord_reset_channel_permissions

すべてのオーバーライドを削除(継承状態にリセット)

discord_copy_permissions

あるチャンネルから別のチャンネルへオーバーライドをコピー

discord_audit_permissions

すべてのチャンネルに対する完全な権限監査

メンバー (11ツール)

ツール

説明

discord_list_members

ロールを含むギルドメンバーを一覧表示

discord_get_member_info

詳細なメンバー情報(ロール、権限、参加日)

discord_search_members

ユーザー名またはニックネームでメンバーを検索

discord_set_nickname

メンバーのニックネームを設定またはクリア

discord_kick_member

メンバーをキック

discord_ban_member

メンバーをBAN(オプションで最近のメッセージを削除)

discord_unban_member

ユーザーのBANを解除

discord_bulk_ban

複数のユーザーを一括BAN(レイド対策)

discord_list_bans

BANされたユーザーを一覧表示

discord_timeout_member

メンバーをタイムアウト(0で解除)

discord_prune_members

非アクティブなメンバーを削除(ドライラン機能付き)

ロール (9ツール)

ツール

説明

discord_list_roles

権限とメンバー数を含む全ロールを一覧表示

discord_create_role

新しいロールを作成

discord_edit_role

ロールを編集(名前、色、権限、表示設定、メンション可否)

discord_delete_role

ロールを削除

discord_add_role

メンバーにロールを付与

discord_remove_role

メンバーからロールを剥奪

discord_get_role_members

特定のロールを持つ全メンバーを一覧表示

discord_set_role_position

階層内でのロールの順序を変更

discord_set_role_icon

ロールにカスタムアイコンまたはUnicode絵文字を設定

フォーラム (10ツール)

ツール

説明

discord_get_forum_channels

ギルド内の全フォーラムチャンネルを一覧表示

discord_create_forum_channel

新しいフォーラムチャンネルを作成

discord_create_forum_post

フォーラム内に投稿/スレッドを作成

discord_get_forum_post

投稿の詳細とメッセージを取得

discord_list_forum_threads

スレッドを一覧表示(アクティブ + アーカイブ済み)

discord_reply_to_forum

フォーラム投稿に返信

discord_delete_forum_post

フォーラムスレッドを削除

discord_get_forum_tags

利用可能なタグを取得

discord_set_forum_tags

フォーラムのタグを設定/更新

discord_update_forum_post

タイトル、アーカイブ状態、ロック状態、タグを更新

Webhooks (8ツール)

ツール

説明

discord_create_webhook

チャンネルにWebhookを作成

discord_send_webhook_message

Webhook経由で送信(カスタムユーザー名/アバター、埋め込み)

discord_edit_webhook

Webhookの名前、アバター、またはチャンネルを編集

discord_delete_webhook

Webhookを削除

discord_list_webhooks

チャンネルまたはギルドのWebhookを一覧表示

discord_edit_webhook_message

Webhookが送信したメッセージを編集

discord_delete_webhook_message

Webhookが送信したメッセージを削除

discord_fetch_webhook_message

特定のWebhookメッセージを取得

スケジュールイベント (7ツール)

ツール

説明

discord_list_scheduled_events

ギルド内の全スケジュールイベントを一覧表示

discord_get_scheduled_event

スケジュールイベントの詳細情報を取得

discord_create_scheduled_event

ボイス、ステージ、または外部イベントを作成

discord_edit_scheduled_event

既存のスケジュールイベントを編集

discord_delete_scheduled_event

スケジュールイベントを削除

discord_get_event_subscribers

「興味あり」としたユーザーを取得

discord_create_event_invite

イベントにリンクされた招待を作成

ダイレクトメッセージ

ツール

説明

discord_send_dm

ユーザーIDを指定してダイレクトメッセージを送信

招待 (5ツール)

ツール

説明

discord_list_invites

ギルド内の全アクティブな招待を一覧表示

discord_list_channel_invites

特定のチャンネルの招待を一覧表示

discord_get_invite

コードで招待の詳細を取得

discord_create_invite

チャンネルの招待リンクを作成

discord_delete_invite

招待を取り消す

モデレーションとスクリーニング

ツール

説明

discord_get_audit_log

ギルドの監査ログを取得

discord_get_membership_screening

メンバーシップスクリーニングフォームを取得

discord_update_membership_screening

新規メンバー用のスクリーニングルールを更新

統計

ツール

説明

discord_get_server_stats

サーバー統計: メンバー数、チャンネル数、ロール数、ブーストレベル


使用例

"List all servers the bot is in"
"Read the last 10 messages in #general"
"Send 'Hello everyone!' to the announcements channel"
"Create a forum channel called 'feedback' with tags Bug, Feature, Question"
"Show the full permission audit for the server"
"Create a webhook on #notifications and send a test message"
"Ban user 112233445566 and delete their messages from the last 3 days"
"Create an event called 'Game Night' for next Friday at 8pm"
"List all upcoming events in the server"
"Create a permanent invite for #general"
"List all active invites and delete expired ones"
"Send a DM to user 112233445566 saying 'Your build passed!'"
"Search for members named 'john'"
"List all banned users in the server"
"Show all pinned messages in #general"
"Forward that message to #announcements"

Discord IDの検索

Discordで開発者モードを有効にします: 設定 > 詳細設定 > 開発者モード

その後、サーバー、チャンネル、またはユーザーを右クリック > IDをコピー


プロジェクト構造

discord-mcp/
├── src/
│   ├── index.ts             ← Entry point (MCP server + transport)
│   ├── client.ts            ← Discord client + shared helpers
│   ├── constants.ts         ← Shared constants (limits, defaults)
│   └── tools/
│       ├── index.ts         ← Tool registry
│       ├── types.ts         ← Shared TypeScript interfaces
│       ├── discovery.ts     ← Guild/channel discovery
│       ├── messages.ts      ← Message CRUD, reactions, threads, embeds
│       ├── channels.ts      ← Channel management
│       ├── permissions.ts   ← Permission overwrites
│       ├── members.ts       ← Member management
│       ├── roles.ts         ← Role CRUD and assignment
│       ├── moderation.ts    ← Audit log
│       ├── screening.ts     ← Membership screening
│       ├── stats.ts         ← Server statistics
│       ├── forums.ts        ← Forum channels, posts, tags
│       ├── webhooks.ts      ← Webhook management
│       ├── scheduledEvents.ts ← Scheduled events
│       ├── invites.ts        ← Invite management
│       └── dm.ts             ← Direct messages
├── .github/workflows/       ← CI/CD (build check + auto release)
├── Dockerfile
├── .dockerignore
├── .env.example
├── package.json
├── tsconfig.json
├── CHANGELOG.md
├── CONTRIBUTING.md
├── SECURITY.md
└── README.md

新しいツールの追加

  1. src/tools/に新しいファイルを作成 (例: events.ts)

  2. definitions (ツールスキーマ) と handle() (ツールロジック) をエクスポート

  3. src/tools/index.tsmodules配列にインポートして追加


セキュリティ

  • DiscordトークンをGitにコミットしないでください

  • 環境変数または.envファイル(バージョン管理対象外)を使用してください

  • ボットには必要な権限のみを付与してください


貢献

貢献を歓迎します!

  1. リポジトリをフォーク

  2. フィーチャーブランチを作成 (git checkout -b feature/my-feature)

  3. モジュール構造に従う — 新しいツールの追加を参照

  4. 変更をコミットし、プルリクエストを作成


ライセンス

MIT — 詳細はLICENSEを参照してください。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PaSympa/discord-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server