mcp-discord
@devli13/mcp-discord
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ボットの作成
https://discord.com/developers/applications にアクセスし、New Application をクリックします。
アプリケーションに Bot を追加します。
ボットトークンをコピーします。これが
DISCORD_BOT_TOKENになります。OAuth2 URLジェネレーター(スコープ:
bot)を使用して、ボットをサーバーに招待します。MCPに実行させたい操作(例:削除のための「メッセージの管理」、タイムアウトのための「メンバーのモデレーション」)に基づいて権限を選択してください。
2. MCPクライアントへの接続
Claude Code:
claude mcp add discord \
--env DISCORD_BOT_TOKEN=<your-token> \
-- npx -y @devli13/mcp-discordPaperclip 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 Intent と Message Content Intent を有効にしてください。これらはほとんどのMCP操作には不要で、特定のエンドポイントでのみ必要となります。
ツールリファレンス
すべてのツールには discord_* というプレフィックスが付いており、JSONブロブ(成功時)またはフォーマットされたエラーメッセージ(失敗時)を返します。例外はスローされず、すべてのツールが使用可能な文字列結果を返します。
メッセージ (8)
ツール | 目的 |
| チャンネルへの送信。埋め込み、返信、メンション制御をサポート |
| ボット自身のメッセージの編集 |
| メッセージを1件削除(ボットまたは他者のメッセージ、「メッセージの管理」権限が必要) |
| 2〜100件のメッセージ(14日以内)を1回の呼び出しで削除 |
| IDでメッセージを1件取得 |
| ページネーションされたチャンネル履歴(before/after/aroundカーソル) |
| ピン留めの管理 |
リアクション (3)
ツール | 目的 |
| ボットがリアクションを追加 |
| ボットまたはユーザーのリアクションを削除 |
| 特定の絵文字でリアクションしたユーザーの一覧 |
チャンネルとスレッド (5)
ツール | 目的 |
| ギルド内の全チャンネル |
| 単一チャンネルの詳細 |
| 新しいスレッドを作成(公開または非公開、アンカー付きまたはスタンドアロン) |
| ギルド内の全アクティブスレッド |
| 「ボットが入力中…」インジケーターをトリガー |
モデレーション (6)
ツール | 目的 |
| メンバープロフィール(ロール、参加日、タイムアウト状態) |
| ページネーションされたメンバーリスト(Server Membersインテントが必要) |
|
|
| ギルドから追放 |
| ロール管理 |
サーバー情報 (4)
ツール | 目的 |
| ボットが参加している全ギルド |
| 単一ギルドの詳細 |
| 全ロール(位置順) |
| 最近の監査ログエントリ(ユーザー、アクションなどでフィルタリング) |
含まれていない機能(意図的):
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つのレート制限レイヤーがあります:
ルートごと — 各APIエンドポイントは独立したバケットを持っています。このMCPは、429エラーを回避するために(メソッド + ルートテンプレート)ごとにリクエストをシリアル化します。
グローバル — ボットごと、全エンドポイント共通。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 を参照してください。
Maintenance
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
- AlicenseAqualityDmaintenanceAn MCP server that allows Claude to interact with Discord by providing tools for sending/reading messages and managing server resources through Discord's API.619159MIT
- AlicenseAqualityDmaintenanceAn 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.6223MIT
- Flicense-qualityCmaintenanceAn 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
- Alicense-qualityDmaintenanceComprehensive 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.1591MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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