Discord服务器管理工具

一个基于Model Context Protocol的Discord服务器管理工具,提供角色、权限、频道、成员、消息等全面的服务器管理功能。

  • by Kogollones
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Kogollones/mcp-discord

使用说明

MCP Discord扩展

使用高级服务器管理功能断开MCP服务器的连接

扩展的 模型上下文协议 Discord服务器。分叉自 barryyip0625/mcp不一致 具有用于完整服务器管理的附加功能。


特性

MCP工具

类别 功能
角色 创建、编辑、删除、分配、删除具有完全权限控制的角色
权限 设置、获取、删除角色/成员的频道权限覆盖
频道 文本、语音、类别-创建、编辑、删除、组织
成员 列出成员,获取详细信息,管理角色
消息 发送、读取、编辑、删除、批量删除、固定、移动
反应 添加、删除、多个反应
论坛 创建帖子、回复、管理论坛频道
网络钩子 通过webhooks创建、编辑、删除和发送消息
批次 在一次调用中执行多个操作

高级功能

特性 描述
缓存 基于TTL的内存缓存,用于行会、频道、角色和成员
速率限制 具有批处理和顺序执行的优先级队列(高/正常/低)
消毒 Discord限制的输入验证(雪花、名称、消息)
配置 使用CLI>ENV>文件>默认优先级进行集中配置
CLI工具 用于常见Discord操作的命令行界面
例子 用于测试和自动化的即用型脚本

快速开始

需求

  • Node.js v20.0.0或更高版本
  • Discord机器人 具有管理员权限
  • 机器人令牌 从 Discord开发者门户

安装

git clone https://github.com/Kogollones/mcp-discord.git
cd mcp-discord
npm install

快速测试

# Create .env file
echo "DISCORD_TOKEN=your_bot_token_here" > .env

# Test connection
node cli.js login

CLI工具

node cli.js help                    # Show all commands
node cli.js login                   # Test connection

# Server info
node cli.js list-roles
node cli.js list-channels
node cli.js list-members

# Channels
node cli.js channel-create --name my-channel
node cli.js channel-create --name private --private --users user1,user2
node cli.js channel-delete --id 123456789

# Messages
node cli.js message-send --channel 123456789 --message "Hello!"

# Roles
node cli.js role-create --name "Admin" --color "#FF0000"

配置

环境变量(推荐)

创建 .env 文件:

DISCORD_TOKEN=your_discord_bot_token_here
DISCORD_GUILD_ID=your_guild_id_here

克劳德桌面/克劳德代码

增添 claude_desktop_config.json:

{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["path/to/mcp-discord/build/index.js", "--token", "YOUR_TOKEN"]
    }
  }
}

MCP工具参考

服务器和登录

工具 说明
discord_login 使用Discord进行身份验证
discord_get_server_info 获取服务器详细信息
discord_send 向频道发送消息

频道

工具 说明
discord_create_text_channel 创建文本频道
discord_create_voice_channel 创建语音频道
discord_edit_channel 编辑频道属性
discord_delete_channel 删除频道
discord_create_category 创建类别
discord_edit_category 编辑类别
discord_delete_category 删除类别

角色

工具 说明
discord_list_roles 列出所有角色
discord_create_role 创建具有颜色/权限的角色
discord_edit_role 修改角色
discord_delete_role 删除角色
discord_assign_role 为成员分配角色
discord_remove_role 从成员中删除角色

权限

工具 说明
discord_set_channel_permissions 为角色/成员设置允许/拒绝
discord_get_channel_permissions 查看权限覆盖
discord_remove_channel_permissions 删除覆盖

成员

工具 说明
discord_list_members 列出所有成员
discord_get_member 获取会员详细信息

消息

工具 说明
discord_read_messages 读取频道消息
discord_delete_message 删除邮件
discord_bulk_delete_messages 最多删除100条消息
discord_edit_message 编辑消息
discord_pin_message Pin消息
discord_unpin_message 不愉快的信息
discord_move_messages 在通道之间移动

反应

工具 说明
discord_add_reaction 添加表情符号反应
discord_add_multiple_reactions 添加多种反应
discord_remove_reaction 消除反应

论坛

工具 说明
discord_get_forum_channels 列出论坛
discord_create_forum_post 创建帖子
discord_get_forum_post 获取帖子
discord_reply_to_forum 回复帖子
discord_delete_forum_post 删除帖子

网络钩子

工具 说明
discord_create_webhook 创建webhook
discord_send_webhook_message 通过webhook发送
discord_edit_webhook 编辑webhook
discord_delete_webhook 删除webhook

批次

工具 说明
discord_batch_operations 执行多个操作

例子

看 examples/ 文件夹:

脚本 描述
test-connection.js 快速连接测试
create-private-channel.js 创建私人频道
send-announcement.js 发送嵌入公告
list-server-info.js 显示服务器信息
bulk-role-assign.js 批量分配角色
node examples/test-connection.js

依赖项

包装 描述
@modelcontextprotocol/sdk MCP sdk
discord.js discord API
zod 模式验证
express HTTP服务器
dotenv 环境变量

学分

许可证

麻省理工学院