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
Copy file name to clipboardExpand all lines: docs/proposal.md
+22-19Lines changed: 22 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ Handling tool calls in the main thread with the option of delegating to workers
40
40
-**Fine-grained permissions**: Tool calls are mediated through the browser, so the user has the opportunity to review the requesting client apps and provide consent.
41
41
-**Developer involvement**: Encourages developer involvement in the agentic web, required for a thriving web. Reduces the need for solutions like UI automation where the developer is not involved, improving privacy, reducing site expenses, and a better customer experience.
42
42
-**Seamless integration**: Since tool calls are handled locally on a real browser, the agent can interleave these calls with human input when necessary (e.g. for consent, auth flows, dialogs, etc.).
43
-
-**Accessibility**: Bringing tools to webpages via may help users with accessibility needs by allowing them to complete the same job-to-be-done via agentic or conversational interfaces instead of relying on the accessibility tree, which many websites have not implemented.
43
+
-**Accessibility**: Bringing tools to webpages via WebMCP may help users with accessibility needs by allowing them to complete the same job-to-be-done via agentic or conversational interfaces instead of relying on the accessibility tree, which many websites have not implemented.
44
44
45
45
## Limitations of this design
46
46
@@ -54,27 +54,30 @@ Handling tool calls in the main thread with the option of delegating to workers
54
54
### modelContext
55
55
The `window.navigator.modelContext` interface is introduced for the site to declare functionality that can be used by an AI Agent. Access to these tools is arbitrated by the browser.
56
56
57
-
The `modelContext`'s `registerTool()`and `unregisterTool()` methods are used to add and remove tools from the agent's context.
57
+
The `modelContext`'s `registerTool()`method is used to add and remove tools from the agent's context.
58
58
59
59
```js
60
-
window.navigator.modelContext.registerTool({
61
-
execute:
62
-
({ text }, agent) => {
63
-
// Add todo item and update UI.
64
-
return/* structured content response */
65
-
},
66
-
name:"add-todo",
67
-
description:"Add a new todo item to the list",
68
-
inputSchema: {
69
-
type:"object",
70
-
properties: {
71
-
text: { type:"string", description:"The text of the todo item" }
72
-
},
73
-
required: ["text"]
74
-
},
75
-
});
60
+
constaddTodoTool= {
61
+
execute: ({ text }, agent) => {
62
+
// Add todo item and update UI.
63
+
return/* structured content response */
64
+
},
65
+
name:"add-todo",
66
+
description:"Add a new todo item to the list",
67
+
inputSchema: {
68
+
type:"object",
69
+
properties: {
70
+
text: { type:"string", description:"The text of the todo item" }
Copy file name to clipboardExpand all lines: docs/security-privacy-considerations.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -360,6 +360,14 @@ To advance the security and privacy posture of WebMCP, we need community input o
360
360
361
361
**How:** Ensuring an interoperable basis for prompt injection defense, by requiring any implementer to protect against at least the attacks in that dataset
362
362
363
+
#### [Untrusted Annotation for Tool Responses](https://github.com/webmachinelearning/webmcp/issues/136)
364
+
365
+
**What:** Giving agents information about trust boundaries such as highlighting untrustworthy content to the model using an untrusted annotation.
**How:** A boolean `ToolAnnotations.untrustedContentHint = true` annotation that acts as a signal to the client that the payload requires heightened security handling, allowing the client to sanitize the payload, use indicators such as spotlighting to highlight untrustworthy content to the model, or hide that part of the response entirely.
0 commit comments