Skip to main content
Glama

update_menstrual_calendar

Destructive

Replace the Garmin Connect menstrual calendar for a date range with consecutive cycle dates; it overwrites data and is irreversible, so confirm first.

Instructions

full replace, not a merge; each cycleDatesLists group must be non-empty, consecutive calendar dates, and fall within [startdate, enddate], else throws GarminError IRREVERSIBLE: confirm with the user before calling.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
enddateYesCalendar date, YYYY-MM-DD (UTC)
optionsNo
startdateYesCalendar date, YYYY-MM-DD (UTC)
cycleDatesListsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, yet the description goes further: it specifies replace-not-merge behavior, the validation contract on cycleDatesLists (non-empty, consecutive, within [startdate, enddate]), the concrete error type thrown on violation (GarminError), and the required user-confirmation step. That is substantive behavioral detail beyond what the structured fields convey.

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?

A single dense sentence with the most important fact ('full replace, not a merge') front-loaded and no filler. There is a minor formatting glitch running the validation clause directly into 'IRREVERSIBLE' with no separator, which slightly hurts scanability but wastes no words.

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 destructive, no-output-schema mutation tool this covers the essentials an agent needs before calling: irreversibility, validation rules, and the error it will raise. It omits any note on authentication/scope requirements and says nothing about the options parameter, so it is strong but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%, so the description must compensate, and it does for the most important parameter: it explains the nested cycleDatesLists structure (groups of consecutive dates bounded by startdate/enddate) and the relationship between it and the two date parameters. The options.todayCalendarDate parameter remains undocumented in both schema and description, which keeps this below a 5.

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?

The description names the key semantic ('full replace, not a merge') which clarifies the operation is a whole-resource replacement rather than a patch, and combined with the name update_menstrual_calendar the agent can infer verb and resource. It does not, however, distinguish itself from nearby siblings such as update_menstrual_settings or update_menstrual_daily_log.

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?

It gives one explicit usage directive – 'confirm with the user before calling' – which is real guidance for an irreversible operation, but it never states when to use this tool versus update_menstrual_daily_log, update_menstrual_settings, or confirm_menstrual_period_start. Usage is implied by the calendar-replacement semantics rather than spelled out.

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

Deploy Server

Other Tools