Skip to main content
Glama
Fino-wind

Vaultbeat MCP Server

Wrist temperature

get_wrist_temp
Read-onlyIdempotent

Decrypt and retrieve sleeping wrist temperature samples in absolute Celsius. Coverage fields show data history; increase limit to access older records.

Instructions

Decrypt recent sleeping wrist temperature samples — ABSOLUTE °C.

⚠️ These are absolute skin temperatures (~35.5-36.5 °C), NOT baseline deltas — the legacy temperature_delta_celsius field name is a wire- contract misnomer (kept for compatibility; prefer the honest twin wrist_temperature_celsius). For cycle analysis, derive the deviation yourself: reading minus that person's rolling baseline. One sample per night. Use owner prefix to filter.

Carries a coverage block: quote coverage.days_covered (distinct days, not the row count) and coverage.span_days beside any average or trend, and read coverage.window_satisfied: false as a shorter history than asked, not as a missing kind. 🔴 Before saying how far back someone's data goes, read coverage.more_available: true means this server can decrypt days OLDER than first_day that your limit left behind — re-read with a larger limit, or quote coverage.oldest_available as the real start of their history. Never report a limit-shaped window as the extent of their data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
freshNo
limitNo
ownerNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.8.1

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint, and openWorldHint, but the description adds substantial behavioral context beyond these: the absolute vs delta distinction, the legacy field naming, the coverage block semantics, window_satisfied, more_available, and the instruction to re-read with a larger limit. It also clarifies that samples are one per night and owner filtering is available. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured: it opens with the core purpose, then warns about the absolute-vs-delta pitfall, then details the coverage block and interpretation rules. Each section adds necessary information for a complex tool with coverage semantics. It is front-loaded and not redundant, though it could be trimmed slightly for the less-critical warnings. Overall, it earns its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three optional parameters, no schema descriptions, and a rich output schema (not shown), the description is remarkably complete. It explains the main semantic trap (absolute vs delta), the coverage fields and their meanings, the concept of more_available, and the correct way to report history. The only gap is the 'fresh' parameter, but that is a minor omission given the overall depth. An agent can call this tool correctly and interpret its results without further information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the parameters. It indirectly explains 'limit' (affects how many samples are returned, can be enlarged) and 'owner' (used as a prefix to filter), but it does not mention 'fresh' at all. Given that the schema provides no descriptions, the coverage is incomplete, though the hints about limit and owner are helpful. The score reflects the partial compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Decrypt recent sleeping wrist temperature samples — ABSOLUTE °C.' It clearly distinguishes absolute skin temperatures from baseline deltas and mentions the legacy field-name misnomer, leaving no ambiguity about what data is returned. The scope (sleeping wrist temperature) is unique among sibling tools, which are mostly other metrics or logging actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance on when to use the tool and how to interpret results: it explains that baseline deviation must be derived manually, it instructs to quote coverage.days_covered and coverage.span_days, and it warns about not reporting a limit-shaped window as the full history. It does not explicitly name alternative tools for temperature, but the usage context is clear and actionable. The only missing piece is a direct 'when not to use' statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.