5 tools registered. Strongest in WebMCP use, weakest in human experience.
No agent run recorded yet.
search_content, list_examples, get_example, recommend_plan, navigate_to<!-- Give the tool a visible counterpart: a declarative form is one the person can see and use too. -->
<form toolname="search_content" tooldescription="...">
<!-- the same action, as UI -->
</form>{
"name": "search_content",
"description": "Full-text search across Runtype's blog posts and product changelog. Use to find announcements, recently shipped features, fixes, and explainer articles. Returns titles, summaries, dates, and links — not full article bodies.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search keywords, e.g. \"slack agent\" or \"evals\"."
},
"source": {
"type": "string",
"enum": [
"all",
"blog",
"changelog"
],
"description": "Which content to search. Defaults to \"all\"."
}
},
"required": [
"query"
],
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true,
"untrustedContentHint": true
}
}recommend_plan: declares no required list, so an agent cannot tell which parameters are mandatory{
name: "recommend_plan",
inputSchema: {
type: "object",
properties: {
query: { type: "string", description: "What to search for" }
},
required: ["query"]
}
}document.modelContext.dispatchEvent(new Event("toolchange"));{ name: "navigate_to" /* short, unique, verb-based */ }search_content, list_examples, get_example, recommend_plan, navigate_to<!-- Give the tool a visible counterpart: a declarative form is one the person can see and use too. -->
<form toolname="search_content" tooldescription="...">
<!-- the same action, as UI -->
</form>