mcpField
T
three.ws Herald

three.ws Herald

本地服务
three.ws通信协作255今天更新

关于 three.ws Herald

Herald 是一个 MCP 服务,让 Agent 在任务完成或卡住时,通过浏览器中的 3D 角色用语音主动告知用户。它面向希望及时收到重要提醒、而不是翻阅日志的用户,并通过稀少的打断机制控制干扰。

主要功能

  1. 013D 角色在浏览器标签页中播报消息
  2. 02announce 工具可设置重要度、语气与链接
  3. 03announce_result 根据任务结果自动决定紧急程度
  4. 04check_rail 无打扰地验证密钥与通道
  5. 05按账户所有者的在线会话投递,不可指定其他接收者

适用场景

  1. 01长时间任务完成后通知用户
  2. 02任务失败或服务异常时及时提醒
  3. 03需要用户做出决定时主动发出通知

MCP 相关

Herald 以 MCP 服务形式运行,向 MCP 客户端暴露 announce、announce_result 和 check_rail 三个工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nirholas-herald": {
"command": "npx",
"args": [
"-y",
"@three-ws/herald-mcp"
],
"env": {
"THREE_WS_API_KEY": "<THREE_WS_API_KEY>",
"THREE_WS_BASE": "<THREE_WS_BASE>",
"THREE_WS_TIMEOUT_MS": "<THREE_WS_TIMEOUT_MS>"
}
}
}
}
启动命令npx -y @three-ws/herald-mcp
需要配置的环境变量
THREE_WS_API_KEY密钥A three.ws API key (sk_live_… / sk_test_…) with the herald:announce scope, or an OAuth access token for the same account, carried as Authorization: Bearer. Required: an announcement is always delivered to the key owner's own sessions. Aliases: THREE_WS_TOKEN, THREE_WS_BEARER. Treat like a password.
THREE_WS_BASEBase URL of the three.ws API. Override only when self-hosting or targeting a preview deployment.
THREE_WS_TIMEOUT_MSPer-request timeout in milliseconds for the announce call.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@three-ws/herald-mcp0.1.0

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
keystring否去重键。共享同一键的公告只会播报一次,因此重试任务可以在每次尝试时调用此项,而不会重复播报。
urlstring否点击后跳转到的位置:绝对 https URL 或 three.ws 路径。
fromstring否消息的来源归属,会作为署名说出(“your build”、“Stripe”或 Agent 名称)。
textstring是要大声说出的一句话。限一句。写成口语,不要写成日志行。
toneenum否设置气泡颜色并选择默认手势。默认值为 alert。neutral | alert | celebrate | error
emoteenum否头像出现时做出的手势。不支持该动作的 rig 会改为挥手。wave | dance | punch | backflip
importanceinteger否0-100,默认值为 70。客户端会丢弃低于自身下限(默认值为 50)的内容,并且仅允许重要性达到 90+ 的内容在安静时段发送。故障或阻塞任务时使用 90+;任务完成时使用 60-80;可以等待查看收件箱的内容使用 50 以下。

详细介绍

@three-ws/herald-mcp

让你的 Agent 当面告诉你一件事。

这是一个只有一个理念的 MCP 服务:当 Agent 完成了重要任务,或遇到阻碍时,它不该只在你永远不会回头查看的日志里添上一行。它应该走到你面前,告诉你。

接入后,它就会这么做。你专属的 3D 伙伴会出现在当前打开的任意浏览器标签页角落,做出手势,并大声说出这句话,同时提供一个可点击的链接。

you: run the migration, then the backfill, and tell me when it's done
agent: [runs for 22 minutes]
       [calls announce_result: task "the backfill", outcome succeeded, 1320s]
your browser: your avatar walks on: "the backfill finished in 22m"

工具

工具功能
announce说一句话,并设置重要性(0-100)、语气、手势和可选链接。
announce_result报告任务已完成。紧急程度会根据结果选择,因此失败通知会穿透安静时段,而成功通知不会。
check_rail验证密钥和通道是否正常工作,同时不打扰任何人(以重要性 0 排队,所有客户端都会丢弃此通知)。

安装

npx -y @three-ws/herald-mcp

Claude Code:

claude mcp add herald -e THREE_WS_API_KEY=sk_live_... -- npx -y @three-ws/herald-mcp

Claude Desktop / Cursor(mcp.json):

{
  "mcpServers": {
    "herald": {
      "command": "npx",
      "args": ["-y", "@three-ws/herald-mcp"],
      "env": { "THREE_WS_API_KEY": "sk_live_..." }
    }
  }
}

密钥

在 three.ws/dashboard/developers 创建一个密钥,并授予 herald:announce 权限,然后将其放入 THREE_WS_API_KEY。

公告始终会发送给密钥所有者自己的在线会话。 没有接收者参数:此服务无法指定给其他任何人,因此密钥泄露后,最坏的情况也只是惹恼泄露密钥的人。可在同一页面撤销密钥。

变量必填默认值说明
THREE_WS_API_KEY是具有 herald:announce 权限的 API 密钥,或 OAuth 访问令牌。别名:THREE_WS_TOKEN、THREE_WS_BEARER。
THREE_WS_BASE否https://three.ws用于自托管或预览部署的覆盖值。
THREE_WS_TIMEOUT_MS否20000每次请求的超时时间。

何时使用(以及何时不使用)

公告之所以稀少,是刻意为之。接收客户端会应用重要性下限、速率限制、去重、安静时段和时效窗口,因此未达到门槛的内容会被丢弃,而不会排队。这正是它的特点:只有在打扰足够少见时,打断才有效。

适合:耗时任务已完成、任务失败、需要做决定、出现故障、资金发生变动。

不适合:进度更新、“开始第 3 步,共 7 步”之类的内容,以及任何之后可以阅读的信息。这些内容应放在通知收件箱中(@three-ws/notifications-mcp)。

如果没有打开任何页面接收通知,这句话会在约五分钟后过期。此通道是实时通道,不是存档。

调用示例

// something broke, and it should wake somebody up
{ "name": "announce", "arguments": {
    "text": "The payments worker has been failing for 10 minutes",
    "from": "watchdog", "importance": 95, "tone": "error",
    "url": "https://three.ws/dashboard", "key": "payments-worker-down" } }

// a long task finished, and it should not
{ "name": "announce_result", "arguments": {
    "task": "the nightly backfill", "outcome": "succeeded", "seconds": 1320 } }

// wiring check
{ "name": "check_rail", "arguments": { "note": "claude-code" } }

如何将消息发送到浏览器

POST /api/herald/announce 会将这句话排入账户的通道;页面通过 SSE 监听,并将其交给 @three-ws/herald,由它判断是否符合用户自己的规则,然后通过 3D 伙伴发送通知(如果没有 GPU,则显示无障碍卡片)。

可在 three.ws/herald 试用完整流程,包括规则引擎。

许可证

Apache-2.0。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。