@el-el-san/discord-mcp
v1.3.0
Published
MCP server for Discord integration with messaging and media file capabilities (images, videos, audio, documents)
Readme
Discord MCP Server
Discord Model Context Protocol (MCP) server that provides tools for interacting with Discord channels. This server allows you to send messages, send images, retrieve messages, and retrieve images from Discord channels.
機能 (Features)
- メッセージ送信: Discordチャンネルにテキストメッセージを送信
- 画像送信: Discordチャンネルに画像ファイルを送信
- メッセージ取得: Discordチャンネルからメッセージを取得
- 画像取得: Discordチャンネルから画像を取得
インストール (Installation)
npxを使用した簡単インストール(推奨)
# パッケージを直接実行(自動インストール)
npx @el-el-san/discord-mcpClaude Codeでの設定
Claude Codeの設定ファイルに以下を追加:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"discord": {
"command": "npx",
"args": ["--yes", "@el-el-san/discord-mcp@latest"],
"env": {
"DISCORD_BOT_TOKEN": "${DISCORD_BOT_TOKEN}"
}
}
}
}セットアップ (Setup)
1. Discordボットの作成
- Discord Developer Portal にアクセス
- "New Application" をクリックして新しいアプリケーションを作成
- "Bot" セクションに移動して "Add Bot" をクリック
- Bot Token をコピーして保存
2. Bot権限の設定
Bot に以下の権限を付与してください:
Send MessagesRead Message HistoryAttach FilesView Channels
3. プロジェクトのセットアップ
# 依存関係のインストール
npm install
# 環境変数の設定
cp env.example .env
# .envファイルにDiscord Bot Tokenを設定
# TypeScriptのコンパイル
npm run build
# サーバーの起動
npm start4. 環境変数
.env ファイルを作成し、以下の環境変数を設定:
DISCORD_BOT_TOKEN=your_discord_bot_token_here使用可能なツール (Available Tools)
discord_send_message
Discordチャンネルにテキストメッセージを送信します。
パラメータ:
channel_id(string): Discord チャンネル IDmessage(string): 送信するメッセージ内容
discord_send_image
Discordチャンネルに画像を送信します。
パラメータ:
channel_id(string): Discord チャンネル IDimage_path(string): 送信する画像ファイルのローカルパスmessage(string, optional): 画像に添付するメッセージ
discord_get_messages
Discordチャンネルからメッセージを取得します。
パラメータ:
channel_id(string): Discord チャンネル IDlimit(number, optional): 取得するメッセージ数 (デフォルト: 10, 最大: 100)
discord_get_images
Discordチャンネルから画像を取得します。
パラメータ:
channel_id(string): Discord チャンネル IDlimit(number, optional): 検索するメッセージ数 (デフォルト: 50, 最大: 100)
discord_get_messages_advanced
高度な検索機能を使用してメッセージを取得します。日時範囲指定、キーワード検索、ページネーションに対応。
パラメータ:
channel_id(string): Discord チャンネル IDlimit(number, optional): 取得するメッセージ数 (デフォルト: 50, 最大: 100)before(string, optional): 指定したメッセージIDより前のメッセージを取得after(string, optional): 指定したメッセージIDより後のメッセージを取得start_date(string, optional): 開始日時 (ISO形式, 例: 2024-01-01T00:00:00Z)end_date(string, optional): 終了日時 (ISO形式, 例: 2024-12-31T23:59:59Z)keyword(string, optional): メッセージ内容で検索するキーワードauthor(string, optional): 特定ユーザー名またはIDでフィルタhas_attachments(boolean, optional): 添付ファイル付きメッセージのみ取得
開発 (Development)
# 開発モードで起動
npm run dev
# TypeScriptコンパイル
npm run build手動インストール(開発者向け)
MCP サーバーの設定
- プロジェクトをクローン・ビルド:
git clone https://github.com/el-el-san/discord-mcp.git
cd discord-mcp
npm install
npm run build- Claude Code の設定ファイルに以下を追加:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["/path/to/discord-mcp/build/index.js"],
"env": {
"DISCORD_BOT_TOKEN": "your_discord_bot_token_here"
}
}
}
}- Claude Code を再起動
使用例
Claude Code で以下のようにDiscordツールを使用できます:
チャンネル ID 123456789 に "Hello, World!" というメッセージを送信してチャンネル ID 123456789 から最新の10件のメッセージを取得して/path/to/image.png をチャンネル ID 123456789 に送信して高度な検索の例:
チャンネル ID 123456789 から2024年1月のメッセージを取得してチャンネル ID 123456789 から "error" というキーワードを含むメッセージを検索してチャンネル ID 123456789 から特定ユーザー "username" のメッセージだけを取得して注意事項 (Notes)
- Discord Bot Token は機密情報です。
.envファイルを git にコミットしないでください - チャンネル ID を取得するには、Discord で開発者モードを有効にし、チャンネルを右クリックして "Copy ID" を選択してください
- Bot がチャンネルにアクセスできるよう、適切な権限が設定されていることを確認してください
- Claude Code の設定ファイルのパスは絶対パスで指定してください
