mcpField
T
three.ws Herald

three.ws Herald

ローカル
three.wsコミュニケーション255今日更新

three.ws Herald について

Herald は、Agent が作業の完了やブロックを通知するための MCP サーバーです。ブラウザのタブに表示される 3D キャラクターが音声で知らせるため、ログを確認しなくても重要な状況に気づけます。重要度のしきい値や配信ルールにより、割り込みは必要最小限に抑えられます。

主な機能

  1. 01ブラウザタブ上の 3D キャラクターによる音声通知
  2. 02重要度・トーン・リンクを設定できる announce ツール
  3. 03タスク結果から緊急度を決める announce_result ツール
  4. 04通知を妨げずにキーと経路を確認する check_rail ツール
  5. 05キー所有者本人のライブセッションのみへの配信

活用シーン

  1. 01長時間の作業が終わったときの通知
  2. 02ジョブの失敗やサービス障害時の即時アラート
  3. 03ユーザーの判断が必要な場面での通知

MCP 対応

Herald は MCP サーバーとして動作し、announce、announce_result、check_rail の各ツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの 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」、エージェント名など)。
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

エージェントが直接あなたに何かを伝えられるようにします。

ひとつのアイデアを軸にした 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。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。