You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current WebMCP spec only defines one tool annotation:
dictionary ToolAnnotations {
boolean readOnlyHint; ← only this exists
};
But MCP (which WebMCP is explicitly designed to align with) defines four annotations. Three are completely missing from WebMCP.
destructiveHint
idempotentHint
openWorldHint
destructiveHint — Without it, the browser cannot tell the difference between a safe tool and a catastrophic one (e.g. editDesign() vs deleteAccount()). It has no basis to automatically protect the user with a confirmation step.
idempotentHint — Without it, when a tab freezes or times out mid tool call, the agent cannot safely decide whether to retry. It risks either never completing the action or executing it twice (e.g. placing two orders).
openWorldHint — Without it, the browser cannot tell whether a tool sends user data to external services. It cannot warn the user or treat results from external sources with appropriate suspicion.
Activity
victorhuangwq commentedon Feb 27, 2026
Thanks for this!
Could you bring this discussion over to broader semantic hints discussion here #53?