D
Discord MCP
作者 @mikoto2000
Discord にメッセージを投げる MCP サーバー
创建于 3/7/2026
更新于 about 5 hours ago
README
Repository documentation and setup instructions
discord-mcp
Go 言語で実装した MCP サーバーです。Discord Bot Token を使って Discord チャンネルへの送信とメッセージ取得を行います。
機能
discord_send_message: Discord チャンネルにメッセージ送信discord_recent_messages: Discord チャンネルの最新メッセージ取得discord_list_guilds: Bot から見えるサーバー一覧(guild_id)を取得discord_find_channel_id:guild_id + channel_nameからチャンネルIDを解決discord_send_message_by_channel_name:guild_id + channel_nameで解決して送信
必要環境
- Go 1.22+
- Discord Bot Token (
DISCORD_BOT_TOKEN) - Bot が対象チャンネルにアクセスできること
起動
go run ./cmd/discord-mcp
CLI モード(簡易実行)
MCP サーバーとしてではなく、単発コマンドとしても実行できます。
- guild 一覧取得(
GUILD_ID確認用)
go run ./cmd/discord-mcp --list-guilds
- チャンネル名から
CHANNEL_IDを解決
go run ./cmd/discord-mcp --find-channel-id memo --guild-id <guild_id>
- チャンネルID指定で送信
go run ./cmd/discord-mcp --send "テスト送信" --channel-id <channel_id>
- チャンネル名指定で送信(内部でID解決)
go run ./cmd/discord-mcp --send "テスト送信" --channel-name memo --guild-id <guild_id>
環境変数:
DISCORD_BOT_TOKEN(必須)DISCORD_API_BASE(任意, 既定値:https://discord.com/api/v10)DISCORD_DEFAULT_GUILD_ID(任意,guild_id未指定時の既定値)DISCORD_DEFAULT_CHANNEL_ID(任意,channel_id未指定時の既定値)
MCP クライアント設定例
クライアントごとに設定形式は異なりますが、概念的には次のように stdio サーバーとして登録します。
{
"mcpServers": {
"discord": {
"command": "go",
"args": ["run", "./cmd/discord-mcp"],
"env": {
"DISCORD_BOT_TOKEN": "<your-token>",
"DISCORD_DEFAULT_GUILD_ID": "<your-guild-id>",
"DISCORD_DEFAULT_CHANNEL_ID": "<your-channel-id>"
}
}
}
}
注意
- Discord API のレート制限に注意してください。
- この実装は最小構成です。必要に応じて監査ログや権限制御を追加してください。
- チャンネル名解決は同名チャンネルが複数あるとエラーになります。
快速设置
此服务器的安装指南
安装命令 (包未发布)
git clone https://github.com/mikoto2000/discord-mcp
手动安装: 请查看 README 获取详细的设置说明和所需的其他依赖项。
Cursor 配置 (mcp.json)
{
"mcpServers": {
"mikoto2000-discord-mcp": {
"command": "git",
"args": [
"clone",
"https://github.com/mikoto2000/discord-mcp"
]
}
}
}