关于 GuildControl MCP
GuildControl MCP 是面向 Discord 管理者的本地 stdio MCP 服务,通过自有机器人提供受限读取与经审阅的管理操作。它以精确访问范围、隐私最小化和可核验结果为核心。
主要功能
- 01按服务器和频道限制访问
- 02隐私分级读取与内容不落盘
- 03执行前规划并审批写入
- 04精确 ID 定位及结果回读
- 05提供只读设置预设
适用场景
- 01盘点指定服务器的频道与角色
- 02审查权限及无内容活动记录
- 03批准并核验 Discord 管理变更
MCP 相关
作为本地 stdio MCP 服务,向客户端提供 Discord 服务器及单独允许的一对一访问工具、资源和提示词;写入操作经过规划与审批。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
GuildControl MCP
GuildControl MCP 是一个本地 stdio Model Context Protocol 服务,可通过由操作员所有的机器人,安全地访问 Discord 服务器,并单独访问列入许可名单的一对一会话。它兼顾广泛的类型化覆盖范围与精确的作用域、隐私最小化结果、经审核的写入、不含内容的证据,以及明确的歧义处理。
最小权限。变更前先审核。结果可验证。不持久化 Discord 内容。
文档门户 | 已验证的产品导览 | 获取已验证的读取结果 | 安全性与易用性决策 | 从其他 MCP 切换 | 适用范围与边界 | 功能对比 | 完整参考 | 隐私 | 安全
GuildControl 是一个独立项目,与 Discord Inc. 无关联,也未获其背书。Discord 仅用于标识 GuildControl 所连接的平台。
为什么选择此连接器
| 关注点 | 强制执行的行为 |
|---|---|
| Discord 访问范围 | 使用一个严格的非机密策略文件,包含经过验证的应用和机器人身份、明确的服务器与频道范围、单独且精确的私信用户范围、按风险隔离的工具集,以及只读设置预设 |
| 精确定位 | 将规范的 Discord 跳转链接和官方类型化提及内容在本地转换为精确 ID,不进行名称查找、联系 Discord、回显输入、持久化或授予下游权限 |
| 读取安全性 | 有界请求、安全的瞬时 GET 重试、无损的完整结果字节数限制、严格的响应验证、按隐私级别分层的投影、不可信内容处理、由调用方保留的追赶读取、精确附件读取且不持久化本地文件、不发现私有频道,以及仅显式继承经过验证的父线程 |
| 写入安全性 | 使用精确 ID 的请求、优先执行的键控计划、经签名的交互式审批、最终的新鲜计划匹配,以及针对具体操作的 Discord 权限证明 |
| 结果完整性 | 待处理的不含内容的证据、不重试写入、精确回读、持久化协调、歧义隔离,以及有界的本地无效请求压力 |
| 隐私 | 令牌保存在调用方拥有的密钥源中;不会持久化 Discord 内容、个人资料、URL、审核理由或原始操作密钥 |
| 计划审核 | 完整证据、MCP App 显示,以及不具备权限的本地蓝图预览 |
| 发布完整性 | 精确的依赖项和基础映像固定版本、不含凭据的契约指纹、可复现的 npm 与 MCPB 构件、加固的 OCI 检查、内嵌和外部 SPDX 证据、签名发布自动化,以及与源代码绑定的公开文档 |
设置和恢复请参阅首次已验证读取指南。采用前,请阅读产品边界与主机兼容性,了解保管、隐私、审批和恢复模型。完整参考涵盖每项策略、工具、权限、资源、提示词、命令和工作流限制。
快速开始
受支持的最快成果是由所有者管理的只读机器人、一项严格的非机密策略、一份专用主机指南,以及成功获取频道清单。你需要 Node.js 22 或更高版本、在自己控制的 Discord 服务器中拥有 Manage Server 权限,以及本地 stdio MCP 主机。GuildControl 不提供共享机器人、中继或令牌存储。
引导式设置:从这里开始
在 Discord Developer Portal 中创建应用和机器人,在 Discord 中启用开发者模式,并复制应用 ID 和目标服务器 ID。然后运行:
npx guildctl
npx guildctl 会启动交互式引导流程:选择主机、创建最低限度的 server-observer 策略或精确重新验证现有策略、实时验证机器人和 MCP,并提供私密的激活指南。如果检测到配置偏差,流程会安全失败;它绝不会存储令牌、读取消息内容、启用写入、探测主机路径或修改主机配置。
结果会说明凭据移交方式;一次性提示词会在冒烟测试后清除。关于凭据保管和恢复,请参阅首次验证读取指南。
可选的 guildctl host detect 仅检查路径元数据。onboard --detect-host 会选择一个候选项;如果有多个候选项,则必须手动选择。检测过程不会读取任何候选项的内容或凭据。
如需无人值守设置,请提供所有公开决策和现有机密引用:
npx --yes [email protected] onboard \
--host codex \
--application-id YOUR_APPLICATION_ID \
--guild-id YOUR_GUILD_ID \
--config /absolute/private/guildcontrol.json \
--confirm-installed YOUR_GUILD_ID \
--token-env DISCORD_BOT_TOKEN \
--json
JSON 模式不会提示输入,也不会打开浏览器。首次验证读取指南介绍了受支持的主机、默认路径、其他凭据保管方式、手动操作路径和恢复方法。
不要授予机器人 Administrator 权限。请根据只读预设生成精确的初始权限授予,然后通过类别或频道覆盖进一步限制已安装的机器人角色。机器人设置指南介绍了机器人所有权、可选意图以及后续特定功能所需的权限。
可选的预检:无凭据检查
无需令牌或 Discord 请求,即可检查指定的精确版本及其只读预设:
npx --yes [email protected] catalog --check
npx --yes [email protected] catalog --html ./guildcontrol-contract.html
npx --yes [email protected] preset show server-observer
catalog --check 会验证生产契约,确保无需凭据且禁用了执行,其中包括每个工具完整的设置和就绪状态元数据。catalog --html FILE 会将其呈现为与指定版本完全对应的引导式、可搜索离线浏览器,不使用外部资源、运行时请求、凭据或已配置的完成 ID。
从其他 Discord MCP 迁移
创建策略或更改旧部署之前,先生成完整且与指定版本完全对应的结果映射:
npx --yes [email protected] migrate list
npx --yes [email protected] migrate plan [email protected] --html ./guildcontrol-migration.html
迁移指南涵盖所有经过评分的同类版本。规划过程不会扫描检出目录、读取配置、主机设置、环境值或凭据,不会连接网络或 Discord 端点,也不会更改任何内容。它会将所有经过审计的源工具映射为受支持、需要审核或有意排除的结果,并根据协商确定的生产目录验证目标路由。它不会重写提示词、参数、配置、凭据或主机设置。
安装由你管理的机器人
在 Developer Portal 中创建 Discord 应用和机器人,复制公开的应用 ID 和目标服务器 ID,并生成不含回调的安装链接;链接中的服务器和最低权限授予均来自推荐预设:
npx --yes [email protected] preset install server-observer \
--application-id YOUR_APPLICATION_ID \
--guild-id YOUR_GUILD_ID \
--html ./guildcontrol-onboarding.html
以获准管理该服务器的成员身份登录后,打开输出的网址。它仅为 server-observer 请求 View Channel,将服务器选择器锁定为提供的 ID,不请求用户令牌,也绝不会将机器人令牌发送给连接器命令。除非你希望其他人安装你的应用,否则请保持关闭 Public Bot。也可以改用 channel-reader,请求 View Channel 和 Read Message History;其计划还会将 Message Content 标记为推荐的 Developer Portal 意图。
可选的 --html FILE 会生成独立的确定性检查清单,包含复制控件、明确的 Discord 导航步骤、固定的后续命令和精确的计划依据,且无需令牌、外部资源、后台请求、持久化的浏览器状态、自动启动浏览器,也不会覆盖现有文件。不生成 HTML 时,终端计划仍然完整。
创建最安全的初始配置
从由进程拥有的规范私有目录开始,将令牌保存在支持密钥的启动环境中,验证一个确切的 guild,将完整的非机密策略保存在一个文件中,并测试完整的 MCP 路径:
export DISCORD_BOT_TOKEN
printf 'Discord bot token: '
read -r -s DISCORD_BOT_TOKEN
printf '\n'
npx --yes [email protected] setup \
--npx \
--config ./guildcontrol.json \
--preset server-observer \
--guild-id YOUR_GUILD_ID
npx --yes [email protected] host --npx --config ./guildcontrol.json --html ./guildcontrol-host-activation.html
在 PowerShell 7.1 或更高版本中,将令牌读入当前进程,不显示令牌,也不将其值写入命令历史,然后运行相同的命令:
$env:DISCORD_BOT_TOKEN = Read-Host "Discord bot token" -MaskInput
在 PowerShell 中,将每条显示的多行 shell 命令作为一行输入;npx 参数保持不变。对于较旧的 Windows PowerShell,请使用 MCP 主机的密钥管理功能或受保护的令牌文件,而不要在命令历史中使用字面令牌。
如果启动器、容器运行时或编排器将令牌挂载为文件,请改为选择该输入方式。路径必须是绝对路径;对于已验证的设置,该文件必须已存在;并且 --token-file 不能与 --token-env 或环境中已有的 DISCORD_BOT_TOKEN 同时使用:
npx --yes [email protected] setup \
--npx \
--config ./guildcontrol.json \
--preset server-observer \
--guild-id YOUR_GUILD_ID \
--token-file /run/secrets/discord_bot_token
server-observer 预设可提供 guild 元数据、角色、权限诊断、连接器运行状况、不含内容的活动信息和工具发现,同时不会启用写入、Gateway、遥测、持久化或 Message Content 访问。设置是首次运行的就绪门槛:它会验证严格策略、验证应用和机器人、审核确切的 guild 安装、存储公开 ID 和凭据引用(绝不存储令牌),并打印启动描述符。即使报告了需要人工审查的非阻塞警告,就绪的设置仍会成功退出。route_discord_goal 可安全地路由后续的发现、读取和经审核的规划,绝不执行变更;它会自行创建记录用键,而不是要求操作者自行编造。
带版本的文件是唯一的策略边界。它涵盖身份、明确的读取模式、带类型且可复用的精确 ID 组、通知和线程行为、工具、能力、范围、限制、存储、Gateway、运行时和可观测性。典型部署包含一个 JSON 策略和一个外部机器人令牌密钥。JSON Schema、config show 和 config explain 支持不涉及密钥的检查;托管配置也使用同一文档。
运维命令必须指定 --config FILE、--profile NAME,或非机密的 GUILDCONTROL_CONFIG_FILE 选择器。环境中已有的策略变量会被拒绝,并且不存在其他环境策略模式或自动导入模式。离线的 migrate 规划器永远不会成为运行时策略来源。不带预设运行 setup 会验证现有策略而不重写;指定预设则会明确创建或替换所选目标。
使用一键安装包或生成的适配器进行连接
设置报告 ready 后,兼容的 MCPB 主机可以从不可变 GitHub Release或 MCP Registry 导入 guildcontrol-2.3.4.mcpb。选择严格配置,并仅通过敏感信息提示输入令牌。此已验证的安装包支持 macOS、Windows 和 Linux,不会重复任何策略字段,内嵌隐私与依赖项证据,并能完成真实的解包 MCP 握手。
对于基于文件的令牌或其他主机,host 会为 Claude Code、Codex、Cursor、VS Code、Gemini CLI 和常见的 MCP JSON 生成确定性适配器。可选的 host detect 仅根据元数据报告可能的主机。host plan 和 host apply 会审核并安装一个静态 JSON 投影,不会解析凭据或替换无关条目;Codex 会收到一个可精确审核的 TOML 投影,而 --inspect-host-file 会报告精确的 JSON 偏差,但不会返回观察到的值。连接指南介绍了设置和验证。
主机连接后,第一个实用请求可以保持自然且具体:
Show me the channels in Discord server YOUR_GUILD_ID using GuildControl MCP. Do not make changes.
成功设置后,config validate、doctor 和 smoke 是可选的保障与恢复工具。离线 doctor 可在凭据不可用时检查策略;仅当 Discord 可用时,--online 才会联系 Discord,而 smoke 会验证子 MCP 握手。Doctor 的人类可读输出会显示可操作的警告和失败;添加 --verbose 可查看所有检查,添加 --json 可获取完整证据。Doctor 遇到警告时会以状态码 1 退出,包括 ready with warnings。
npx --yes [email protected] config validate ./guildcontrol.json
npx --yes [email protected] doctor --config ./guildcontrol.json --online
npx --yes [email protected] smoke --config ./guildcontrol.json
审核任何策略替换
编辑单独的候选文件时,保持活动策略不变,然后使用集成审核流程:
npx --yes [email protected] config workbench \
./guildcontrol.json \
--html ./guildcontrol-workbench.html
npx --yes [email protected] config replace \
./guildcontrol.json \
./guildcontrol.candidate.json
config replace 会在要求具名确认前打印计划,在锁定状态下重新计算,原子写入,保留备份并验证结果。也可进行独立审核:
npx --yes [email protected] config plan \
./guildcontrol.json \
./guildcontrol.candidate.json
npx --yes [email protected] config apply \
./guildcontrol.json \
./guildcontrol.candidate.json \
--plan-digest SHA256_FROM_THE_PLAN \
--confirm ACTIVE_POLICY_NAME
私有工作台会将编辑保存在内存中,直到明确下载候选文件;它没有密钥、网络、持久化、Discord、活动文件写入或审批权限。两种应用路径都会重新读取文件,拒绝身份或文件偏差,并保留可恢复的备份。活动文档仍是唯一的策略来源。
无需发起 Discord 请求或解析其凭据,即可根据同一选定策略审核近期写入结果和持久化的跨进程声明:
npx --yes [email protected] activity \
--config ./guildcontrol.json \
--html ./guildcontrol-activity.html
受限审核会将每项活动归并为最新结果,保留已被取代的历史记录,仅通过不含内容的摘要关联持久化声明,并对每种未解决状态发出警告。可选的私有浏览器提供搜索和筛选功能,但无法联系 Discord、解决声明、重试操作或持久化浏览器状态。只有在停止所有者并检查精确的 Discord 状态和审计日志后,才使用 coordination resolve。
功能策略使用相同的文档结构。经过审核的功能保留独立的能力、精确的范围、有界限的限制和文档化的工具集;单成员权限绝不会授予批量操作权限。不存在环境策略接口、旧版别名、回退解析器或自动迁移层。
仅在需要有界消息历史、由调用方保留的频道追溯和原生搜索时,才使用 channel-reader。它至少需要一个精确的频道:
npx --yes [email protected] setup \
--npx \
--config ./discord-reader.json \
--preset channel-reader \
--guild-id YOUR_GUILD_ID \
--channel-id YOUR_CHANNEL_ID
通过审核扩展策略
首次设置保持只读,然后通过集成审核启用一个增量配方。message-channel 是范围最窄的首次写入:普通发送、回复、在指定频道或符合条件的子线程中进行由连接器管理的编辑,以及针对精确目标的输入状态。coordination-channel 增加定向备注;channel-publisher 增加更广泛的发布能力;guild-starter 使用非特权 GUILDS 证据添加经过审核的公开布局;guild-builder 增加蓝图生命周期管理;incident-response 增加锁定功能;而 direct-messenger 增加面向指定用户的私信功能。每个配方都会报告权限、意图、范围、风险和排除项。
npx --yes [email protected] recipe list
npx --yes [email protected] recipe enable message-channel ./guildcontrol.json \
--channel-id YOUR_MESSAGE_CHANNEL_ID
npx --yes [email protected] recipe enable direct-messenger ./guildcontrol.json \
--user-id EXPECTED_RECIPIENT_USER_ID
npx --yes [email protected] recipe enable guild-starter ./guildcontrol.json \
--guild-id YOUR_GUILD_ID
独立自动化路径仍需显式选择:
npx --yes [email protected] recipe plan guild-starter ./guildcontrol.json \
--guild-id YOUR_GUILD_ID
npx --yes [email protected] recipe apply guild-starter ./guildcontrol.json \
--guild-id YOUR_GUILD_ID \
--plan-digest SHA256_FROM_THE_PLAN \
--confirm guild-starter
两条路径都会显示完整的策略变更、要求、风险、警告和绑定到路径的证据,不需要密钥或 Discord 请求。应用时会重新计算、要求确认名称、拒绝偏差并保留备份。配方不会授予任何 Discord 权限。
在线 doctor 会验证身份、仅包含 ID 的完整安装偏差以及应用状态。Smoke 会启动 serve,通过 stdio 协商稳定的 MCP,验证目录和只读状态,不向 Discord 写入任何内容,并关闭已配置的运行时。请参阅运维参考。
从源代码构建
git clone https://github.com/j-256/guildcontrol.git
cd guildcontrol
npm run deps:locked
npm run build
node dist/bin.js catalog --check
安装、运维 CLI和配置的详细参考涵盖独立配置、托管配置文件、OCI 绑定挂载、渐进式发现、工具集、允许列表、可选 Gateway 模式、可观测性以及每项独立门控的功能。
能力概览
| 领域 | 所选能力 |
|---|---|
| 发现与读取 | 按范围读取服务器、频道、消息、线程、论坛、成员、审核、审计、应用、事件、语音和配置;精确 ID 解析和附件访问;由调用方保留的多频道追赶、原生搜索、有界回溯、聚合活动以及隐私最小化输出 |
| 消息与社区 | 幂等投递;不授予权限的定向备注和精确消息任务协调;经过审核的私信;Components V2、无需远程请求的嵌入内容、附件、表情回应、投票、交叉发布、转发、线程、置顶和精确删除 |
| 服务器结构 | 确定性初始配置和由调用方保留的蓝图;增量频道、角色、论坛、权限、入门流程、AutoMod 和发布;经过审核的克隆、排序、元数据、同步和退役 |
| 成员与审核 | 隐私最小化目录和封禁审计;经过审核的精确成员管理、角色、昵称、验证、语音和线程成员资格;可恢复的批处理、原生批量封禁以及受保护的服务器清理 |
| 社区配置 | 应用、命令、关联角色、变现、Webhook、集成、邀请、模板、个人资料、设置、社区、表情、音效板、事件、Stage 和 AutoMod 的审计与审核生命周期 |
| 运维 | 渐进式工具发现和打包文档搜索;资源和提示词;模型中立的操作手册;严格配置、配置文件、主机指南、预设和配方;不含内容的审计与协调;有界 Gateway 和原生 Interaction 运行时;OpenTelemetry 诊断 |
只有在选定相应工具集和策略门控后,才会开放相应能力。工具集会缩小可调用范围,但绝不会授予 Discord 或本地写入权限。请查看准确的工具参考、资源和提示词。
安全模型
Discord 权限是最外层边界。连接器策略会进一步收窄这些权限。
- 生产流量使用固定的 Discord REST 和经审核的 Gateway 来源;运行时配置无法重定向凭据
- 每个 Gateway 分片都会在一个滚动连接预算中统计每个成功的出站事件,将调用方命令压力限制在预留的生命周期容量以下,并在每次连接边界时丢弃排队的精确 ID 请求
- 精确范围涵盖服务器、频道、角色、成员、功能和 HTTPS 链接来源
- 服务器工具拒绝私信。私信工具要求独立的精确普通用户允许列表和调用方已知的一对一频道 ID;仅支持纯文本或有界静态 Components V2,抑制提及,执行固定的反垃圾限制,且不提供发现、批量指定目标、带回调的组件、任意嵌入链接或 Gateway 信息流
- Components V2 链接必须使用精确的 HTTPS 来源;连接器不会获取这些链接或跟随重定向
- Components V2 请求按钮使用连接器生成的 HMAC ID,要求就绪且精确的原生 Interaction 入口,只会为精确允许列表中的用户创建有界的私密请求,绝不会自动执行 Discord 写入或管理操作
- Discord 名称、消息、嵌入内容、组件、文件名、URL 和其他远程文本均视为不可信数据,而非指令
- 在明确请求时,Discord 内容可以临时返回,但连接器不会缓存、记录、导出或持久化这些内容
- 新邀请代码和 URL 仅通过调用方选定的独占私密文件传递;MCP 结果、生命周期记录、错误、日志和遥测均不含持有者能力
- 入站 Webhook 凭据始终保存在独占的精确 ID 私密文件中;MCP 仅接受 Webhook 和消息 ID,持久化的活动记录、回执、错误、日志和遥测均不含凭据和内容
- 权益写入单独设定范围;测试删除需要创建证明,且仅存储履行引用的哈希
- 每项重要写入都保留其领域专属的权限、新鲜度、审批、审计、回读和不确定性关卡
- 消息删除仅接受精确的消息 ID,并保留每项独立的删除关卡
- 频道删除要求精确范围、完整的依赖项和权限证据、不可逆损失确认,以及精确绑定目标的蓝图证明或无产物选择,之后才进行签署审查和 Gateway 缺失证明;不会读取消息
- 角色删除要求精确范围、持有者数量为零,以及完整的层级、权限和依赖项证据、不可逆损失确认、精确绑定目标的蓝图证明或无产物选择、签署审查,以及最新的缺失和幸存者保留证明
- 服务器精简要求单独的精确服务器允许列表、可选的精确包含角色允许列表、明确确认 Discord 不会披露候选 ID、受保护身份角色屏蔽、新鲜的原生估算低于请求和配置的上限、签署审查,以及单次且不重试的请求,并严格仅提供计数结果证据
- 服务器事件操作要求一个精确的允许列表服务器、完整且已知的
MANAGE_GUILD或所有者证据、不超过 24 小时后的未来截止时间、签署审查、单次且不重试的精简写入,以及精确响应和新鲜回读;提前清除保护视为破坏性操作 - 特权意图启用仅接受 Guild Members 或 Message Content,且严格策略必须证明该意图是必需或推荐的;保留所有已观察到的非目标应用标志,并排除 Presence、禁用、通用应用编辑和自动修复
通用的经审查写入流程从执行工具开始。当独立审查有此要求时,调用方仍可提供来自分离计划的摘要:
exact execute request -> fresh keyed plan -> human review -> signed approval
-> final fresh-plan match -> pending content-free evidence
-> one non-retried write -> exact readback or quarantine
在 Discord 操作允许证明已是最新状态时,已是最新状态的请求无需写入记录,直接作为空操作处理。已知的客户端拒绝会判定为失败。传输失败、服务器失败、格式错误的成功响应或缺少读回结果均属于不确定情况,不得盲目重试。持久化声明会使受影响的精确目标在各连接器进程中持续处于隔离状态,直至安全的回执证据或明确的操作员处置证明可以继续操作。
信任与验证
| 命令 | 验证内容 | Discord 访问 |
|---|---|---|
guildctl catalog --check --json | 精确的生产环境 MCP 清单、访问生命周期、架构、注释、零值策略完成度证明、计划审核应用权限、执行防护,以及稳定的契约和资源摘要 | 无 |
guildctl catalog --html FILE | 引导式产品导览,以及对精确协商契约的可搜索呈现,包括架构、筛选器、完成项、应用来源、资源和安全指南 | 无 |
guildctl preset show server-observer --json | 推荐预设的精确只读工具、范围要求、意图和零写入边界 | 无 |
guildctl preset install server-observer --application-id ID --guild-id ID [--html FILE] | 固定来源、锁定服务器的机器人授权计划,以及可选的免凭证独立检查清单,其中包含精确摘要和安装后命令 | 无 |
guildctl config workbench ACTIVE --html FILE | 用于编辑一个经过验证的 schema-v2 策略的私有离线内存编辑器,以及明确的候选文件下载;不会写入活动文件,也不具备审批权限 | 无 |
guildctl config replace ACTIVE CANDIDATE | 集成式完整审核、具名确认、全新锁定重算、原子替换、备份和回读 | 无 |
guildctl config plan ACTIVE CANDIDATE --json | 完整的候选策略、精确语义变更、权限影响、工具暴露情况、警告、身份锁定,以及与路径绑定的新鲜摘要 | 无 |
guildctl config apply ACTIVE CANDIDATE --plan-digest DIGEST --confirm ACTIVE_NAME | 精确应用本地最新策略替换,拒绝过期文件,原子发布,并保留可恢复的先前版本 | 无 |
guildctl recipe show guild-starter --json | 精确的附加能力、范围、工具集、权限、意图、Gateway 证据和风险契约 | 无 |
guildctl recipe plan guild-starter FILE --guild-id ID --json | 完整的拟议策略、精确变更、要求、警告,以及与来源、路径、请求和契约绑定的摘要 | 无 |
guildctl migrate plan SOURCE [--html FILE] [--json] | 完整且精确对应版本的源工具核算、更安全的目标路由、分阶段切换命令和确定性计划证据;不会读取或更改任一部署 | 无 |
guildctl activity --config FILE [--html FILE] [--json] | 当前写入生命周期的有界记录、已被取代的历史、精确且不含内容的证据,以及在需要操作员关注时带有警告状态的相关持久声明 | 无 |
guildctl doctor --config FILE | 本地 Node.js、凭证可用性、身份固定项、策略、范围、工具面、无损读取响应预算、Gateway、可观测性和写入门控诊断,即使尚无密钥也可执行 | 无 |
guildctl doctor --config FILE --online | 严格策略、固定的应用和机器人身份、意图标志、完整且有界的仅 ID 已安装服务器清单,以及与精确配置范围的偏差 | 只读 |
guildctl smoke --config FILE | 通过所选策略完成的 stdio 协商、发现、注释和连接器身份检查 | 只读 |
guildctl host detect; host; host plan; host apply | 可选加入的仅元数据候选检测、免凭证适配器、经审核且绑定新鲜度的静态 JSON 安装(含可恢复备份和回滚),以及不包含值的偏差检查 | 无 |
npm run container:verify | 固定基础镜像构建、非 root 文件系统和进程限制、不含密钥的元数据、确定性目录身份、MCP 行为,以及安全的凭证失败处理 | 无 |
npm run container:index:verify | 精确的多架构索引、平台配置和 Blob,以及每个平台的来源记录和 SBOM 记录 | 仅限公开镜像仓库 |
npm run pack:verify | 可复现归档、精确软件包内容、隔离安装、已安装 CLI、确定性目录证据和 HTML,以及不含内容的 MCP 握手 | 无 |
npm run mcpb:verify | 跨平台字节完全相同的软件包、严格的 ZIP 元数据和内容、嵌入式证据、Registry 哈希绑定、隔离的令牌映射,以及真实的解包 MCP 握手 | 无 |
npm run security:check | 依赖漏洞、Registry 签名和证明 | 仅限公开软件包仓库 |
catalog --check --json 专为独立比较而设计。它无需凭据,不受环境中的连接器权限影响,不返回任何已配置的补全标识符,不执行任何 Discord 操作,不打开 Gateway,不导出遥测数据,也不创建活动记录。匹配的契约摘要表示规范化的 MCP 指令、服务端能力、工具访问生命周期、策略与补全的绑定、工具架构和注释、提示词、资源、模板、安全响应、审核应用和执行防护机制均一致。 |
发布自动化会验证可复现的 npm 和 MCPB 制品、加固的 OCI、SPDX 清单和签名来源证明,然后先发布不可变的 GitHub Release,再注册 app.lasers.guildcontrol/discord。常规发布需要一次受保护的 npm 阶段审批和一次晋级审批;软件包、Release 和 Registry 的权限分别由独立作业持有。来源证明是构建收据,SBOM 是零部件清单,证明文件则将制品与签发方绑定;它们都无法认证安全性或完整性。请参阅证据边界和发布操作手册。
架构
stdio 传输、Discord REST 客户端、范围策略、领域服务、经审核的规划、持久化协调、活动日志、可观测性、Gateway 和 MCP 适配器彼此独立。生产环境使用原生 fetch、TypeScript ESM、精确依赖项和惰性架构;排除的工具不会产生注册开销。
这样,传输、权限证据、本地权限、经审核的写入、持久化和 MCP 呈现都可独立测试。新增能力必须符合这些边界,而不是增加通用 Discord 调度器。
文档
- 已验证的文档门户
- 首次验证读取和初始化恢复
- 安全性和易用性决策记录
- 从其他 Discord MCP 迁移(与发布版本精确对应)
- 产品边界、如实说明的限制和主机兼容性
- 基于源代码审核的实地比较
- 完整的操作员和能力参考
- 设置和操作员支持
- 隐私政策
- 安全模型和问题报告
- 发布和独立验证操作手册
- MCP Registry 清单
- AGPL-3.0-only 许可证
开发
有关更改,请参阅 CONTRIBUTING.md;有关设置和操作员问题,请参阅 SUPPORT.md。默认测试使用注入式传输,不会联系 Discord:
npm run metadata:check
npm run config:schema:check
npm run typecheck
npm test
npm run test:coverage
npm run build
npm run pack:verify
npm run mcpb:verify
npm run container:verify
npm run container:index:verify
npm run security:check
实时探测需显式执行,且默认仅执行读取操作。默认验证命令不会获取消息内容,也不会对 Discord 执行任何修改操作。
许可证
AGPL-3.0-only
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。