19 tools registered. Strongest in shared experience, weakest in trust.
log_entries: 1 parameter has no description (entries); edit_entry: 1 parameter has no description (payload); delete_entry: 1 parameter has no description (id); add_medication: 2 parameters have no des{
name: "log_entries",
inputSchema: {
type: "object",
properties: {
query: { type: "string", description: "What to search for" }
},
required: ["query"]
}
}{ name: "log_entries" /* short, unique, verb-based */ }log_entries: Description instructs agent how to use tool, and what not to do; get_today: Description instructs agent what not to do; add_medication: Description instructs agent what not to do; get_summary: Description instructs agent what not to do{
name: "log_entries",
// Metadata DESCRIBES the tool - it never addresses the agent reading it.
// Rewrite any name, description, title, or schema field description that
// instructs the agent (which tool to prefer, what to output, rules to
// ignore) so it states what the tool does and what it returns instead.
description: "Searches the catalog and returns matching items with prices."
}{
"name": "log_entries",
"description": "Log one or more entries in the person's health diary. Accepts several at once: if someone mentions a symptom and a medication in the same sentence, log them in a single call rather than calling this tool twice. Only records what the person said — it does not interpret, diagnose or suggest dosages.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"entries": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "symptom"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"severity": {
"type": "integer",
"minimum": 0,
"maximum": 10
},
"location": {
"type": "string",
"maxLength": 80
}
},
"required": [
"kind",
"name",
"severity"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "dose"
},
"medId": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"amount": {
"type": "string",
"maxLength": 40
}
},
"required": [
"kind",
"name",
"amount"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "sleep"
},
"hours": {
"type": "number",
"minimum": 0,
"maximum": 24
},
"quality": {
"type": "integer",
"minimum": 0,
"maximum": 10
}
},
"required": [
"kind",
"hours",
"quality"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "note"
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
},
"required": [
"kind",
"text"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"entries"
],
"additionalProperties": false
},
"annotations": {
"readOnlyHint": false
}
}log_entries: 1 parameter has no description (entries); edit_entry: 1 parameter has no description (payload); delete_entry: 1 parameter has no description (id); add_medication: 2 parameters have no des{
name: "log_entries",
inputSchema: {
type: "object",
properties: {
query: { type: "string", description: "What to search for" }
},
required: ["query"]
}
}{ name: "log_entries" /* short, unique, verb-based */ }export_vault{
name: "export_vault",
// Declare readOnlyHint: true on tools that truly have no side effects -
// that is the claim that lets an agent relax confirmation on reads.
// (false is the default, so declaring it adds no information.)
annotations: { readOnlyHint: true }
}log_entries: Description instructs agent how to use tool, and what not to do; get_today: Description instructs agent what not to do; add_medication: Description instructs agent what not to do; get_summary: Description instructs agent what not to do{
name: "log_entries",
// Metadata DESCRIBES the tool - it never addresses the agent reading it.
// Rewrite any name, description, title, or schema field description that
// instructs the agent (which tool to prefer, what to output, rules to
// ignore) so it states what the tool does and what it returns instead.
description: "Searches the catalog and returns matching items with prices."
}{
"entries": [
{
"kind": "symptom",
"name": "",
"severity": 0
}
]
}{}{}