Skip to main content
Glama
Garmin Connect Personal API MCP

Garmin Connect Personal API MCP

by hannta

Get Garmin sleep

garmin_get_sleep
Read-only

Fetch one night's sleep data by wake-up date, including stages, score, sleep need, SpO2, heart rate, respiration, stress, and naps. Use it to review recovery and sleep quality.

Instructions

One night of sleep from Garmin: start and end time, total sleep, stages (deep / light / REM / awake), sleep score with each component's optimal range, sleep need with the reasons Garmin adjusted it (training, sleep history, HRV, naps), the next night's sleep need, naps that day, average heart rate, respiration, SpO2, sleep stress and breathing disruptions. Nights are keyed by the wake-up date: "last night" is today's date.

Input Schema

NameRequiredDescriptionDefault
dateNoWake-up date (the morning the night ended), YYYY-MM-DD. Default: today in the user's time zone.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

A3.7/5.0
Behavior4/5

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

Annotations supply the read-only, non-open-world safety profile, and the description adds substantial context beyond that: it enumerates the returned fields (stages, score components, sleep need reasons, naps, HR, SpO2, stress) in detail. This is valuable because there is no output schema to describe the response.

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 resource and scope, followed by a dense but purposeful field inventory and one clarifying convention. It is a single long sentence, but each listed item earns its place because no output schema exists.

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 one-parameter read tool with annotations covering safety and no output schema, the description supplies the response contents needed to judge relevance. Only the relationship to the sibling summary tool is left implicit.

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 the schema already defines 'date' as the wake-up date with a default of today. The description restates the wake-up-date keying and the 'last night is today's date' convention, which reinforces but does not add meaning beyond the schema.

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?

States a specific verb+resource: 'One night of sleep from Garmin' and enumerates exactly what is returned. The emphasis on 'one night' implicitly separates it from garmin_get_sleep_summaries, but it never names a sibling explicitly.

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 single-night scope and the wake-up-date rule, which tells the agent which date to pass. There is no explicit when-to-use guidance, no stated alternative such as garmin_get_sleep_summaries for multi-night ranges, and no exclusions.

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