three.ws Herald について
Herald は、Agent が作業の完了やブロックを通知するための MCP サーバーです。ブラウザのタブに表示される 3D キャラクターが音声で知らせるため、ログを確認しなくても重要な状況に気づけます。重要度のしきい値や配信ルールにより、割り込みは必要最小限に抑えられます。
主な機能
- 01ブラウザタブ上の 3D キャラクターによる音声通知
- 02重要度・トーン・リンクを設定できる announce ツール
- 03タスク結果から緊急度を決める announce_result ツール
- 04通知を妨げずにキーと経路を確認する check_rail ツール
- 05キー所有者本人のライブセッションのみへの配信
活用シーン
- 01長時間の作業が終わったときの通知
- 02ジョブの失敗やサービス障害時の即時アラート
- 03ユーザーの判断が必要な場面での通知
MCP 対応
Herald は MCP サーバーとして動作し、announce、announce_result、check_rail の各ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @three-ws/herald-mcpTHREE_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| key | string | いいえ | 重複排除キー。同じキーを持つお知らせは一度だけ通知されるため、再試行するジョブは毎回これを呼び出しても、重複して通知されません。 |
| url | string | いいえ | クリック時のリンク先。絶対 https URL または three.ws パスを指定します。 |
| from | string | いいえ | 発信元として読み上げる名前(「your build」、「Stripe」、エージェント名など)。 |
| text | string | はい | 声に出して伝える一言。一文で、ログ行ではなく話し言葉で書いてください。 |
| tone | enum | いいえ | 吹き出しの色を設定し、既定のジェスチャーを選びます。既定値は alert です。neutral | alert | celebrate | error |
| emote | enum | いいえ | アバターの登場時のジェスチャー。対応していない rig では手を振る動作になります。wave | dance | punch | backflip |
| importance | integer | いいえ | 0~100、既定値は 70 です。クライアントは独自の下限(既定値は 50)未満の通知を破棄し、通知を控える時間帯には 90 以上の通知のみを許可します。障害やブロッカーには 90 以上、タスク完了には 60~80、受信トレイで確認するまで待てる内容には 50 未満を指定してください。 |
詳細
@three-ws/herald-mcp
エージェントが直接あなたに何かを伝えられるようにします。
ひとつのアイデアを軸にした MCP サーバーです。エージェントが重要な作業を終えたときや行き詰まったとき、二度と見返さないログに一行追加するのではなく、あなたのもとへ歩み寄って知らせるべきです。
これを組み込めば、そのとおりに動作します。開いているブラウザータブの隅にあなた専用の 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)に適しています。
聞くために開いているものがなければ、メッセージは約 5 分で期限切れになります。レールはライブチャンネルであり、アーカイブではありません。
呼び出し例
// 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 に渡します。@three-ws/herald は、その人自身のルールを満たしているかを判定したうえで、3D コンパニオン(GPU がない場合はアクセシブルなカード)を通じて配信します。
ルールエンジンも含めた一連の動作は、three.ws/heraldでお試しいただけます。
ライセンス
Apache-2.0。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。