Skip to main content
Glama
Garmin Connect MCP

Garmin Connect MCP

by pedrokehl

Get daily wellness summary (one day)

garmin_get_daily_summary
Read-onlyIdempotent

Retrieve a complete one-day wellness summary—calories, steps, distance, intensity minutes, heart rate, stress, Body Battery, SpO2, and respiration—to answer "how was my day?".

Instructions

Get the user's complete wellness summary for one day: total/active/BMR kilocalories, steps and step goal, distance (meters), floors climbed, intensity minutes (moderate/vigorous) and goal, highly active/active/sedentary/sleeping seconds, min/max/resting heart rate, stress averages and durations, Body Battery charged/drained/highest/lowest, SpO2 and respiration. Best single call for "how was my day?". For many days at once use garmin_get_daily_summaries.

Input Schema

NameRequiredDescriptionDefault
calendarDateYesThe day to summarize. Format YYYY-MM-DD, in the user's local calendar.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, so safety is covered; the description adds valuable scope information by enumerating exactly which data domains are aggregated, which substitutes for the missing output schema. It stops short of noting data-availability caveats (e.g. a day with no device sync) but is otherwise substantive.

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-loaded with the purpose, then a dense but scannable metric list, then the disambiguation sentence. The metric enumeration is long but earns its place given there is no output schema.

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?

With no output schema, the metric enumeration is exactly what an agent needs to know what a call returns, and the sibling routing covers the main ambiguity. Nothing essential for correct invocation is missing.

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?

Only one parameter, and the schema covers it at 100% including the YYYY-MM-DD pattern and local-calendar note. The description adds only 'for one day', which matches the schema without adding new format or timezone detail, so baseline 3 applies.

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 ('complete wellness summary for one day') and enumerates the concrete metrics returned (kcal, steps, HR, stress, Body Battery, SpO2, respiration). An agent can distinguish this from garmin_get_sleep or garmin_get_steps without opening any 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?

Provides an explicit use-case cue ('Best single call for "how was my day?"') and routes the multi-day case to garmin_get_daily_summaries. It does not explicitly say when to prefer the granular siblings (e.g. garmin_get_stress, garmin_get_sleep) over this aggregate, so the guidance is clear but not exhaustive.

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