使用说明
断开MCP服务器
A生产级 模型上下文协议(MCP) Discord服务器使用 FastMCP 和 不一致.py. 提供一个完整的API表面,用于通过MCP管理渠道、角色、权限、消息、审核和服务器设置。
特性
- 具有自动会话管理的每令牌机器人会话
- 渠道管理:通过位置创建、编辑、删除、移动和重新排序
- 角色管理:创建、编辑(包括职位)、删除、分配、删除
- 通道、类别和角色的权限配置
- 跨帮会和渠道的“以角色/成员身份查看”权限检查
- 消息操作:发送、编辑、删除、批量删除、检索
- 适度操作:超时、踢、禁止、执行角色策略
- 帮会/服务器设置管理
- 民意调查:创建、结束和获得结果
- 计划事件:创建、编辑、删除、列出、获取与会者
- 主题和论坛:创建、编辑、删除、管理成员、论坛帖子
- Webhooks:创建、发送消息、列出、删除
- 邀请:创建、列出、删除
- 表情符号和贴纸:创建、删除、列出
- 反应:添加、删除、列出用户、清除
- AutoMod:创建、编辑、删除、列出规则
- 审核日志:带过滤器的查询
- 会员信息:获取详细信息,列出会员,编辑昵称/静音/静音
- 机器人会话的状态端点
安装
uv sync
配置
复制模板 .env 文件并根据需要进行修改:
cp .env.template .env
默认绑定仅限于本地:
MCP_HOST=127.0.0.1
MCP_PORT=8000
用法
在本地运行MCP服务器:
uv run python -m discord_mcp.main
或者在没有本地设置的情况下使用它:
uv run --with git+https://github.com/ExilProductions/discord-mcp discord-mcp
MCP客户端配置示例
示例配置 开源代码 使用远程MCP服务器:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"discord-mcp": {
"type": "remote",
"url": "http://localhost:8000/mcp",
"enabled": true,
"headers": {
"Authorization": "YOUR_DISCORD_BOT_TOKEN"
}
}
}
}
任何支持MCP的客户端都可以使用此功能。
MCP工具
渠道管理
create_channel-创建文本、语音、新闻、舞台、论坛、媒体或类别频道edit_channel-编辑频道设置delete_channel-删除频道move_channel-将频道移动到类别edit_channel和position-重新订购渠道/类别get_channel-获取频道信息get_channels-列出帮会中的所有频道
角色管理
create_role-创建新角色edit_role-编辑角色(包括position重新订购)delete_role-删除角色assign_role-为成员分配角色remove_role-从成员中删除角色get_role-获取角色信息get_roles-列出公会中的所有角色
权限管理
set_channel_permissions-设置频道权限set_category_permissions-设置类别权限set_role_permissions-更新角色权限get_channel_permissions-获取频道权限覆盖get_category_permissions-获取类别权限覆盖remove_channel_permissions-删除权限覆盖inspect_role_permissions-压缩默认角色权限摘要(计数、预览、关键功能)inspect_member_permissions-默认情况下压缩成员权限摘要(计数、预览、关键功能)inspect_target_channel_permissions-一个通道中一个目标的完全有效权限(详细深入查看)list_target_accessible_channels-角色/成员可以访问的精简频道列表list_target_inaccessible_channels-角色/成员无法访问的精简频道列表
权限检查针对AI代理工作流进行了优化:首先调用摘要工具,然后仅在需要时请求通道详细信息。
消息操作
send_message-发送消息(支持嵌入、TTS、提及、引用)edit_message-编辑消息delete_message-删除消息bulk_delete_messages-批量删除邮件get_message-获取消息get_channel_messages-获取频道消息历史记录
节制
timeout_user-成员超时remove_timeout-从成员中删除超时kick_user-踢会员ban_user-禁止会员unban_user-取消会员资格enforce_role_policy-执行角色策略(踢/禁止缺少所需角色的成员)get_guild_bans-列出公会禁令get_member_timeout_status-检查超时状态
帮会管理
get_guild_settings-获取服务器设置(名称、描述、验证级别等)edit_guild_settings-编辑服务器设置
民意调查
create_poll-在频道中创建投票end_poll-结束活动投票get_poll_results-获取投票计数和结果
预定的事件
create_scheduled_event-创建预定活动(语音、舞台或外部)edit_scheduled_event-编辑已安排的事件delete_scheduled_event-删除已安排的事件list_scheduled_events-列出公会中所有已安排的活动get_scheduled_event_users-让用户对活动感兴趣
主题和论坛
create_thread-创建一个线程(可选地从消息中创建)edit_thread-编辑线程设置(名称、存档、锁定、慢模式)delete_thread-删除线程list_threads-列出通道中的活动线程和已存档线程add_thread_member-向线程添加成员remove_thread_member-从线程中删除成员create_forum_post-创建带有标签的论坛帖子
网络钩子
create_webhook-为频道创建webhooksend_webhook_message-通过webhook发送消息list_webhooks-列出公会或频道的webhooksdelete_webhook-删除webhook
邀请
create_invite-创建频道邀请list_invites-列出所有公会邀请delete_invite-删除邀请
表情符号ay;sticks
create_emoji-创建自定义表情符号delete_emoji-删除自定义表情符号list_emojis-列出公会中的所有自定义表情符号list_stickers-列出公会中的所有贴纸
反应
add_reaction-在消息中添加反应remove_reaction-从消息中删除反应get_reaction_users-获取对特定表情符号做出反应的用户clear_reactions-清除消息中的所有或特定反应
自动模式
create_automod_rule-创建automod规则(关键字、垃圾邮件、预设、提及垃圾邮件)edit_automod_rule-编辑automod规则delete_automod_rule-删除automod规则list_automod_rules-列出公会中的所有automod规则
审计日志
get_audit_log-使用筛选器(用户、操作类型、限制)查询审核日志
成员
get_member_info-获取详细的会员资料信息list_members-列出公会成员edit_member-编辑成员(昵称、静音、静音)
状态
get_bot_status-获取机器人状态和会话信息