Skip to main content
Glama
Garmin Connect Personal API MCP

Garmin Connect Personal API MCP

by hannta

Get Garmin wellness activities

garmin_get_wellness_activities
Read-only

Retrieve breathwork or Health Snapshot wellness sessions separate from workouts by date, including heart rate, stress, respiration, SpO2, HRV, and zone time; defaults to the last 7 days.

Instructions

Wellness activities over a date range — sessions such as breathwork or Health Snapshot recorded on the watch, separate from regular activities (garmin_search_activities) — with start / end time, and average / min / max heart rate, stress, respiration, SpO2 and HRV (RMSSD / SDRR, ms) when recorded, plus time in zones. Defaults to the last 7 days; at most 92 days per call.

Input Schema

NameRequiredDescriptionDefault
end_dateNoLast day (inclusive), YYYY-MM-DD. Default: today, or 6 days after start_date (not past today).
start_dateNoFirst day, YYYY-MM-DD in the user's time zone. Default: 6 days before end_date. At most 92 days per call.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare this a safe read (readOnlyHint=true, openWorldHint=false), so the bar is lower, and the description still adds real operational context: a 7-day default window and a hard 92-day cap per call. It also enumerates the returned metric set (HR, stress, respiration, SpO2, HRV with RMSSD/SDRR in ms, time in zones) and notes metrics appear only 'when recorded', which sets expectations about sparse results. No pagination or result-size behavior is mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

A single dense sentence front-loads the resource and its scope, then the disambiguation, then the return fields, ending with the operational limits. Nothing is redundant with the title, and the em-dash aside keeps the sibling differentiation from becoming a second sentence of overhead.

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?

There is no output schema, so the description correctly carries the return-shape burden by listing which metrics come back and noting that they appear only when recorded. Combined with the default and maximum range, an agent has enough to call it and interpret results. Minor gaps remain around ordering, empty results, and whether zones are included per session or aggregated.

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 100% and both parameters already document format, defaults, and the 92-day maximum. The description restates the same default window and cap without adding new meaning such as time-zone handling nuance or start/end conflict resolution. Baseline 3 is appropriate since the schema does the heavy lifting.

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 verb and resource ('Wellness activities over a date range') and immediately scopes it with concrete examples ('breathwork or Health Snapshot recorded on the watch'). It explicitly differentiates itself from the nearest sibling by naming garmin_search_activities as the tool for 'regular activities', so an agent can route correctly without opening either schema.

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?

Gives a clear selection rule: use this for watch-recorded wellness sessions, use garmin_search_activities for regular activities. The boundary is stated positively and negatively enough to disambiguate. It stops short of addressing overlap with metric-specific siblings (garmin_get_hrv, garmin_get_stress, garmin_get_spo2), which also surface some of the same fields, so an agent must still infer when a single-metric tool is preferable.

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