Skip to main content
Glama

Hydration

get_hydration
Read-onlyIdempotent

Retrieve daily water intake logged in Garmin Connect for a date range, so you can review hydration trends and spot days with no entries.

Instructions

Water intake the user logged in Garmin Connect, day by day over a range, as Garmin returns it. Usually empty: Garmin only records hydration that is logged, so an empty result means nothing was logged, not that the user drank nothing. get_daily_summaries also carries hydration_ml per day. Up to 92 days per call: pass a period (e.g. last_7_days, last_30_days, this_month) or start_date/end_date.

Input Schema

NameRequiredDescriptionDefault
periodNoNamed period resolved in the user's time zone (weeks start Monday). Use instead of start_date/end_date.
end_dateNoLast day, YYYY-MM-DD, inclusive. Defaults to start_date. Max span 92 days.
start_dateNoFirst day, YYYY-MM-DD, inclusive. Required unless period is given.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Adds substantial context beyond annotations: the pass-through nature of the data ('as Garmin returns it'), the high likelihood of empty results and how to interpret them, and the 92-day cap. Annotations already cover read-only/idempotent safety, so this is additive. It does not describe response shape or error behavior.

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?

Front-loads what the tool returns, then the empty-result caveat, then the range mechanics. Efficient, though the empty-result explanation takes two clauses that could be trimmed slightly.

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

Completeness4/5

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

For a simple 3-param read tool with no output schema, the description covers interpretation caveats and range mechanics well. Minor gap: no note on how empty days appear in the returned series (omitted vs. zero-value).

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds the mutual-exclusivity pattern (period vs. start_date/end_date), the 92-day cap, and example period values, which is genuinely useful beyond the schema's own notes.

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?

States a specific resource and scope: 'Water intake the user logged in Garmin Connect, day by day over a range, as Garmin returns it.' It also distinguishes itself from get_daily_summaries, which is named as an alternative carrier of hydration_ml.

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?

Explains the key interpretation caveat (usually empty; empty means nothing was logged, not zero intake) and names an alternative source (get_daily_summaries hydration_ml). It also explains how to specify the range. It lacks an explicit 'prefer X when' routing sentence, but the alternative mention gives clear context.

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