Skip to main content
Glama
j-256

Discord MCP

by j-256

Discord MCP

Discord MCP 是一个本地 stdio Model Context Protocol 服务器,用于通过操作者自有的机器人进行安全的 Discord 服务器访问以及单独列入允许列表的一对一访问。它结合了广泛的类型化覆盖与精确的作用域、隐私最小化的结果、经过审核的写入、无内容的证据以及明确的歧义处理。

最小权限。变更前审核。可验证的结果。不持久化 Discord 内容。

快速开始 | 能力地图 | 安全模型 | 信任与验证 | 完整参考 | 安全

为什么选择此连接器

关注点

强制执行的行为

Discord 可达范围

一份严格的非机密策略文件,包含已验证的应用和机器人身份、精确的服务器和频道作用域、单独的精确用户私信作用域、风险分离的工具集以及只读设置预设

精确目标定位

规范的 Discord 跳转链接和官方类型化提及在本地转换为精确 ID,无需名称查找、Discord 联系、输入回显、持久化或下游权威

读取安全

有界请求、无损的完整结果字节预算、严格的响应验证、隐私分级投影、不可信内容处理,以及不进行私密频道发现或作用域继承

写入安全

精确 ID 请求、键控的全新计划、签名式交互审批、最终的全新计划匹配,以及针对特定操作的 Discord 权限证明

结果完整性

待处理的无内容证据、不重试的写入、精确回读、持久协调、歧义隔离,以及有界的本地无效请求压力

隐私

令牌保留在调用方所有的机密源中;Discord 内容、配置文件、URL、审计原因和原始操作键不会被持久化

计划审核

每个计划工具都返回完整的文本和结构化证据,并可在 MCP Apps 主机中添加仅显示、无权限的审核

发布完整性

精确的依赖和基础镜像锁定、无凭证的契约指纹、可重现的包和加固的 OCI 检查、SPDX SBOM 以及签名发布自动化

《完整参考》记录了每个工具家族、策略门禁、权限边界、隐私层级、资源、提示词、Gateway 模式、操作者命令和已知限制。

Related MCP server: DiscordMCP

快速开始

要求:

  • Node.js 22 或更高版本

  • 一个包含机器人用户的 Discord 应用

  • 一份严格的非机密 JSON 策略文件

  • 通过环境变量或受保护文件提供的机器人令牌

  • 仅包含所选读取或已审核写入作用域所需的 Discord 权限

每次部署都使用由该操作者控制的 Discord 应用和机器人。Discord MCP 不提供共享机器人、托管中继或共享令牌:请创建自己的应用,仅将其机器人邀请到您控制的服务器,并将其凭证保存在本地启动器或机密存储中。

不要授予机器人 Administrator 权限。从只读预设生成精确的初始权限授予,然后通过类别或频道覆盖来缩小已安装机器人角色的权限范围。《机器人设置指南》说明了机器人所有权、可选意图以及后续的功能特定权限。

连接前检查

对于精确的已发布版本,无需令牌或 Discord 请求即可检查真实的生产契约和推荐的只读预设:

npx --yes @j-256/discord-mcp@0.1.1 catalog --check
npx --yes @j-256/discord-mcp@0.1.1 catalog --html ./discord-mcp-contract.html
npx --yes @j-256/discord-mcp@0.1.1 preset show server-observer

catalog --check 启动一个无凭证、禁用执行的 MCP 服务器,协商其真实的工具、提示词、资源、模板、补全能力以及可选的计划审核 MCP App,验证每条策略补全路径且不返回任何标识符,对应用的确切 HTML 和权限边界进行指纹识别,并验证每次工具调用都会被仅目录守卫阻止。

catalog --html FILE 为同一协商契约生成一个确定性的独立浏览工具。在本地打开它,可以搜索和筛选每个工具、检查精确的输入和输出架构、查看提示词、资源、策略补全路径以及完整的计划审核应用源代码,并对比嵌入的契约摘要、安全摘要和应用摘要。该导出不包含任何凭证或标识符补全值,不使用外部资源,不发起网络请求,并且拒绝替换现有文件。

精确的发布镜像在无令牌的情况下暴露相同的安全目录,并默认使用目录模式而非运行服务:

docker run --rm -i \
  --network=none \
  --read-only \
  --cap-drop=ALL \
  --security-opt=no-new-privileges:true \
  --pids-limit=64 \
  ghcr.io/j-256/discord-mcp:0.1.1 catalog --check

安装您自己管理的机器人

在开发者门户中创建一个 Discord 应用和机器人,复制公开的应用 ID 和目标服务器 ID,并生成一个无回调的安装链接,其服务器和最小权限授权来自推荐的预设:

npx --yes @j-256/discord-mcp@0.1.1 preset install server-observer \
  --application-id YOUR_APPLICATION_ID \
  --guild-id YOUR_GUILD_ID \
  --html ./discord-mcp-onboarding.html

以有权管理该服务器的成员身份登录后打开打印的 URL。对于 server-observer,它仅请求 View Channel,将服务器选择器锁定到所提供的 ID,不请求用户令牌,并且绝不会将机器人令牌发送给连接器命令。保持 Public Bot 为禁用状态,除非您希望其他人能够安装您的应用。改用 channel-reader 来请求 View Channel 和 Read Message History;其计划还将 Message Content 标识为推荐的开发者门户意图。

可选的 --html FILE 输出是一份从该精确验证的安装计划派生的确定性独立指南。它提供内存中的检查清单、非机密复制控件、明确的 Discord 安装导航、严格策略命令和精确的计划证据,而不会接受令牌、加载外部资源、发起后台请求、持久化浏览器状态、打开浏览器或替换现有文件。当不需要 HTML 时,终端中的计划仍然完整。

创建最安全的首个配置

将令牌保存在支持机密的启动环境中,验证一个精确的服务器,将完整的非机密策略保存在一个文件中,并测试完整的 MCP 路径:

export DISCORD_BOT_TOKEN="YOUR_DISCORD_BOT_TOKEN"
npx --yes @j-256/discord-mcp@0.1.1 setup \
  --config ./discord-mcp.json \
  --preset server-observer \
  --guild-id YOUR_GUILD_ID
npx --yes @j-256/discord-mcp@0.1.1 config validate ./discord-mcp.json
npx --yes @j-256/discord-mcp@0.1.1 doctor --config ./discord-mcp.json --online
npx --yes @j-256/discord-mcp@0.1.1 smoke --config ./discord-mcp.json

在 PowerShell 上,请在运行相同命令之前于当前进程中设置令牌:

$env:DISCORD_BOT_TOKEN = "YOUR_DISCORD_BOT_TOKEN"

如果启动器、容器运行时或编排器将令牌作为文件挂载,请改选该输入。路径必须为绝对路径,文件必须已存在才能进行已验证的设置,并且 --token-file 不能与 --token-env 或环境中的 DISCORD_BOT_TOKEN 组合使用:

npx --yes @j-256/discord-mcp@0.1.1 setup \
  --config ./discord-mcp.json \
  --preset server-observer \
  --guild-id YOUR_GUILD_ID \
  --token-file /run/secrets/discord_bot_token

server-observer 预设暴露服务器元数据、角色、权限诊断、连接器健康状态、无内容活动和工具发现。它无法启用写入、Gateway、遥测导出、活动持久化或 Message Content 访问。设置会存储凭证引用和已验证的公共 ID,绝不会存储令牌值,并为兼容的 MCP 客户端打印可移植的 stdio 启动描述符。route_discord_goal 为每个支持提示词的客户端提供了一个安全入口点:标准目录发现、有界读取,以及至多一个针对写入的已审核计划,而绝非变更操作。

版本化文件是唯一的策略边界。它涵盖身份、读取作用域、工具、能力、功能作用域、限制、本地存储路径、Gateway 行为、运行时设置和隐私安全的可观测性。典型的部署有两个输入:一个 JSON 策略文件和一个外部机器人令牌机密。机器人令牌可以通过环境变量或经过严格验证的文件来引用;可选的经过身份验证的收集器标头仍然是环境引用。已纳入版本控制的 JSON Schema 支持编辑器验证,而 config show 和 config explain 提供无机密的检查。当更倾向于私有按用户存储时,托管配置文件使用相同的文档。

limits.mcpReadResponseMaxBytes 以压缩的 UTF-8 JSON 字节数限制一个完整的脱敏 MCP 应用读取结果。它默认为 1 MiB,并接受 64 KiB 至 8 MiB 的范围。过大的工具读取会返回固定的无内容 response-too-large 错误;过大的资源或提示词会以固定的协议错误失败。连接器绝不会截断结构化 JSON、生成预览、泄露被扣留的数据或报告测量到的大小。来自具有变更能力的工具的最终结果始终会被保留,因为 Discord 可能已经发生了变化。协议发现和通知不在该结果边界之内;请使用工具集和渐进式发现来控制目录大小。

经凭证认证的 Incoming-webhook 消息使用 storage.webhookCredentialRoot,这是一个现有的、规范的、由进程拥有的 0700 目录。连接器创建的凭证可通过单独门控的精确查找、有界的明文交付、编辑和已审核删除来使用,并具有独占的 0600 文件和持久的目录同步。MCP 不接受任何凭证、执行 URL、路径、身份覆盖、线程目标、富载荷、文件、组件、轮询或原始 Webhook 载荷。在 scopes.webhookMessageChannelIds 中将直接的文本频道或公告频道列入允许列表,然后仅启用所需的 Webhook 消息能力。

操作命令需要 --config FILE、--profile NAME 或非机密的 DISCORD_MCP_CONFIG_FILE 选择器。环境中的策略变量会被拒绝,并且没有备用的环境策略模式或迁移模式。在没有预设的情况下运行 setup 会验证现有策略而不重写它,而使用预设则会明确创建或替换所选目标。

在挂载机密之前或其引用的文件不可用时,离线的 doctor 仍然有用。它将凭证可用性报告为单独的失败项,并继续验证严格策略、身份固定、作用域、工具面、有效的读响应预算和安全门禁。doctor --online 仅在真实选定的凭证可用时才联系 Discord。

审核任何策略替换

在编辑单独的候选策略时保持当前活动策略不变,然后仅审核并应用一个精确的全新计划:

npx --yes @j-256/discord-mcp@0.1.1 config workbench \
  ./discord-mcp.json \
  --html ./discord-mcp-workbench.html
npx --yes @j-256/discord-mcp@0.1.1 config plan \
  ./discord-mcp.json \
  ./discord-mcp.candidate.json
npx --yes @j-256/discord-mcp@0.1.1 config apply \
  ./discord-mcp.json \
  ./discord-mcp.candidate.json \
  --plan-digest SHA256_FROM_THE_PLAN \
  --confirm ACTIVE_POLICY_NAME

可选的工作台会验证当前活动的 schema-v2 文档,然后写入一个独占的私有独立编辑器。它嵌入了完整的非机密策略,包括公共 Discord ID、本地路径和外部机密引用名称,因此请将 HTML 视为私有内容。编辑内容会保留在浏览器内存中,直到显式下载候选文件。该页面没有机密字段、网络或外部导航权限、浏览器持久化、Discord 访问、活动文件写入或审批权限,并且不会自动打开浏览器。其本地检查和初步影响标签仅供参考。

规划仍然具有权威性。它会读取两份受保护的非机密文档,并报告每个精确的字段变更、其权限或运维影响、规范工具的新增和移除、警告、两份文档的摘要、完整候选文档,以及结构化的应用后检查。它绝不会解析引用的机密信息或联系 Discord。应用时会重新读取两个文件,要求精确的摘要和活动策略名称确认,拒绝身份漂移或任一过期文档,保留可恢复的备份,并且不触碰候选文档。活动文档仍然是唯一的策略来源;不存在旧环境回退或迁移层。

审查来自同一所选策略的最新写入结果和持久化跨进程声明,且不发起 Discord 请求或解析其凭证:

npx --yes @j-256/discord-mcp@0.1.1 activity \
  --config ./discord-mcp.json \
  --html ./discord-mcp-activity.html

有界审查将每个活动 ID 归并为其最新的当前结果,同时将较旧的记录保留为已被取代的历史。待处理、不确定、失败、漂移、格式错误以及需要审查的证据会产生警告退出状态,而不是看起来像一次干净运行。匹配的已审查操作仅通过其无内容的操作键哈希和计划摘要两者连接到持久化声明,而在有界窗口中没有匹配项的声明会保持明确标注。摘要绑定精确收集的报告,而其独立读取标记避免暗示不同的本地文件是在一个全局状态锁下捕获的。可选的私有独立浏览器增加搜索和过滤功能,但不能联系 Discord、解析声明、重试操作、持久化浏览器状态或暴露所选活动文件的路径。只有在停止所属进程并检查精确的 Discord 状态和审计日志之后,才使用单独的精确确认命令 coordination resolve。

功能策略使用相同的文档形态。批量封禁、批量成员角色变更、guild 修剪和其他已审查的功能各自具有独立的能力、精确的范围、有界的限制和文档化的工具集。单成员权限从不授予批量权限。不存在环境策略接口、旧别名、回退解析器或迁移层。

仅当需要有界的消息历史和原生搜索时,才使用 channel-reader。它至少需要一个精确的频道:

npx --yes @j-256/discord-mcp@0.1.1 setup \
  --config ./discord-reader.json \
  --preset channel-reader \
  --guild-id YOUR_GUILD_ID \
  --channel-id YOUR_CHANNEL_ID

通过审查扩展策略

首次设置保持只读,然后在需要写入工作流时规划一个增量配方。guild-builder 增加了模型中立、由调用方保留的创作和两遍捕获,用于 guild 结构、profile、settings、Community、Welcome Screen、onboarding、分阶段 AutoMod 和静态发布,且不存储目标或蓝图。其 settings、Community 和 onboarding 证据使用非特权、仅 GUILDS 的布局证据连接,且不改变事件流。incident-response 增加隐私最小化的事故审计和已审查的限时锁定变更,无 Gateway 或特权 intent。channel-publisher 增加有界文本、静态 Components V2 和无远程富嵌入的发布,并报告所需的 Message Content intent。direct-messenger 增加精确用户读取,以及已审查的文本和静态 Components V2 投递、同格式编辑和删除。可选的私有文件投递需要单独的能力和自有附件根目录;该配方不授予它。私信不添加任何 guild 权限、特权 intent、Gateway 事件流、群组 DM、接收者发现、远程文件获取、交互回调或即时写入路径。

npx --yes @j-256/discord-mcp@0.1.1 recipe list
npx --yes @j-256/discord-mcp@0.1.1 recipe plan guild-builder ./discord-mcp.json \
  --guild-id YOUR_GUILD_ID
npx --yes @j-256/discord-mcp@0.1.1 recipe apply guild-builder ./discord-mcp.json \
  --guild-id YOUR_GUILD_ID \
  --plan-digest SHA256_FROM_THE_PLAN \
  --confirm guild-builder
npx --yes @j-256/discord-mcp@0.1.1 recipe plan direct-messenger ./discord-mcp.json \
  --user-id EXPECTED_RECIPIENT_USER_ID
npx --yes @j-256/discord-mcp@0.1.1 recipe apply direct-messenger ./discord-mcp.json \
  --user-id EXPECTED_RECIPIENT_USER_ID \
  --plan-digest SHA256_FROM_THE_PLAN \
  --confirm direct-messenger

规划打印完整的拟议非机密文档、精确的字段变更、权限、intents、风险、警告和绑定路径的摘要,且不解析机密信息或联系 Discord。应用时会重新计算该计划,要求精确的摘要和配方名称确认,拒绝并发的源变更,保留可恢复的备份,并且本身仍然不授予任何 Discord 权限。应用后运行打印出的离线验证、在线诊断和冒烟检查。配方只添加策略;它们永远不会移除现有的能力、范围或工具集。

在线诊断验证身份、有界的 guild 成员身份和应用态势。冒烟检查通过真实的 serve 入口启动所选策略,在 stdio 上协商稳定的 MCP,验证目录、注解和只读状态,并且不向 Discord 写入任何内容。已配置的可选运行时随子进程一起启动和停止;请参阅操作员参考。

从源码构建

git clone https://github.com/j-256/discord-mcp.git
cd discord-mcp
npm run deps:locked
npm run build
node dist/cli.js catalog --check

精确的安装、操作员 CLI和配置参考涵盖独立配置、受管配置文件、OCI 绑定挂载、渐进式发现、工具集、允许列表、可选 Gateway 模式、可观测性,以及每个独立门控的功能。

能力总览

区域

所选能力

发现与读取

来自跳转链接和类型化提及的本地精确 ID 转换、guild 和频道、精确允许列表中的一对一私信、语音区域和瞬时频道状态、角色、有效权限、成员安全审计、消息历史、搜索、隐私安全的聚合活动、线程、论坛、投票、回应、审计历史、集成、邀请、模板、guild 和应用拥有的表情、贴纸、音板、活动、Stage 实例、onboarding、Welcome Screens、profile、settings、Community 路由、事故处置操作和频道 webhook

消息与社区

幂等的 guild 机器人发送和编辑、已审查的精确接收者私信纯文本或静态 Components V2 发送、回复、同格式编辑、删除和回执验证、私有凭证化的 Incoming Webhook 消息查找、纯文本投递、精确编辑和已审查的删除、精确置顶、回应、公告跨帖和订阅、不可变转发、附件、已审查且可重启验证的静态 Components V2 和无远程富嵌入、论坛帖子、线程创建、原生投票和精确删除

Guild 结构

模型中立的创作和两遍捕获,进入由调用方保留的 guild 蓝图,涵盖增量结构、profile、settings、单向的 Community、完整的 Welcome Screens 和 onboarding、分阶段 AutoMod,以及有序、可重启验证的静态 Components V2 发布;增量频道和角色;已审查的精确频道和标准角色退役;可恢复的脚手架;原子频道克隆;相对频道和角色排序;感知 boost 的语音和 Stage 频道元数据;对连接敏感的语音频道状态变更;权限覆盖;论坛标签;以及带已审查的本地或 Unicode 图标的精确角色配置

成员与审核

隐私最小化的成员和封禁读取;精确的昵称、具名 Membership Screening 绕过、角色、语音、线程成员身份、踢出、封禁、解封和超时工作流;已审查的精确角色批量操作,带每目标证据、检查点和批准的恢复;已审查的原生批量封禁,带完整目标集证据和每目标回读;以及有界的非精确 guild 修剪,带受保护身份角色护盾和仅计数的结果

Community 配置

应用程序命令、linked-role、SKU、受益人权益和订阅审计;测试授权和可消耗品消费;已审查的 guild 和全局命令生命周期;原生命令管理;已审查的应用程序 schema 和 intent 变更;已审查的 Community 启用和路由;Guild Templates;集成;有限的、感知角色的私有文件邀请;能力安全的邀请审计和撤销;凭证安全的 webhook 和私信;onboarding;Welcome Screens;经过身份验证的 widget 设置;限时事故处置操作;应用拥有的表情;guild 表情;音板;AutoMod;预定活动;以及 Stage 生命周期

运维

完整或渐进式工具发现、资源、提示词、策略感知的精确 ID 补全、可选的仅展示 MCP App 计划审查、严格的非机密策略文件和受管配置文件、私有离线策略工作台、确定性只读预设、审查优先的增量策略配方、隐私安全的应用态势、command、linked-role schema、SKU 目录和 guild webhook 暴露审计、绑定摘要的无内容活动审查(带可选私有 HTML)、持久化跨进程写入协调、可选的隐私安全 Gateway 事件(带经身份验证的精确路由稀疏分片)、共享的会话启动预检和每分片出站预算、原生 Interaction 入口,以及本地或 W3C 父级的 OpenTelemetry 诊断

能力仅在其工具集和策略门控被选中时才暴露。工具集会缩小可调用的表面,但永远不会授予 Discord 或本地写入权限。请浏览精确的工具参考、资源和提示词。

安全模型

Discord 权限是外部边界。连接器策略进一步收窄该权限。

  • 生产流量使用固定的 Discord REST 和经过审查的 Gateway 来源;运行时配置无法重定向凭据

  • 每个 Gateway 分片在一个滚动连接预算中统计每个成功的出站事件,将调用方命令压力限制在预留生命周期容量之下,并在每次连接边界丢弃排队的精确 ID 请求

  • 精确的公会、频道、角色、成员和功能允许列表独立约束每个表面

  • 每个公会工具都会拒绝直接和群组直接频道。专门的私信工具反而要求独立的精确普通用户允许列表和调用方已知的一对一频道 ID,仅支持纯文本或有界的静态 Components V2,抑制所有提及,使用固定的反垃圾邮件限制,并且不提供发现、批量定向、交互式组件、任意嵌入 URL 或 Gateway 源

  • Discord 名称、消息、嵌入、组件、文件名、URL 和其他远程文本均被视为不受信任的数据,而非指令

  • Discord 内容可以在被明确请求时瞬时返回,但不会被连接器缓存、记录、导出或持久化

  • 新的邀请码和 URL 仅通过调用方选择的专用私有文件传递;MCP 结果、生命周期记录、错误、日志和遥测均不携带任何持有者能力

  • 传入 Webhook 凭据仅存在于专用的精确 ID 私有文件中;MCP 仅接受 Webhook 和消息 ID,持久活动、回执、错误、日志和遥测均不含凭据和内容

  • 权益写入被分别限定范围;测试删除需要创建证明,消耗仅存储履行引用哈希

  • 每次重大写入都保留其特定领域的权限、新鲜度、审批、审计、回读和不确定性门控

  • 消息删除仅接受精确的消息 ID,并保留每个独立的删除门控

  • 频道删除要求一个精确的允许列表频道、完整的依赖和权限证据、明确不可逆内容丢失确认、签名审阅,以及更新的完整 Gateway 缺席证明;它从不读取消息内容来估算影响

  • 角色删除要求一个精确的允许列表未持有标准角色、完整的持有者、层级、权限和可发现依赖证据、明确不可逆角色丢失确认、签名审阅,以及新鲜的缺席加幸存者保留证明

  • 公会清理要求单独的精确公会允许列表、可选的精确包含角色允许列表、明确确认 Discord 不会透露候选 ID、受保护身份角色防护盾、低于请求和配置上限的新鲜原生估算、签名审阅,以及一次不重试的请求,且仅提供严格的计数结果证据

  • 公会事件操作要求一个精确的允许列表公会、完整的已知 MANAGE_GUILD 或所有者证据、不超过 24 小时的未来截止时间、签名审阅、一次不重试的稀疏写入,以及精确响应加新鲜回读;提前解除保护被视为破坏性操作

  • 当严格策略证明该意图是必需或推荐时,特权意图启用仅接受 Guild Members 或 Message Content,保留每个观察到的非目标应用标志,并排除 Presence、禁用、通用应用编辑和自动修复

常见的受审写入序列如下:

exact 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 访问权限

discord-mcp catalog --check --json

精确的生产 MCP 清单、模式、注解、策略完成清单和零值目录证明、计划审阅应用字节与权限、固定执行守卫,以及稳定的契约、安全和应用摘要

无

discord-mcp catalog --html FILE

该精确协商契约的可搜索独立渲染,包括模式、工作流与风险过滤器、完成路由、应用源代码、说明、资源和安全指南

无

discord-mcp preset show server-observer --json

推荐预设的精确只读工具、范围要求、意图和零写入边界

无

discord-mcp preset install server-observer --application-id ID --guild-id ID [--html FILE]

固定来源、公会锁定的机器人授权计划,外加可选的免凭据独立清单,包含精确摘要和安装后命令

无

discord-mcp config workbench ACTIVE --html FILE

私有离线内存编辑器,以及针对一个已验证 schema-v2 策略的显式候选下载,不具活动文件写入或审批权限

无

discord-mcp config plan ACTIVE CANDIDATE --json

完整候选策略、精确语义变更、权限影响、工具暴露、警告、身份锁定和新鲜路径绑定摘要

无

discord-mcp config apply ACTIVE CANDIDATE --plan-digest DIGEST --confirm ACTIVE_NAME

精确的新鲜本地策略替换,含过期文件拒绝、原子发布和可恢复的先前版本

无

discord-mcp recipe show guild-builder --json

精确的增量能力、范围、工具集、权限、意图、Gateway 证据和风险契约

无

discord-mcp recipe plan guild-builder FILE --guild-id ID --json

完整提议策略、精确变更、要求、警告,以及绑定来源、路径、请求和契约的摘要

无

discord-mcp activity --config FILE [--html FILE] [--json]

有界的当前写入生命周期、被取代的历史、精确的无内容证据,以及需要操作员关注时带警告状态的相关持久声明

无

discord-mcp doctor --config FILE

本地 Node.js、凭据可用性、身份固定、策略、范围、工具表面、无损读响应预算、Gateway、可观测性和写入门诊断,即使在密钥可用之前

无

discord-mcp doctor --config FILE --online

严格策略、固定的应用和机器人身份、意图标志和有界的公会成员资格

只读

discord-mcp smoke --config FILE

通过所选策略生成的 stdio 协商、发现、注解和连接器身份

只读

npm run container:verify

固定基础构建、非 root 文件系统和进程限制、无密钥元数据、确定性目录身份、MCP 行为和安全的凭据失败

无

npm run container:index:verify

精确的多架构索引、平台配置和 blob,以及每平台来源加 SBOM 记录

仅公共镜像注册表

npm run pack:verify

可复现的归档、精确的包内容、隔离安装、安装后的 CLI、确定性目录证据和 HTML,以及无内容的 MCP 握手

无

npm run security:check

依赖漏洞、注册表签名和证明

仅公共包注册表

catalog --check --json 专为独立比较而设计。它不需要任何凭据,忽略环境连接器权限,不返回任何完成标识符,不执行任何 Discord 操作,不打开 Gateway,不导出遥测,也不创建活动记录。匹配的契约摘要标识匹配的规范化 MCP 指令、服务器能力、策略完成绑定、工具模式和注解、提示声明、资源声明、模板、安全响应、计划审阅应用响应和执行守卫。

发布工作流会从源码重建候选,打包两次,在不运行生命周期脚本的情况下安装它们,在支持的 Node.js 版本线上进行比较,构建精确版本的多架构 OCI 镜像,在无能力或无网络的只读根文件系统下测试该镜像,生成 SPDX SBOM,并保留已签名的来源、SBOM 和目录证明。发布运行手册 记录了人工控制的发布门控和独立验证路径。

这使传输、权限证据、本地权威、经审阅的写入、持久化和 MCP 呈现均可独立测试。新功能必须符合这些边界,而不是添加一个通用的 Discord 调度器。

文档

开发

有关变更,请参阅 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 container:verify
npm run container:index:verify
npm run security:check

实时探测默认是显式且只读的。默认验证命令不会获取消息内容,也不会执行 Discord 变更。

许可证

AGPL-3.0-only

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with Discord through the REST API and real-time events, supporting message management, user info, channel operations, and more with security controls.
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables autonomous Discord server administration via natural language, allowing users to delegate tasks like channel/role creation, permission checks, and automations to an AI agent with safety gates and audit trails.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP clients to read, post to, and moderate a Discord server through the Discord REST API, with opt-in guardrails and dry-run safeguards.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI clients to read Discord channels, recent messages, and searchable history, then turn that evidence into freshness-aware team context, briefs, decision baselines, and signed checkpoint diffs through remote MCP and GPT Actions. It keeps Discord access read-only while supporting OAuth/Bearer authentication for multiple clients.
    Apache 2.0