4 tools registered. Strongest in WebMCP use, weakest in human experience.
No agent run recorded yet.
// Use the canonical entry point - navigator.modelContext is deprecated.
document.modelContext.provideContext({ tools: [/* ... */] });search_pages, navigate_to_page, subscribe_to_newsletter, open_contact_sales<!-- Give the tool a visible counterpart: a declarative form is one the person can see and use too. -->
<form toolname="search_pages" tooldescription="...">
<!-- the same action, as UI -->
</form>{
"name": "search_pages",
"description": "Search the Knock marketing site for pages matching a free-text query. Returns matching pages with their path, title, and description. Use this to help a user find the right page before navigating.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free-text search query. Matches title, description, path, and keywords (case-insensitive)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10,
"description": "Maximum number of results to return."
}
},
"required": [
"query"
]
},
"annotations": {
"readOnlyHint": true
}
}// Use the canonical entry point - navigator.modelContext is deprecated.
document.modelContext.provideContext({ tools: [/* ... */] });navigate_to_page, subscribe_to_newsletter, open_contact_sales{
name: "navigate_to_page",
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true }
}subscribe_to_newsletter: user, email{ name: "subscribe_to_newsletter", annotations: { untrustedContentHint: true } }document.modelContext.dispatchEvent(new Event("toolchange"));{ name: "navigate_to_page" /* short, unique, verb-based */ }search_pages, navigate_to_page, subscribe_to_newsletter, open_contact_sales<!-- Give the tool a visible counterpart: a declarative form is one the person can see and use too. -->
<form toolname="search_pages" tooldescription="...">
<!-- the same action, as UI -->
</form>