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 |
环境变量 |
学分
许可证
麻省理工学院