Add declarative human-in-the-loop policy hints for tool execution
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 28/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- javascript
調査の方向性
Start with the proposal's ToolAnnotations schema and the registerTool example to understand the intended annotation. The work also needs resolution of the enum versus booleans, default behavior, read-only interaction, and normative guidance; completion requires an agreed schema plus minimal examples and non-normative safety guidance.
索引モデルが issue の本文から書いたものです。
説明
Problem
WebMCP tools have vastly different risk profiles (e.g., a read-only search vs. sending a payment or deleting data). Currently, there is no declarative way for a web application to communicate its expected Human-in-the-Loop (HITL) policy per tool.
Without a structured signal, User Agents (UAs) must infer risk from natural-language descriptions or tool names, leading to inconsistent UX or unsafe assumptions.
Proposal
Add an optional, advisory humanInTheLoopHint to ToolAnnotations.
enum ToolHumanInTheLoopPolicy {
"none", // Safe to run autonomously (e.g., read-only lookup)
"notify", // Run autonomously but notify user (e.g., temporary UI preference)
"review", // Requires preview/summary before finalizing (e.g., staging a draft)
"confirm" // Requires explicit approval (e.g., sending email, deleting a file)
};
dictionary ToolAnnotations {
boolean readOnlyHint = false;
boolean untrustedContentHint = false;
ToolHumanInTheLoopPolicy humanInTheLoopHint = "confirm";
};
Example Usage
document.modelContext.registerTool({
name: "email.createDraft",
title: "Create email draft",
inputSchema: { /* ... */ },
annotations: {
readOnlyHint: false,
humanInTheLoopHint: "review"
},
async execute(input) { return await createDraft(input); }
});
Why this matters
- UX Consistency: Provides a common vocabulary for tool-level expectations, enabling UAs to render standardized confirmation/review states.
- Advisory Nature: This does not replace UA safety frameworks. The UA can always ignore the hint or enforce a stricter policy (e.g., forcing a
confirmon sensitive actions even if the site requestsnone).
Open Questions
- Should this be a single enum or separate boolean hints (e.g.,
requiresConfirmationHint)? - What should the default value be? Should
readOnlyHint: trueimplicitly default to"none"? - Should high-risk categories (payments, external communication) have stricter normative guidance that overrides loose site hints?
Next Steps
If the working group is open to this direction, I can submit a PR adding this annotation schema, minimal examples, and non-normative safety guidance to the spec.
- 主要言語
- Bikeshed
- スター
- 4.7k
- フォーク
- 328
- 平均マージ
- 2日 15時間
- マージ済み PR(30日)
- 16
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
webmachinelearning/webmcp のほかの issue
-
難易度 1/5 1〜3時間 初心者へのやさしさ 72/100
webmachinelearning/webmcp#360 ·
メンテナーはふだん 1 日以内に返信
-
Say how an agent should weigh annotations that the page wrote about itself対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
webmachinelearning/webmcp#353 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
webmachinelearning/webmcp#343 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Agenda+ i18n-tracker
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
webmachinelearning/webmcp#273 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
a11y-tracker Agenda+
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
webmachinelearning/webmcp#272 · コメント 4 件 · リアクション 2 件 ·
メンテナーはふだん 1 日以内に返信
webmachinelearning/webmcp の issue をすべて見る
似ている issue
-
documentation good first issue hacktoberfest
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
level/task
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
wazuh/wazuh-dashboard-plugins#9452 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 1/5 1〜3時間 初心者へのやさしさ 77/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 82/100
cran-task-views/Agriculture#146 ·