MCP Discord
mcp-discord
Discord用の最も完全なオープンソースMCPサーバー。
あらゆるMCPクライアント(Claude、Cursor、カスタムエージェント)に、メッセージ、モデレーション、チャンネル、ロールなど、Discordの完全な制御権を与えます。delfus.appでの本番運用から生まれ、コミュニティのためにオープンソース化されました。
なぜmcp-discordなのか?
8つのカテゴリーにわたる30以上のツール — サーバー、チャンネル、メッセージ、リアクション、メンバー、ロール、モデレーション、監視
デュアルモード — スタンドアロン(独自のプロセス)で実行するか、既存のdiscord.jsボットにプラグインとして統合するかを選択可能
RESTのみまたはGateway — 軽量なRESTのみのモードか、リアルタイム機能のためのフルWebSocketゲートウェイかを選択可能
2つのトランスポート — stdio(デフォルト、Claude Desktop / Claude Code用)またはBearerトークン認証付きHTTP
本番環境で実証済み — delfus.appで構築され、本番環境で使用されています
クイックスタート
前提条件
インストール
# Clone the repository
git clone https://github.com/goul4rt/mcp-discord.git
cd mcp-discord
# Install dependencies
npm install
# Build
npm run build設定
cp .env.example .env.envを編集し、Discordボットトークンを追加します:
DISCORD_TOKEN=your-bot-token-here実行
# stdio transport (default — for MCP clients like Claude)
npm start
# HTTP transport (for remote/web clients)
npm run start:httpMCPクライアントの設定
Claude Desktop / Claude Code
MCP設定ファイルに追加します:
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["dist/standalone.js"],
"cwd": "/path/to/mcp-discord",
"env": {
"DISCORD_TOKEN": "your-bot-token-here"
}
}
}
}Gatewayを使用する場合(リアルタイム機能)
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["dist/standalone.js"],
"cwd": "/path/to/mcp-discord",
"env": {
"DISCORD_TOKEN": "your-bot-token-here",
"DISCORD_USE_GATEWAY": "true"
}
}
}
}ツール
サーバー / ギルド (2ツール)
ツール | 説明 |
| ボットがアクセス可能なすべてのDiscordサーバーを一覧表示 |
| 特定のサーバーに関する詳細情報を取得 |
チャンネル (7ツール)
ツール | 説明 |
| サーバー内のすべてのチャンネルを一覧表示 |
| チャンネルの詳細情報を取得 |
| テキスト、ボイス、カテゴリー、アナウンス、フォーラム、またはステージチャンネルを作成 |
| チャンネル名、トピック、NSFW、スローモード、位置、カテゴリーを編集 |
| チャンネルを完全に削除 |
| チャンネル内にスレッドを作成(メッセージから作成可能) |
| スレッドをアーカイブ |
メッセージ (8ツール)
ツール | 説明 |
| テキスト、リッチエンベッド、返信を含むメッセージを送信 |
| ページネーションを使用して最近のメッセージを読み取る(最大100件) |
| コンテンツ、作成者、またはチャンネルでメッセージを検索 |
| ボットのメッセージを編集 |
| 単一のメッセージを削除 |
| 2〜100件のメッセージを一括削除(14日以内のもの) |
| メッセージをピン留め |
| メッセージのピン留めを解除 |
リアクション (2ツール)
ツール | 説明 |
| 絵文字リアクションを追加(Unicodeまたはカスタム) |
| リアクションを削除 |
メンバー / ユーザー (4ツール)
ツール | 説明 |
| ページネーションを使用してサーバーメンバーを一覧表示 |
| メンバーの詳細情報を取得(ロール、ニックネーム、参加日) |
| IDで任意のDiscordユーザーの情報を取得 |
| ユーザー名またはニックネームでメンバーを検索 |
ロール (4ツール)
ツール | 説明 |
| 権限、色、メンバー数を含むすべてのロールを一覧表示 |
| 新しいロールを作成 |
| メンバーにロールを追加 |
| メンバーからロールを削除 |
モデレーション (4ツール)
ツール | 説明 |
| ユーザーを一時的にミュート(最大28日間) |
| サーバーからユーザーをキック |
| メッセージ削除オプション付きでユーザーをBAN |
| ユーザーのBANを解除 |
監視 (2ツール)
ツール | 説明 |
| サーバーの監査ログを表示(BAN、キック、変更) |
| ボットまたはユーザーへの最近の@メンションを検索 |
アーキテクチャ
┌─────────────────────────────────────────────────┐
│ MCP Client │
│ (Claude, Cursor, custom) │
└──────────────────┬──────────────────────────────┘
│ stdio or HTTP
┌──────────────────▼──────────────────────────────┐
│ MCP Server │
│ (transport + tool routing) │
└──────────────────┬──────────────────────────────┘
│
┌──────────────────▼──────────────────────────────┐
│ Tool Registry │
│ (30 tools, Zod validation) │
└──────────────────┬──────────────────────────────┘
│
┌──────────────────▼──────────────────────────────┐
│ DiscordProvider (interface) │
├─────────────────────┬───────────────────────────┤
│ StandaloneProvider │ IntegratedProvider │
│ (own token + REST/ │ (uses host bot's │
│ optional gateway) │ existing connection) │
└─────────────────────┴───────────────────────────┘
│
┌──────────────────▼──────────────────────────────┐
│ Discord API │
└─────────────────────────────────────────────────┘プロバイダーの抽象化: MCPツールは直接discord.jsに触れることはありません。DiscordProviderインターフェースを呼び出し、これには2つの実装があります:
StandaloneProvider — ボットトークンを使用して独自の接続を作成します。REST優先で、オプションでゲートウェイを使用します。別のプロセスとして実行する場合に使用します。
IntegratedProvider — ホストボットから既存のdiscord.js
Clientを受け取ります。オーバーヘッドゼロで、キャッシュとゲートウェイを共有します。既存のボットに埋め込む場合に使用します。
統合ガイド
mcp-discordを既存のdiscord.jsボット内のプラグインとして使用するには:
import { IntegratedProvider, createMcpServer } from 'mcp-discord';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
// Your existing discord.js client
const provider = new IntegratedProvider({ client: myDiscordClient });
await provider.connect();
const server = createMcpServer({ provider });
const transport = new StdioServerTransport();
await server.connect(transport);IntegratedProviderはボットの既存のゲートウェイ接続を使用するため、追加のWebSocket、追加の認証、追加のメモリは必要ありません。
設定リファレンス
変数 | 必須 | デフォルト | 説明 |
| はい | — | Discordボットトークン |
| いいえ |
| リアルタイム機能のためにDiscord WebSocketゲートウェイに接続 |
| いいえ |
| トランスポートモード: |
| いいえ |
| HTTPサーバーポート ( |
| いいえ | — | HTTPトランスポート認証用のBearerトークン |
貢献
貢献を歓迎します!開発環境のセットアップ、コードスタイル、新しいツールの追加方法についてはCONTRIBUTING.mdを参照してください。
ライセンス
作者
@goul4rtによって作成されました。delfus.appから生まれ、コミュニティのためにオープンソース化されました。
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/goul4rt/mcp-discord'
If you have feedback or need assistance with the MCP directory API, please join our Discord server