断开MCP服务器
MCP(模型上下文协议)服务器,使LLM能够通过机器人令牌控制Discord服务器。此服务器提供全面的Discord管理工具,包括发送消息、管理成员、角色、通道、权限等。
特性
公会/服务器管理
discord_list_guilds-列出机器人有权访问的所有服务器discord_get_guild-获取特定服务器的详细信息discord_edit_guild-编辑服务器设置(名称、验证级别、系统通道等)discord_leave_guild-离开服务器
渠道管理
discord_list_channels-列出服务器中的频道(按类型筛选)discord_get_channel-获取频道详细信息(包括论坛频道的论坛标签)discord_create_channel-创建文本/语音/论坛频道和类别discord_edit_channel-编辑频道名称、主题、位置、类别、论坛标签等discord_delete_channel-删除频道或类别
论坛频道功能
- 创建论坛频道
type: "forum" - 设置默认反应表情符号、排序顺序和布局
- 管理论坛标签(创建、编辑、删除)
- 标签支持自定义表情符号和审核设置
权限管理
discord_set_channel_permissions-为频道上的角色/成员设置权限覆盖discord_remove_channel_permissions-删除权限覆盖discord_get_channel_permissions-查看频道上的所有权限覆盖discord_sync_channel_permissions-将频道权限与父类别同步
消息操作
discord_send_message-发送消息(可选回复)discord_get_messages-检索频道消息(带分页)discord_edit_message-编辑机器人的消息discord_delete_message-删除邮件discord_add_reaction-添加表情符号反应discord_remove_reaction-删除机器人的反应discord_pin_message-固定消息discord_unpin_message--不愉快的消息discord_get_pinned_messages-获取所有固定消息
会员管理
discord_list_members-列出服务器成员(带分页)discord_get_member-获取会员详细信息discord_kick_member-踢会员discord_ban_member-禁止成员(带消息删除选项)discord_unban_member-取消阻止用户discord_set_nickname-设置/清除成员昵称discord_move_member-将成员移动到其他语音频道discord_timeout_member-会员超时/静音(最多28天)
角色管理
discord_list_roles-列出所有服务器角色discord_create_role-创建新角色discord_edit_role-编辑角色名称、颜色、权限和设置discord_delete_role-删除角色discord_add_role-为成员分配角色discord_remove_role-从成员中删除角色discord_set_role_positions-重新排序角色层次结构
服务器管理
discord_list_bans-列出所有被禁止的用户discord_prune_members-删除非活动成员(带模拟运行选项)discord_get_audit_log-查看审核日志条目
社区功能
discord_get_community_settings-查看社区设置(规则频道、功能等)discord_setup_community-配置社区频道(规则、更新、安全警报)
欢迎屏幕
discord_get_welcome_screen-获取欢迎屏幕配置discord_edit_welcome_screen-编辑欢迎屏幕(描述、频道、表情符号)
入职
discord_get_onboarding-获取入职配置discord_edit_onboarding-编辑现有的入职设置discord_setup_onboarding-从头开始设置入职培训(提示、默认渠道、角色)
自动调节
discord_list_automod_rules-列出自动审核规则discord_get_automod_rule-获取自动修改规则的详细信息discord_create_automod_rule-创建自动审核规则discord_edit_automod_rule-编辑自动审核规则discord_delete_automod_rule-删除自动审核规则
表情符号管理
discord_list_emojis-列出自定义表情符号discord_create_emoji-从图像URL创建表情符号discord_delete_emoji-删除自定义表情符号
贴纸管理
discord_list_stickers-列出自定义贴纸discord_delete_sticker-删除自定义标签
邀请管理
discord_list_invites-列出活动邀请discord_create_invite-创建频道邀请discord_delete_invite-删除邀请
Webhook管理
discord_list_webhooks-列出webhooks(公会或频道)discord_create_webhook-创建webhookdiscord_edit_webhook-编辑webhook名称或频道discord_delete_webhook-删除webhook
预定事件
discord_list_events-列出计划事件discord_create_event-创建预定活动(舞台、语音或外部)discord_delete_event-删除已安排的事件
设置
1.创建Discord Bot
- 去 Discord开发者门户
- 点击“新建应用程序”并为其命名
- 转到“Bot”部分,然后单击“添加Bot”
- 复制机器人令牌(保守这个秘密!)
- 启用这些 特权网关意图:
- 服务器成员意图 - 消息内容意图
2.邀请机器人到您的服务器
- 转到OAuth2->URL生成器
- 选择范围:
bot,applications.commands
- 选择机器人权限(根据您需要的功能进行选择):
核心权限:
- 管理渠道 - 管理角色 - 管理邮件 - 读取消息历史记录 - 发送消息 - 添加反应
会员管理:
- Kick会员 - 禁止成员 - 管理昵称 - 中等成员(超时)
服务器管理:
- 管理公会(用于服务器设置) - 查看审核日志 - 管理表情符号和贴纸 - 管理Webhooks - 管理活动 - 创建即时邀请
- 复制生成的URL并打开它以邀请机器人
3.安装MCP服务器
选项A:从npm全局安装
npm install -g @mahesvara/discord-mcpserver选项B:直接使用npx运行(无需安装)
npx @mahesvara/discord-mcpserver用法
MCP客户端配置
添加到您的MCP客户端配置中(例如,Claude Desktop或Claude Code):
使用全局安装的软件包:
{
"mcpServers": {
"discord": {
"command": "discord-mcpserver",
"env": {
"DISCORD_BOT_TOKEN": "your_bot_token_here"
}
}
}
}使用npx(无需安装):
{
"mcpServers": {
"discord": {
"command": "npx",
"args": ["-y", "@mahesvara/discord-mcpserver"],
"env": {
"DISCORD_BOT_TOKEN": "your_bot_token_here"
}
}
}
}环境变量
服务器支持从以下位置加载环境变量 .env 当前目录中的文件:
DISCORD_BOT_TOKEN=your_bot_token_here
TRANSPORT=http
PORT=3000
HOST=localhost| 变量 | 描述 | 默认值 |
|---|---|---|
DISCORD_BOT_TOKEN | 您的Discord机器人令牌(必填) | - |
TRANSPORT | 运输方式: stdio 或 http | stdio |
PORT | HTTP服务器端口(使用HTTP传输时) | 3000 |
HOST | HTTP服务器主机(使用 0.0.0.0 用于远程访问) | localhost |
HTTP传输
对于远程访问,请在启用HTTP传输的情况下运行服务器:
Linux/macOS:
DISCORD_BOT_TOKEN=your_token TRANSPORT=http PORT=3000 HOST=0.0.0.0 discord-mcpserverWindows(命令提示符):
set DISCORD_BOT_TOKEN=your_token && set TRANSPORT=http && set PORT=3000 && set HOST=0.0.0.0 && discord-mcpserverWindows(PowerShell):
$env:DISCORD_BOT_TOKEN="your_token"; $env:TRANSPORT="http"; $env:PORT="3000"; $env:HOST="0.0.0.0"; discord-mcpserver或者使用 .env 文件 (适用于所有平台):
discord-mcpserver然后配置您的MCP客户端以通过HTTP连接:
{
"mcpServers": {
"discord": {
"type": "http",
"url": "http://your-server-ip:3000/mcp"
}
}
}工具示例
创建带有标签的论坛频道
{
"tool": "discord_create_channel",
"params": {
"guild_id": "1234567890123456789",
"name": "help-forum",
"type": "forum",
"topic": "Ask questions and get help",
"default_reaction_emoji": "✅",
"default_sort_order": "latest_activity",
"default_forum_layout": "list_view",
"available_tags": [
{ "name": "Solved", "emoji_name": "✅", "moderated": false },
{ "name": "Bug", "emoji_name": "🐛", "moderated": false },
{ "name": "Question", "emoji_name": "❓", "moderated": false },
{ "name": "Announcement", "emoji_name": "📢", "moderated": true }
]
}
}安装服务器板载
{
"tool": "discord_setup_onboarding",
"params": {
"guild_id": "1234567890123456789",
"default_channel_ids": ["1111111111111111111"],
"prompts": [
{
"type": "multiple_choice",
"title": "What are you interested in?",
"single_select": false,
"required": true,
"options": [
{ "title": "Gaming", "emoji_name": "🎮", "role_ids": ["2222222222222222222"] },
{ "title": "Tech", "emoji_name": "💻", "role_ids": ["3333333333333333333"] }
]
}
]
}
}配置社区设置
{
"tool": "discord_setup_community",
"params": {
"guild_id": "1234567890123456789",
"rules_channel_id": "1111111111111111111",
"public_updates_channel_id": "2222222222222222222",
"description": "A friendly gaming community",
"preferred_locale": "en-US"
}
}编辑欢迎屏幕
{
"tool": "discord_edit_welcome_screen",
"params": {
"guild_id": "1234567890123456789",
"enabled": true,
"description": "Welcome to our server!",
"welcome_channels": [
{ "channel_id": "1111111111111111111", "description": "Read the rules", "emoji_name": "📜" },
{ "channel_id": "2222222222222222222", "description": "Introduce yourself", "emoji_name": "👋" }
]
}
}创建类别
{
"tool": "discord_create_channel",
"params": {
"guild_id": "1234567890123456789",
"name": "Bot Testing",
"type": "category"
}
}在类别中创建频道
{
"tool": "discord_create_channel",
"params": {
"guild_id": "1234567890123456789",
"name": "bot-commands",
"type": "text",
"topic": "Channel for bot interactions",
"parent_id": "CATEGORY_ID_HERE"
}
}设置频道权限
{
"tool": "discord_set_channel_permissions",
"params": {
"channel_id": "1234567890123456789",
"target_id": "ROLE_ID_HERE",
"target_type": "role",
"allow": ["ViewChannel", "SendMessages", "ReadMessageHistory"],
"deny": ["CreatePublicThreads"]
}
}通用权限名称
查看和访问:
ViewChannel-查看频道
信息:
SendMessages,ReadMessageHistory,ManageMessagesEmbedLinks,AttachFiles,AddReactionsUseExternalEmojis,UseExternalStickersMentionEveryone
线程:
CreatePublicThreads,CreatePrivateThreadsSendMessagesInThreads,ManageThreads
声音:
Connect,Speak,StreamMuteMembers,DeafenMembers,MoveMembersUseVAD,PrioritySpeaker
管理层:
ManageChannels,ManageRoles,ManageWebhooks
发送信息
{
"tool": "discord_send_message",
"params": {
"channel_id": "1234567890123456789",
"content": "Hello from the MCP server!"
}
}分配角色
{
"tool": "discord_add_role",
"params": {
"guild_id": "1234567890123456789",
"user_id": "9876543210987654321",
"role_id": "1111111111111111111"
}
}响应格式
大多数读取操作支持两种响应格式:
- JSON (默认):用于程序化处理的结构化数据
- 标记语言:人类可读的格式化输出
错误处理
当操作失败时,所有工具都会返回明确的错误消息和建议:
- 缺少权限
- 无效的ID(公会、频道、用户、角色、消息)
- 速率限制
- 网络问题
安全说明
- 永远不要提交你的机器人令牌 -使用环境变量
- 机器人只能在它被邀请的服务器上运行
- 破坏性操作(删除、踢、禁止)标记为
destructiveHint: true - 所有输入都使用Zod模式进行验证
所需的Bot权限
根据您使用的工具,您的机器人需要以下权限:
| 工具类别 | 所需权限 |
|---|---|
| 消息 | 发送消息、读取消息历史记录、管理消息 |
| 渠道 | 管理渠道 |
| 权限 | 管理角色(用于频道权限覆盖) |
| 会员 | 踢会员、禁止会员、管理昵称、适度会员 |
| 角色 | 管理角色 |
| 反应 | 添加反应 |
| 服务器设置 | 管理公会 |
| 表情符号/贴纸 | 管理表情符号和贴纸 |
| 邀请 | 创建即时邀请,管理帮会 |
| Webhooks | 管理Webhooks |
| 事件 | 管理事件 |
| 审核日志 | 查看审核日志 |
| 社区/入职 | 管理公会 |
工具示例
编辑角色权限
{
"tool": "discord_edit_role",
"params": {
"guild_id": "1234567890123456789",
"role_id": "1111111111111111111",
"name": "Moderators",
"color": 3447003,
"permissions": ["KickMembers", "BanMembers", "ManageMessages", "ModerateMembers"]
}
}重新排序角色层次结构
{
"tool": "discord_set_role_positions",
"params": {
"guild_id": "1234567890123456789",
"positions": [
{ "role_id": "1111111111111111111", "position": 5 },
{ "role_id": "2222222222222222222", "position": 4 }
]
}
}会员超时
{
"tool": "discord_timeout_member",
"params": {
"guild_id": "1234567890123456789",
"user_id": "9876543210987654321",
"duration_minutes": 60,
"reason": "Spamming in chat"
}
}创建邀请
{
"tool": "discord_create_invite",
"params": {
"channel_id": "1234567890123456789",
"max_age": 86400,
"max_uses": 10,
"temporary": false
}
}创建计划事件
{
"tool": "discord_create_event",
"params": {
"guild_id": "1234567890123456789",
"name": "Community Game Night",
"description": "Join us for games!",
"scheduled_start_time": "2024-12-01T20:00:00Z",
"entity_type": "voice",
"channel_id": "1111111111111111111"
}
}角色权限名称
编辑角色时,请使用以下权限名称:
概述:
Administrator-完全访问(谨慎使用)ManageGuild,ManageRoles,ManageChannelsKickMembers,BanMembers,ModerateMembersViewAuditLog,ViewGuildInsights
信息:
SendMessages,ManageMessages,ReadMessageHistoryEmbedLinks,AttachFiles,AddReactionsMentionEveryone,UseExternalEmojis
声音:
Connect,Speak,StreamMuteMembers,DeafenMembers,MoveMembers
其他:
ManageWebhooks,ManageEmojisAndStickersManageEvents,CreateEvents
许可证
麻省理工学院
