Skip to main content
Glama

@devli13/mcp-discord

npm License: MIT

Discord用のMCPサーバーです。Claude Code、Paperclipエージェント、Gemini CLI、またはその他のMCP互換クライアントから、メッセージの送信、モデレーション、チャンネル管理、サーバーの調査を行うことができます。

純粋なRESTラッパーです。Gatewayは使用せず、データベースもありません。 Discordのv10 APIを26個の十分にドキュメント化されたツールとして提供し、ルートごとのレート制限と構造化されたエラー結果をサポートしています。


なぜこれが必要か

DiscordのAPIは広大で、生の curl で呼び出すにはエージェントにとって不親切です。エージェントはレート制限に抵触したり、429エラーを適切に処理できなかったり、監査ログの理由付けに失敗したり、ページネーションのカーソルを忘れたりします。このMCPはそれらを一度に解決するため、エージェントは「そのスパムメッセージを削除する」「#mod-logに日次ダイジェストを投稿する」「@userを1時間タイムアウトにする」といった意図に集中できます。

人間にとっても便利です。Claude Codeに接続すれば、「Discordの#devチャンネルの過去50件のメッセージを要約して」と言うだけで、Claudeがそれを実行してくれます。


Related MCP server: Discord Bridge MCP Server

インストール

npm install -g @devli13/mcp-discord

またはnpx経由(インストール不要):

DISCORD_BOT_TOKEN=<your-token> npx -y @devli13/mcp-discord

セットアップ

1. Discordボットの作成

  1. https://discord.com/developers/applications にアクセスし、New Application をクリックします。

  2. アプリケーションに Bot を追加します。

  3. ボットトークンをコピーします。これが DISCORD_BOT_TOKEN になります。

  4. OAuth2 URLジェネレーター(スコープ: bot)を使用して、ボットをサーバーに招待します。MCPに実行させたい操作(例:削除のための「メッセージの管理」、タイムアウトのための「メンバーのモデレーション」)に基づいて権限を選択してください。

2. MCPクライアントへの接続

Claude Code:

claude mcp add discord \
  --env DISCORD_BOT_TOKEN=<your-token> \
  -- npx -y @devli13/mcp-discord

Paperclip mcp-gateway (.mcp.json):

{
  "mcpServers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@devli13/mcp-discord"],
      "env": {
        "DISCORD_BOT_TOKEN": "<your-token>"
      }
    }
  }
}

Gemini CLI (~/.gemini/config.json):

{
  "mcpServers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@devli13/mcp-discord"]
    }
  }
}

3. (オプション)特権インテントの有効化

サーバーメンバーの一覧表示 (discord_list_members) を行いたい場合や、インバウンドイベント用のコンパニオンプラグインと併用する場合は、ボットのDeveloper Portal設定で Server Members IntentMessage Content Intent を有効にしてください。これらはほとんどのMCP操作には不要で、特定のエンドポイントでのみ必要となります。


ツールリファレンス

すべてのツールには discord_* というプレフィックスが付いており、JSONブロブ(成功時)またはフォーマットされたエラーメッセージ(失敗時)を返します。例外はスローされず、すべてのツールが使用可能な文字列結果を返します。

メッセージ (8)

ツール

目的

discord_send_message

チャンネルへの送信。埋め込み、返信、メンション制御をサポート

discord_edit_message

ボット自身のメッセージの編集

discord_delete_message

メッセージを1件削除(ボットまたは他者のメッセージ、「メッセージの管理」権限が必要)

discord_bulk_delete_messages

2〜100件のメッセージ(14日以内)を1回の呼び出しで削除

discord_get_message

IDでメッセージを1件取得

discord_list_messages

ページネーションされたチャンネル履歴(before/after/aroundカーソル)

discord_pin_message / discord_unpin_message

ピン留めの管理

リアクション (3)

ツール

目的

discord_add_reaction

ボットがリアクションを追加

discord_remove_reaction

ボットまたはユーザーのリアクションを削除

discord_get_reactions

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

チャンネルとスレッド (5)

ツール

目的

discord_list_channels

ギルド内の全チャンネル

discord_get_channel

単一チャンネルの詳細

discord_create_thread

新しいスレッドを作成(公開または非公開、アンカー付きまたはスタンドアロン)

discord_list_active_threads

ギルド内の全アクティブスレッド

discord_send_typing

「ボットが入力中…」インジケーターをトリガー

モデレーション (6)

ツール

目的

discord_get_member

メンバープロフィール(ロール、参加日、タイムアウト状態)

discord_list_members

ページネーションされたメンバーリスト(Server Membersインテントが必要)

discord_timeout_user

communication_disabled_until を介したミュート(最大28日、0で解除)

discord_kick_user

ギルドから追放

discord_add_role / discord_remove_role

ロール管理

サーバー情報 (4)

ツール

目的

discord_list_guilds

ボットが参加している全ギルド

discord_get_guild

単一ギルドの詳細

discord_list_roles

全ロール(位置順)

discord_get_audit_log

最近の監査ログエントリ(ユーザー、アクションなどでフィルタリング)

含まれていない機能(意図的):

  • ban/unban — 意図的な制限です。DiscordのUIを使用してください。不可逆的なアクションはエージェントの呼び出し1回で実行されるべきではありません。

  • チャンネルの作成/削除/編集 — 影響範囲が大きいため、UIを使用してください。

  • Webhook CRUD — ほとんどのエージェントフローでは不要です。将来のリリースで追加する可能性があります。

  • 音声操作、スタンプ/絵文字管理 — v0.1のスコープ外です。


例: Claude Codeによるチャンネルの要約

User: Summarize the last 30 messages in the #dev channel of my Discord server, guild ID 1234...

Claude (calls discord_list_channels → finds #dev → calls discord_list_messages → writes summary)

例: Paperclipエージェントによる日次ダイジェスト

// From an agent's prompt:
"Post the daily digest to channel 1234. Summarize the last 24h of activity
using discord_list_messages with limit=100, then format as an embed via
discord_send_message."

エラーハンドリング

すべてのツールは使用可能なテキスト結果を返します。エラー発生時:

Error (DISCORD_50001, HTTP 403): Missing Access
Details: [...]
(This error is transient and may succeed on retry.)

MCPは、429(レート制限)および5xx(サーバーエラー)に対する再試行を、指数バックオフを用いて内部的に処理します。


レート制限

Discordには2つのレート制限レイヤーがあります:

  1. ルートごと — 各APIエンドポイントは独立したバケットを持っています。このMCPは、429エラーを回避するために(メソッド + ルートテンプレート)ごとにリクエストをシリアル化します。

  2. グローバル — ボットごと、全エンドポイント共通。MCPはグローバルに Retry-After ヘッダーを尊重します。

これについて意識する必要はありません。もしグローバル制限に繰り返し抵触する場合は、人間が介入すべき操作を行っている可能性が高いです。


セキュリティ

  • ボットトークンをコミットしないでください。 このMCPは起動時に DISCORD_BOT_TOKEN 環境変数から読み取ります。

  • 最小権限の招待URLを使用してください。 「メッセージの管理」だけで十分な場合に、ボットに「管理者」権限を与えないでください。

  • 監査ログの理由 — すべてのモデレーションツールは、Discordの監査ログに表示される reason 引数を受け付けます。活用してください。


開発

git clone https://github.com/devli13/mcp-discord.git
cd mcp-discord
npm install
npm test           # smoke tests (no live Discord calls)
npm run lint       # syntax check all files
npm start          # boot server over stdio (needs DISCORD_BOT_TOKEN)

コンパニオンプロジェクト — インバウンドイベント

このMCPはアウトバウンドのREST呼び出し(送信、削除、モデレーション)を処理します。Discord Gateway WebSocketを保持しないため、インバウンドイベント(ボットへの@メンション、DM、新規メンバーの参加など)には反応できません。

Paperclip環境でDiscordのインバウンドイベントを処理するには、@devli13/paperclip-plugin-discord を使用してください。これは @mvanhorn/paperclip-plugin-discord のフォークであり、自由形式の@メンションルーティング、DMサポート、コンテキストごとのシリアル化されたメッセージキュー、ダウンタイム時のメンションバックフィル機能を備えています。

これら2つのプロジェクトは連携するように設計されています。プラグインがイベントを受信してエージェントを呼び出し、エージェントがこのMCPを使用して応答やモデレーションを行います。セットアップに応じて、どちらか一方または両方を使用してください。

帰属表示

ATTRIBUTION.md を参照してください。要約: @mvanhorn による paperclip-plugin-discord のフォークと並行して構築されました。そのGateway処理がここでの設計パターンのインスピレーションとなっています。

ライセンス

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

Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that allows Claude to interact with Discord by providing tools for sending/reading messages and managing server resources through Discord's API.
    6
    19
    159
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides native Discord tools for Claude Code, enabling bidirectional communication with remote agents or humans via the Discord REST API. It allows users to send messages, read channel history, and manage reactions directly from their local environment.
    6
    22
    3
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    An MCP server that enables Claude Desktop to interact with Discord through a dedicated bot. It allows users to list channels, read message history, and send messages directly from the AI interface.
    2
  • A
    license
    -
    quality
    D
    maintenance
    Comprehensive Discord MCP server with 66 tools that provides rich message context including emoji reactions, thread indicators, and attachment metadata inline. Enables AI assistants to interact with Discord servers for messaging, moderation, roles, channels, and more.
    159
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.

  • Augments MCP Server - A comprehensive framework documentation provider for Claude Code

  • An MCP server that integrates with Discord to provide AI-powered features.

View all MCP Connectors

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/devli13/mcp-discord'

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