README
🚀 MCP Discord扩展
具备高级服务器管理功能的Discord MCP服务器
这是适用于Discord的扩展版模型上下文协议服务器。它派生自 barryyip0625/mcp-discord,并添加了用于完整服务器管理的额外功能。
✨ 主要特性
| 类别 | 功能 | |------|------| | 角色 | 创建、编辑、删除、分配和移除角色,并具备完整的权限控制 | | 权限 | 为角色/成员设置、获取和移除频道权限覆盖 | | 频道 | 可对文本、语音和类别频道进行创建、编辑、删除和组织操作 | | 成员 | 列出成员、获取详细信息并管理角色 | | 消息 | 发送、读取、编辑、删除、批量删除、固定和移动消息 | | 反应 | 添加、移除和设置多个反应 | | 论坛 | 创建帖子、回复和管理论坛频道 | | Webhook | 创建、编辑、删除Webhook并通过其发送消息 | | 批量操作 | 单次调用中执行多个操作 |
🚀 快速开始
要求
- Node.js v20.0.0 或更高版本
- 具有管理员权限的 Discord 机器人
- 从 Discord 开发者门户 获取的 机器人令牌
📦 安装指南
git clone https://github.com/Kogollones/mcp-discord.git
cd mcp-discord
npm install
配置
将以下内容添加到你的Claude桌面 (claude_desktop_config.json) 或Claude代码设置中:
{
"mcpServers": {
"discord": {
"command": "node",
"args": [
"C:/path/to/mcp-discord/build/index.js",
"--config",
"YOUR_DISCORD_BOT_TOKEN"
]
}
}
}
📚 详细文档
服务器与登录
| 工具 | 描述 |
|------|------|
| discord_login | 与Discord进行身份验证 |
| discord_get_server_info | 获取服务器详细信息、频道和成员数量 |
| discord_send | 向任何频道发送消息 |
频道管理
| 工具 | 描述 |
|------|------|
| discord_create_text_channel | 创建文本频道 |
| discord_create_voice_channel | 创建具有比特率/用户限制的语音频道 |
| discord_edit_channel | 编辑名称、主题、类别、位置、NSFW设置和慢速模式 |
| 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 | 固定消息 |
| 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 | 删除帖子 |
Webhook
| 工具 | 描述 |
|------|------|
| discord_create_webhook | 创建Webhook |
| discord_send_webhook_message | 通过Webhook发送消息 |
| discord_edit_webhook | 编辑Webhook |
| discord_delete_webhook | 删除Webhook |
批量操作
| 工具 | 描述 |
|------|------|
| discord_batch_operations | 按顺序执行多个操作 |
权限名称
discord_set_channel_permissions 可用的权限标志如下:
ViewChannel SendMessages ReadMessageHistory
ManageMessages ManageChannels ManageRoles
Connect Speak MuteMembers
DeafenMembers MoveMembers ManageWebhooks
AddReactions AttachFiles EmbedLinks
CreateInstantInvite UseExternalEmojis ManageThreads
SendMessagesInThreads
💻 使用示例
基础用法
对 @everyone 隐藏类别
discord_set_channel_permissions({
channelId: "CATEGORY_ID",
targetId: "EVERYONE_ROLE_ID", // 与公会ID相同
targetType: "role",
deny: ["ViewChannel"]
})
允许角色访问类别
discord_set_channel_permissions({
channelId: "CATEGORY_ID",
targetId: "ROLE_ID",
targetType: "role",
allow: ["ViewChannel", "SendMessages", "ReadMessageHistory"]
})
高级用法
创建带颜色的角色
discord_create_role({
guildId: "SERVER_ID",
name: "Developer",
color: "#3498DB",
hoist: true,
mentionable: true
})
批量删除消息
discord_bulk_delete_messages({
channelId: "CHANNEL_ID",
limit: 50
})
依赖项
| 包 | 版本 | 描述 | |------|------|------| | @modelcontextprotocol/sdk | ^1.25.1 | MCP SDK | | discord.js | ^14.25.1 | Discord API | | zod | ^4.2.1 | 模式验证 | | express | ^5.2.1 | HTTP服务器 | | dotenv | ^17.2.3 | 环境变量 |
鸣谢
- 原作者:Barry Yip
- 扩展者:Kogollones
📄 许可证
MIT - 版权所有 (c) 2025 BarryY(原作者),Kogollones(扩展者)
Scan to contact