Skip to main content
Glama

mcp-discord

Discord用の最も完全なオープンソースMCPサーバー。

License: MIT Node.js TypeScript GitHub stars

あらゆるMCPクライアント(Claude、Cursor、カスタムエージェント)に、メッセージ、モデレーション、チャンネル、ロールなど、Discordの完全な制御権を与えます。delfus.appでの本番運用から生まれ、コミュニティのためにオープンソース化されました。

ポルトガル語 (BR)


なぜ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:http

MCPクライアントの設定

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ツール)

ツール

説明

list_servers

ボットがアクセス可能なすべてのDiscordサーバーを一覧表示

get_server_info

特定のサーバーに関する詳細情報を取得

チャンネル (7ツール)

ツール

説明

get_channels

サーバー内のすべてのチャンネルを一覧表示

get_channel

チャンネルの詳細情報を取得

create_channel

テキスト、ボイス、カテゴリー、アナウンス、フォーラム、またはステージチャンネルを作成

edit_channel

チャンネル名、トピック、NSFW、スローモード、位置、カテゴリーを編集

delete_channel

チャンネルを完全に削除

create_thread

チャンネル内にスレッドを作成(メッセージから作成可能)

archive_thread

スレッドをアーカイブ

メッセージ (8ツール)

ツール

説明

send_message

テキスト、リッチエンベッド、返信を含むメッセージを送信

read_messages

ページネーションを使用して最近のメッセージを読み取る(最大100件)

search_messages

コンテンツ、作成者、またはチャンネルでメッセージを検索

edit_message

ボットのメッセージを編集

delete_message

単一のメッセージを削除

delete_messages_bulk

2〜100件のメッセージを一括削除(14日以内のもの)

pin_message

メッセージをピン留め

unpin_message

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

リアクション (2ツール)

ツール

説明

add_reaction

絵文字リアクションを追加(Unicodeまたはカスタム)

remove_reaction

リアクションを削除

メンバー / ユーザー (4ツール)

ツール

説明

list_members

ページネーションを使用してサーバーメンバーを一覧表示

get_member

メンバーの詳細情報を取得(ロール、ニックネーム、参加日)

get_user

IDで任意のDiscordユーザーの情報を取得

search_members

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

ロール (4ツール)

ツール

説明

list_roles

権限、色、メンバー数を含むすべてのロールを一覧表示

create_role

新しいロールを作成

add_role

メンバーにロールを追加

remove_role

メンバーからロールを削除

モデレーション (4ツール)

ツール

説明

timeout_user

ユーザーを一時的にミュート(最大28日間)

kick_user

サーバーからユーザーをキック

ban_user

メッセージ削除オプション付きでユーザーをBAN

unban_user

ユーザーのBANを解除

監視 (2ツール)

ツール

説明

get_audit_log

サーバーの監査ログを表示(BAN、キック、変更)

check_mentions

ボットまたはユーザーへの最近の@メンションを検索


アーキテクチャ

┌─────────────────────────────────────────────────┐
│                  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_TOKEN

はい

Discordボットトークン

DISCORD_USE_GATEWAY

いいえ

false

リアルタイム機能のためにDiscord WebSocketゲートウェイに接続

MCP_TRANSPORT

いいえ

stdio

トランスポートモード: stdio または http

MCP_PORT

いいえ

3100

HTTPサーバーポート (MCP_TRANSPORT=httpの場合のみ)

MCP_AUTH_TOKEN

いいえ

HTTPトランスポート認証用のBearerトークン


貢献

貢献を歓迎します!開発環境のセットアップ、コードスタイル、新しいツールの追加方法についてはCONTRIBUTING.mdを参照してください。


ライセンス

MIT


作者

@goul4rtによって作成されました。delfus.appから生まれ、コミュニティのためにオープンソース化されました。

-
security - not tested
A
license - permissive license
-
quality - not tested

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