2 tools registered. Strongest in WebMCP use, weakest in human experience.
No agent run recorded yet.
hopi_directory: declares no required list, so an agent cannot tell which parameters are mandatory{
name: "hopi_directory",
inputSchema: {
type: "object",
properties: {
query: { type: "string", description: "What to search for" }
},
required: ["query"]
}
}{ name: "hopi_directory" /* short, unique, verb-based */ }hopi_directory, hopi_search<!-- Give the tool a visible counterpart: a declarative form is one the person can see and use too. -->
<form toolname="hopi_directory" tooldescription="...">
<!-- the same action, as UI -->
</form>{
"name": "hopi_directory",
"description": "List all of Hopi's agent-callable tools (name, page URL, category, description). Call this first to discover the catalogue, then open a tool's url and invoke the tool named there.",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Optional category filter, e.g. money, maths, convert, text, health"
}
}
},
"annotations": {
"readOnlyHint": true
}
}hopi_directory: declares no required list, so an agent cannot tell which parameters are mandatory{
name: "hopi_directory",
inputSchema: {
type: "object",
properties: {
query: { type: "string", description: "What to search for" }
},
required: ["query"]
}
}document.modelContext.dispatchEvent(new Event("toolchange"));{ name: "hopi_directory" /* short, unique, verb-based */ }hopi_directory, hopi_search<!-- Give the tool a visible counterpart: a declarative form is one the person can see and use too. -->
<form toolname="hopi_directory" tooldescription="...">
<!-- the same action, as UI -->
</form>