【用途】 Omnicord 是一个 MCP 服务器,为 AI 智能体提供对 Discord 服务器的完整操作控制能力,覆盖日常聊天、审核、行政管理和从一段简介搭建整个社区服务器等场景。用户的 AI 客户端(如 Claude Desktop、Cursor、Windsurf、Claude Code 或其他 MCP 客户端)充当大脑,Omnicord 充当双手:通过用户自己的机器人连接 Discord,在问题发生前执行 Discord 规则,按速率限制排队,并把每个破坏性操作挡在需要确认的预览之后。Omnicord 本身不含 LLM,背后也没有云服务,机器人令牌保留在用户机器上的文件中。
【主要能力】
- 提供 150 多个工具,工具完整契约见项目内的工具目录。
- 覆盖聊天、审核、行政管理等日常操作,也支持根据一段简介搭建完整的社区服务器。
- 安全模型:删除、封禁、踢出、禁言、批量操作等破坏性操作不会在首次调用时执行,而是返回人类可读的预览和绑定到该具体操作的确认令牌;带令牌重复调用才会执行。令牌一次性使用,两分钟后过期。审核还会在确认门前预检 Discord 的层级规则、服务器所有者保护和自我保护,使失败以解释形式出现而非 403。该机制由 Omnicord 自身强制执行,不依赖模型判断,受干扰或被攻破的 AI 会话也无法跳过。
- 多机器人支持:一次安装可驱动多个机器人,每个服务器一个。指向某服务器时会使用实际在该服务器中的机器人,测试机器人与正式机器人或各社区独立机器人可并存,无需交换令牌。可通过向导的“how many bots”提示配置,或手动编辑 bots.json。破坏性预览会指明执行操作的机器人,以便在运行前发现错误路由。单个 DISCORD_TOKEN 用法保持不变,不受影响。
【使用方式】 需要 Node 20 或更新版本以及一个 Discord 账号。可一条命令安装,或从源码安装。向导会在大约一分钟内从空的 Discord 应用完成到可用配置:以隐藏输入方式接收机器人令牌,在线向 Discord 验证,检查特权 intent 开关并在未开启时等待用户修正,按所选权限级别生成邀请链接,把令牌保存到本地(源码检出使用被 gitignore 的 .env,npx 或全局安装使用用户文件夹中的 .omnicord/.env),并把 omnicord 条目写入 AI 客户端配置(先备份文件)。Claude Desktop(包括 Microsoft Store 版本)、Cursor、Windsurf 以及项目级 Claude Code 会被自动检测,即使尚未在其内部配置 MCP;其他客户端会得到可粘贴的片段。向导只添加 omnicord 条目,不会覆盖文件其余内容。之后完全重启 AI 客户端并询问:“run a setup check on my Discord bot”,会得到八项检查、通俗英语结果以及针对任何问题的确切修复方法。
传输方式:默认使用 stdio,适用于桌面 MCP 客户端;Streamable HTTP 适用于支持远程的客户端和自托管。由于 HTTP 端点背后是机器人令牌,默认设置严格:未设置 OMNICORD_HTTP_TOKEN 时拒绝绑定到 localhost 之外,bearer 认证使用常量时间比较,浏览器来源除非在白名单中否则被拒绝,回环模式下校验 Host 头以关闭 DNS 重绑定。Docker Hub 上有已发布镜像(orygn/omnicord),也可自行构建;镜像以非 root 用户运行 HTTP 传输,容器健康检查连接到健康端点,绑定到回环之外因此需要 OMNICORD_HTTP_TOKEN,没有时会以清晰消息退出。令牌不存放在镜像中,全部在运行时通过环境变量传入。自行构建可执行 docker build -t omnicord .;使用 compose 时,导出两个密钥后执行 docker compose up -d。
配置可通过环境变量或 .env 文件进行(向导会写入;源码检出使用 package.json 旁的 .env,npx 与全局安装使用用户文件夹中的 .omnicord/.env)。多机器人配置在同一目录的 bots.json 中。客户端配置中不放令牌,服务器无论客户端从何处启动都能找到 .env 和 bots.json:依次检查 OMNICORD_HOME(若设置)、当前目录、包根目录、用户文件夹中的 .omnicord,真实环境变量优先于以上所有。
【适用场景】 适合希望用 AI 助手管理 Discord 服务器的用户,包括日常聊天与审核、行政管理,以及从一段简介快速搭建完整社区服务器;也适合需要在一台安装中管理多个机器人或多个社区服务器的场景。
【限制】
- 需要 Node 20 或更新版本以及 Discord 账号。
- 破坏性操作必须经过确认门,无法跳过。
- HTTP 传输默认严格限制,绑定到回环之外需要 OMNICORD_HTTP_TOKEN。
- 验收套件需要 DISCORD_TOKEN 和指向一次性测试服务器的 OMNICORD_GUILD;单元与冒烟套件不需要 Discord 令牌。
- 许可证为 Elastic License 2.0(source available):任何人可自由阅读、使用、修改和自托管,包括运营自己社区的企业;唯一禁止的是将 Omnicord 作为托管或管理服务提供给第三方。代码公开以便审计,不可作为服务转售。
- 版本遵循语义化版本,记录在 CHANGELOG.md 中,1.0.0 为公开发布版本。
其他信息:文档也面向 AI 助手编写,可把页面粘贴给 AI 让其引导操作。Omnicord 也列在官方 MCP 注册表、Smithery 和 Docker Hub 上。项目由 Orygn LLC 构建,安全报告邮箱 security@orygn.tech。