Skip to main content
Glama
Garmin Connect Personal API MCP

Garmin Connect Personal API MCP

by hannta

Get Garmin menstrual cycle day

garmin_get_menstrual_day
Read-only

Retrieves a single day's menstrual cycle log from Garmin Connect—flow, symptoms, moods, ovulation, notes, cycle summary, and pregnancy weight-gain range—when cycle tracking is enabled.

Instructions

One day of menstrual cycle tracking: what was logged (flow, symptoms, moods, ovulation day, notes) and that day's cycle summary (same fields as garmin_get_menstrual_cycle). During pregnancy tracking it adds the weekly weight-gain range. Only has data if the user tracks their cycle in Garmin Connect.

Input Schema

NameRequiredDescriptionDefault
dateNoCalendar date, 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

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds domain behavior instead: the field set returned, an extra conditional field during pregnancy tracking (weekly weight-gain range), and the empty-result condition when the user does not track cycles. It does not discuss return structure or error/empty payload shape, which keeps it below a 5.

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, front-loaded with what is returned, then the conditional pregnancy extension and the data-availability caveat. The parenthetical sibling reference conveys a lot in few words; the only mild cost is a dense field enumeration, but nothing is redundant.

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 carries the return-value burden and does so by listing the fields returned and the pregnancy-specific addition. Combined with the availability caveat, an agent knows enough to call it and interpret an empty result; only the payload structure/nesting is left unspecified.

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?

With one optional parameter at 100% schema description coverage, the schema already fully documents the date format and the "today in the user's time zone" default. The description adds no date semantics beyond that, so the 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 ("One day of menstrual cycle tracking") and enumerates exactly what the payload contains: flow, symptoms, moods, ovulation day, notes, plus that day's cycle summary. It also explicitly ties itself to sibling garmin_get_menstrual_cycle ("same fields as ..."), so an agent can distinguish the per-day read from the cycle-level read 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?

The single-day scope plus the reference to garmin_get_menstrual_cycle implies the selection rule (per-date detail vs. overall cycle), and the final sentence gives a clear precondition: data exists only if the user tracks their cycle in Garmin Connect. It stops short of an explicit "use X for Y" directive, so the choice is inferable rather than stated.

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