3 tools registered. Strongest in usefulness, weakest in human experience.
No agent run recorded yet.
// Use the canonical entry point - navigator.modelContext is deprecated.
document.modelContext.provideContext({ tools: [/* ... */] });get_profile, list_blog_posts, get_blog_post{
name: "get_profile",
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true }
}get_profile, list_blog_posts, get_blog_post<!-- Give the tool a visible counterpart: a declarative form is one the person can see and use too. -->
<form toolname="get_profile" tooldescription="...">
<!-- the same action, as UI -->
</form>{
"name": "get_profile",
"description": "Return Konstantinos Botonakis profile, contact details, and canonical links.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"annotations": {}
}// Use the canonical entry point - navigator.modelContext is deprecated.
document.modelContext.provideContext({ tools: [/* ... */] });list_blog_posts: 2 parameters have no description (limit, topic); get_blog_post: 2 parameters have no description (id, slug){
name: "list_blog_posts",
inputSchema: {
type: "object",
properties: {
query: { type: "string", description: "What to search for" }
},
required: ["query"]
}
}get_profile, list_blog_posts, get_blog_post{
name: "get_profile",
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true }
}duplicate tool name registered: get_profiletry {
document.modelContext.provideContext({ tools: [/* ... */] });
} catch (err) {
console.error("WebMCP registration failed", err);
}document.modelContext.dispatchEvent(new Event("toolchange"));get_profile, list_blog_posts, get_blog_post<!-- Give the tool a visible counterpart: a declarative form is one the person can see and use too. -->
<form toolname="get_profile" tooldescription="...">
<!-- the same action, as UI -->
</form>