Skip to main content
Glama
pedrokehl

Garmin Connect MCP

by pedrokehl

Get blood oxygen / SpO2 (one day)

garmin_get_spo2
Read-onlyIdempotent

Fetch one day of Pulse Ox (SpO2) stats—average, lowest, latest, seven-day and sleep averages, hourly readings, and altitude acclimation—for a compatible Garmin watch.

Instructions

Get Pulse Ox (SpO2, %) for one day: averageSpO2, lowestSpO2, latestSpO2, lastSevenDaysAvgSpO2, avgSleepSpO2, single readings and hourly averages, plus altitude acclimation data. Requires a watch with Pulse Ox enabled.

Input Schema

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

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds value beyond that by disclosing a hardware prerequisite (Pulse Ox-enabled watch) and by enumerating the concrete data families returned, including altitude acclimation data — context an agent cannot get from the 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?

One front-loaded sentence that states the resource and metric list first, then the hardware prerequisite. The field enumeration is long but each item is informative for a tool with no output schema; there is no filler or repetition.

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 one parameter, rich annotations, and no output schema, the description carries the return-value burden and does so thoroughly via the metric list plus the hardware precondition. Minor gaps remain around empty-data behavior and timezone edge cases, but nothing essential to 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?

Schema coverage is 100% and the single calendarDate parameter is fully documented with format and local-calendar semantics, so the baseline is 3. The description's 'for one day' aligns with the parameter but adds no syntax, timezone, or boundary detail beyond the schema.

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?

It names a specific verb ('Get'), a specific resource (Pulse Ox / SpO2 in %), and an explicit scope ('for one day'). The enumeration of returned metrics makes it immediately distinguishable from siblings like garmin_get_heart_rate, garmin_get_hrv, or garmin_get_stress 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 Guidelines3/5

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

Usage is implied by the narrow scope ('for one day') and the prerequisite 'Requires a watch with Pulse Ox enabled' gives a real gating condition. However, it never states when to prefer this over adjacent wellness tools (heart rate, HRV, sleep) or what happens if the device lacks Pulse Ox, leaving the agent to infer selection.

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