Skip to main content
Glama
KaiTries

garmin-connect-mcp

by KaiTries

get_recovery

Read-onlyIdempotent

Retrieves day-by-day Garmin recovery metrics—sleep, HRV, resting heart rate, stress, Body Battery, and steps—with range averages for a chosen period.

Instructions

Day-by-day recovery picture: sleep (duration, score, stages, bedtime), overnight HRV and its 7-day average, resting HR, stress, Body Battery and steps, plus range averages. Defaults to the last 7 days; at most 92 days per call.

Input Schema

NameRequiredDescriptionDefault
end_dateNoYYYY-MM-DD, 'today' or 'yesterday'
start_dateNoYYYY-MM-DD, 'today' or 'yesterday'

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuine operational behavior beyond that: the implicit 7-day default window and a hard 92-day ceiling per call. It does not discuss pagination or truncation near the 92-day limit, but on balance it adds real constraints.

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?

Two sentences, no filler, with the payload contents front-loaded and the range rules as a trailing constraint. The metric list is dense but each item is informative, not restated boilerplate.

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?

With an output schema present, the description does not need to explain return values, and the inline enumeration of metrics plus range behavior covers what an agent needs to call it. The remaining gap is sibling disambiguation against get_day_detail, which an agent may need to resolve elsewhere.

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 the schema already documents start_date/end_date formats ('YYYY-MM-DD', 'today', 'yesterday') and baseline would be 3. The description adds meaning the schema does not: what happens when both are null, and the maximum span the two dates may cover.

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

Purpose4/5

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

The description names a specific resource and enumerates exactly what the 'recovery picture' contains (sleep, HRV, resting HR, stress, Body Battery, steps, range averages), which lets an agent predict the payload. It never names a sibling or states how it differs from get_day_detail or get_training_summary, which likely overlap on sleep/HRV data.

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

Usage Guidelines3/5

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

Usage is only implied via the default window ('Defaults to the last 7 days') and the per-call cap. There is no statement of when to prefer this over get_day_detail or get_training_summary, and no exclusions or prerequisites are given.

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