health_check
Check service availability, engine version, and storage health. Public method.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| version | Yes | ||
| dbLatencyMs | No |
Check service availability, engine version, and storage health. Public method.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| version | Yes | ||
| dbLatencyMs | No |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is known. The description adds value by specifying the exact aspects checked (service availability, engine version, storage health) and explicitly stating it is a public method, which informs about potential authentication requirements. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences with no wasted words. It is front-loaded with the core action and immediately lists what is checked. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter health check tool with an existing output schema and clear annotations, the description is fully adequate. It specifies exactly what is checked and that it is public, leaving no essential gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters (0 params, schema coverage 100%), so no parameter details are needed. The description correctly omits parameter information, and the baseline score of 4 applies given the complete schema coverage and absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Check' and specifies the resources: service availability, engine version, and storage health. It distinctly defines the tool's purpose without ambiguity, and it is easily distinguishable from sibling tools like slo_report which focus on performance metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'Public method' indicating accessibility but offers no explicit guidance on when to use this tool versus alternatives or when not to use it. Given the tool's simplicity (no parameters, health check), the guidance is adequate but minimal; clear context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Several tools are redundant: recall_memory is explicitly an alias of recall, and save_memory/save_to_synapse/store_memory all persist memories. This makes the tool boundary unclear for agents choosing between them, even though core operations like health_check and slo_report are distinct.
Names are consistently snake_case, but verb usage is inconsistent: save_memory, save_to_synapse, and store_memory use different verbs for the same operation, and recall/recall_memory add an alias rather than following one convention. The pattern is readable but not predictable.
Thirteen tools is not inherently excessive for an agent-memory/trust service, but the presence of multiple aliases inflates the surface and means not every tool earns its place. The effective set is smaller, making the count feel padded.
The surface covers initialization, save, list, search/recall, feedback, and handover, but there is no update or delete operation for memories. This leaves lifecycle management incomplete and may force agents to work around missing state-management operations.