Skip to main content
Glama

get_training_context

Read-only

Combines a date's health, sleep, HRV, readiness, and training load with seven days of activities and recovery baselines to relate recovery to training.

Instructions

Combine a date's health, sleep, HRV, readiness, and training load with recent activities and recovery comparisons.

Use to relate recovery to training: the activity window covers seven days ending on the selected date inclusive, capped at 100 activities. Comparisons disclose baselines and coverage. For a simpler one-day recovery summary use get_recovery instead, or get_training_week for calendar-week totals.

Times such as sleep.sleep_start and activity start_time are ISO 8601 with an explicit UTC offset and already local: never add the offset again.

Requires saved local Garmin authentication (garmin-owl-auth). Reads Garmin and may update the local cache; never changes your Garmin account. Garmin failures are not retried automatically.

Input Schema

NameRequiredDescriptionDefault
dateNoCalendar date in YYYY-MM-DD format, e.g. 2026-10-09; any past date Garmin still stores. Omit or pass null for today in the server's local timezone.

Output Schema

NameRequiredDescriptionDefault
hrvNo
dateYes
noteNoFacts and transparent comparisons only; no training or medical recommendation.
dailyNo
flagsNo
sleepNo
readinessNo
comparisonsNo
availabilityNo
training_loadNo
recent_activitiesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv0.3.1
    • changedInput schema / properties / date / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / date / description
      Added value: +"Calendar date in YYYY-MM-DD format, e.g. 2026-10-09; any past date Garmin still stores. Omit or pass null for today in the server's local timezone."
    • addedOutput schema / $defs
      Added value: +{
      +  "ActivitySummary": {
      +    "properties": {
      +      "activity_id": {
      +        "title": "Activity Id",
      +        "type": "integer"
      +      },
      +      "activity_training_load": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Activity Training Load"
      +      },
      +      "activity_type": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Activity Type"
      +      },
      +      "aerobic_training_effect": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Aerobic Training Effect"
      +      },
      +      "anaerobic_training_effect": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Anaerobic Training Effect"
      +      },
      +      "average_cadence": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Cadence"
      +      },
      +      "average_hr_bpm": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Hr Bpm"
      +      },
      +      "average_moving_speed_mps": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Moving Speed Mps"
      +      },
      +      "average_power_w": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Power W"
      +      },
      +      "average_respiration": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Respiration"
      +      },
      +      "average_speed_mps": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Speed Mps"
      +      },
      +      "average_stride_length_m": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Stride Length M"
      +      },
      +      "calories_kcal": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Calories Kcal"
      +      },
      +      "description": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Description"
      +      },
      +      "distance_m": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Distance M"
      +      },
      +      "duration_seconds": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Duration Seconds"
      +      },
      +      "elapsed_seconds": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Elapsed Seconds"
      +      },
      +      "elevation_gain_m": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Elevation Gain M"
      +      },
      +      "elevation_loss_m": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Elevation Loss M"
      +      },
      +      "feel": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Feel"
      +      },
      +      "has_description": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Has Description"
      +      },
      +      "highest_respiration": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Highest Respiration"
      +      },
      +      "hr_zones_seconds": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": {
      +              "type": "number"
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Hr Zones Seconds"
      +      },
      +      "intensity_factor": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Intensity Factor"
      +      },
      +      "lowest_respiration": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Lowest Respiration"
      +      },
      +      "max_cadence": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Max Cadence"
      +      },
      +      "max_hr_bpm": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Max Hr Bpm"
      +      },
      +      "max_power_w": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Max Power W"
      +      },
      +      "moderate_intensity_minutes": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Moderate Intensity Minutes"
      +      },
      +      "moving_duration_seconds": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Moving Duration Seconds"
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Name"
      +      },
      +      "normalized_power_w": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Normalized Power W"
      +      },
      +      "perceived_effort": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Perceived Effort"
      +      },
      +      "recovery_hr_bpm": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Recovery Hr Bpm"
      +      },
      +      "start_time": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Activity start: ISO 8601 with an explicit UTC offset, e.g. 2026-10-09T23:18:16+02:00. The wall time is already local; never add the offset again. The offset is the one Garmin recorded for the device at that moment, or this computer's time zone when Garmin gives only UTC.",
      +        "title": "Start Time"
      +      },
      +      "steps": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Steps"
      +      },
      +      "training_effect_label": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Training Effect Label"
      +      },
      +      "training_stress_score": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Training Stress Score"
      +      },
      +      "vigorous_intensity_minutes": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Vigorous Intensity Minutes"
      +      },
      +      "vo2_max": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Vo2 Max"
      +      }
      +    },
      +    "required": [
      +      "activity_id"
      +    ],
      +    "title": "ActivitySummary",
      +    "type": "object"
      +  },
      +  "AvailabilityNotice": {
      +    "properties": {
      +      "field": {
      +        "title": "Field",
      +        "type": "string"
      +      },
      +      "message": {
      +        "title": "Message",
      +        "type": "string"
      +      },
      +      "status": {
      +        "title": "Status",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "field",
      +      "status",
      +      "message"
      +    ],
      +    "title": "AvailabilityNotice",
      +    "type": "object"
      +  },
      +  "DailySummary": {
      +    "properties": {
      +      "active_calories_kcal": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Active Calories Kcal"
      +      },
      +      "active_seconds": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Active Seconds"
      +      },
      +      "average_spo2_percent": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Spo2 Percent"
      +      },
      +      "average_stress": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Stress"
      +      },
      +      "average_waking_respiration": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Waking Respiration"
      +      },
      +      "body_battery_at_wake": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Body Battery At Wake"
      +      },
      +      "body_battery_charged": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Body Battery Charged"
      +      },
      +      "body_battery_drained": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Body Battery Drained"
      +      },
      +      "body_battery_during_sleep": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Body Battery During Sleep"
      +      },
      +      "daily_step_goal": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Daily Step Goal"
      +      },
      +      "date": {
      +        "title": "Date",
      +        "type": "string"
      +      },
      +      "distance_m": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Distance M"
      +      },
      +      "floors_ascended": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Floors Ascended"
      +      },
      +      "floors_descended": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Floors Descended"
      +      },
      +      "floors_unit": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Floors Unit"
      +      },
      +      "highest_respiration": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Highest Respiration"
      +      },
      +      "highly_active_seconds": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Highly Active Seconds"
      +      },
      +      "intensity_minutes_goal": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Intensity Minutes Goal"
      +      },
      +      "last_seven_days_avg_resting_hr_bpm": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Last Seven Days Avg Resting Hr Bpm"
      +      },
      +      "lowest_respiration": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Lowest Respiration"
      +      },
      +      "lowest_spo2_percent": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Lowest Spo2 Percent"
      +      },
      +      "max_hr_bpm": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Max Hr Bpm"
      +      },
      +      "max_stress": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Max Stress"
      +      },
      +      "min_hr_bpm": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Min Hr Bpm"
      +      },
      +      "moderate_intensity_minutes": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Moderate Intensity Minutes"
      +      },
      +      "resting_hr_bpm": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Resting Hr Bpm"
      +      },
      +      "sedentary_seconds": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Sedentary Seconds"
      +      },
      +      "steps": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Steps"
      +      },
      +      "total_calories_kcal": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Total Calories Kcal"
      +      },
      +      "vigorous_intensity_minutes": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Vigorous Intensity Minutes"
      +      }
      +    },
      +    "required": [
      +      "date"
      +    ],
      +    "title": "DailySummary",
      +    "type": "object"
      +  },
      +  "HrvSummary": {
      +    "properties": {
      +      "availability": {
      +        "items": {
      +          "$ref": "#/$defs/AvailabilityNotice"
      +        },
      +        "title": "Availability",
      +        "type": "array"
      +      },
      +      "baseline_high_ms": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Baseline High Ms"
      +      },
      +      "baseline_low_ms": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Baseline Low Ms"
      +      },
      +      "date": {
      +        "title": "Date",
      +        "type": "string"
      +      },
      +      "last_night_average_ms": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Last Night Average Ms"
      +      },
      +      "nightly_average_ms": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Nightly Average Ms"
      +      },
      +      "status": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Status"
      +      },
      +      "timeseries": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "$ref": "#/$defs/TimePoint"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Timeseries"
      +      },
      +      "weekly_average_ms": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Weekly Average Ms"
      +      }
      +    },
      +    "required": [
      +      "date"
      +    ],
      +    "title": "HrvSummary",
      +    "type": "object"
      +  },
      +  "SleepSummary": {
      +    "properties": {
      +      "availability": {
      +        "items": {
      +          "$ref": "#/$defs/AvailabilityNotice"
      +        },
      +        "title": "Availability",
      +        "type": "array"
      +      },
      +      "average_hr_bpm": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Hr Bpm"
      +      },
      +      "average_respiration": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Respiration"
      +      },
      +      "average_spo2_percent": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Average Spo2 Percent"
      +      },
      +      "average_stress": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Garmin's average stress during sleep, to one decimal. A different metric from the whole-day average_stress of get_stress and get_daily_summary.",
      +        "title": "Average Stress"
      +      },
      +      "awake_count": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Awake Count"
      +      },
      +      "awake_seconds": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Awake Seconds"
      +      },
      +      "body_battery_change": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Body Battery Change"
      +      },
      +      "date": {
      +        "title": "Date",
      +        "type": "string"
      +      },
      +      "deep_sleep_seconds": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Deep Sleep Seconds"
      +      },
      +      "highest_respiration": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Highest Respiration"
      +      },
      +      "light_sleep_seconds": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Light Sleep Seconds"
      +      },
      +      "lowest_respiration": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Lowest Respiration"
      +      },
      +      "lowest_spo2_percent": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Lowest Spo2 Percent"
      +      },
      +      "nap_seconds": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Nap Seconds"
      +      },
      +      "rem_sleep_seconds": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Rem Sleep Seconds"
      +      },
      +      "restless_moments_count": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Restless Moments Count"
      +      },
      +      "skin_temperature_basis": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Skin Temperature Basis"
      +      },
      +      "skin_temperature_calibration_days": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Skin Temperature Calibration Days"
      +      },
      +      "skin_temperature_deviation_c": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Skin Temperature Deviation C"
      +      },
      +      "sleep_alignment_status": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Sleep Alignment Status"
      +      },
      +      "sleep_end": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Sleep end: ISO 8601 with an explicit UTC offset, e.g. 2026-10-09T23:18:16+02:00. The wall time is already local; never add the offset again. The offset is the one Garmin recorded for the device at that moment, or this computer's time zone when Garmin gives only UTC.",
      +        "title": "Sleep End"
      +      },
      +      "sleep_need_baseline_minutes": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Sleep Need Baseline Minutes"
      +      },
      +      "sleep_need_feedback": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Sleep Need Feedback"
      +      },
      +      "sleep_need_minutes": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Sleep Need Minutes"
      +      },
      +      "sleep_score": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Sleep Score"
      +      },
      +      "sleep_score_feedback": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Sleep Score Feedback"
      +      },
      +      "sleep_start": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Sleep start: ISO 8601 with an explicit UTC offset, e.g. 2026-10-09T23:18:16+02:00. The wall time is already local; never add the offset again. The offset is the one Garmin recorded for the device at that moment, or this computer's time zone when Garmin gives only UTC.",
      +        "title": "Sleep Start"
      +      },
      +      "total_sleep_seconds": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Total Sleep Seconds"
      +      }
      +    },
      +    "required": [
      +      "date"
      +    ],
      +    "title": "SleepSummary",
      +    "type": "object"
      +  },
      +  "TimePoint": {
      +    "properties": {
      +      "timestamp": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "integer"
      +          }
      +        ],
      +        "description": "Reading time: ISO 8601 with an explicit UTC offset, e.g. 2026-10-09T23:18:16+02:00. The wall time is already local; never add the offset again. The offset is the one Garmin recorded for the device at that moment, or this computer's time zone when Garmin gives only UTC. A bare date or number is a Garmin value that could not be parsed as a time.",
      +        "title": "Timestamp"
      +      },
      +      "value": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "integer"
      +          }
      +        ],
      +        "title": "Value"
      +      }
      +    },
      +    "required": [
      +      "timestamp",
      +      "value"
      +    ],
      +    "title": "TimePoint",
      +    "type": "object"
      +  },
      +  "TrainingLoad": {
      +    "properties": {
      +      "acute_load": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Acute Load"
      +      },
      +      "acwr_feedback": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Acwr Feedback"
      +      },
      +      "acwr_percent": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Acwr Percent"
      +      },
      +      "acwr_status": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Acwr Status"
      +      },
      +      "altitude_acclimation_percent": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Altitude Acclimation Percent"
      +      },
      +      "anaerobic_load": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Anaerobic Load"
      +      },
      +      "anaerobic_target_max": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Anaerobic Target Max"
      +      },
      +      "anaerobic_target_min": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Anaerobic Target Min"
      +      },
      +      "availability": {
      +        "items": {
      +          "$ref": "#/$defs/AvailabilityNotice"
      +        },
      +        "title": "Availability",
      +        "type": "array"
      +      },
      +      "chronic_load": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Chronic Load"
      +      },
      +      "date": {
      +        "title": "Date",
      +        "type": "string"
      +      },
      +      "endurance_score": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Endurance Score"
      +      },
      +      "heat_acclimation_percent": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Heat Acclimation Percent"
      +      },
      +      "high_aerobic_load": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "High Aerobic Load"
      +      },
      +      "high_aerobic_target_max": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "High Aerobic Target Max"
      +      },
      +      "high_aerobic_target_min": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "High Aerobic Target Min"
      +      },
      +      "hill_score": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Hill Score"
      +      },
      +      "load_focus_feedback": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Load Focus Feedback"
      +      },
      +      "load_ratio": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Load Ratio"
      +      },
      +      "low_aerobic_load": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Low Aerobic Load"
      +      },
      +      "low_aerobic_target_max": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Low Aerobic Target Max"
      +      },
      +      "low_aerobic_target_min": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Low Aerobic Target Min"
      +      },
      +      "optimal_load_max": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Optimal Load Max"
      +      },
      +      "optimal_load_min": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Optimal Load Min"
      +      },
      +      "training_status": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Training Status"
      +      },
      +      "training_status_code": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Training Status Code"
      +      },
      +      "vo2_max": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Vo2 Max"
      +      },
      +      "weekly_load": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Weekly Load"
      +      }
      +    },
      +    "required": [
      +      "date"
      +    ],
      +    "title": "TrainingLoad",
      +    "type": "object"
      +  },
      +  "TrainingReadiness": {
      +    "properties": {
      +      "acute_load_factor_feedback": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Acute Load Factor Feedback"
      +      },
      +      "acute_load_factor_percent": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Acute Load Factor Percent"
      +      },
      +      "availability": {
      +        "items": {
      +          "$ref": "#/$defs/AvailabilityNotice"
      +        },
      +        "title": "Availability",
      +        "type": "array"
      +      },
      +      "date": {
      +        "title": "Date",
      +        "type": "string"
      +      },
      +      "feedback": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Feedback"
      +      },
      +      "hrv_factor_feedback": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Hrv Factor Feedback"
      +      },
      +      "hrv_factor_percent": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Hrv Factor Percent"
      +      },
      +      "level": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Level"
      +      },
      +      "recovery_time_change_phrase": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Recovery Time Change Phrase"
      +      },
      +      "recovery_time_factor_feedback": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Recovery Time Factor Feedback"
      +      },
      +      "recovery_time_hours": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Garmin's remaining recovery time in hours, to one decimal.",
      +        "title": "Recovery Time Hours"
      +      },
      +      "score": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Score"
      +      },
      +      "sleep_history_factor_feedback": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Sleep History Factor Feedback"
      +      },
      +      "sleep_history_factor_percent": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Sleep History Factor Percent"
      +      },
      +      "sleep_score": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Sleep Score"
      +      },
      +      "sleep_score_factor_feedback": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Sleep Score Factor Feedback"
      +      },
      +      "stress_history_factor_feedback": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Stress History Factor Feedback"
      +      },
      +      "stress_history_factor_percent": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Stress History Factor Percent"
      +      },
      +      "timestamp": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "When Garmin calculated this readiness: ISO 8601 with an explicit UTC offset, e.g. 2026-10-09T23:18:16+02:00. The wall time is already local; never add the offset again. The offset is the one Garmin recorded for the device at that moment, or this computer's time zone when Garmin gives only UTC.",
      +        "title": "Timestamp"
      +      }
      +    },
      +    "required": [
      +      "date"
      +    ],
      +    "title": "TrainingReadiness",
      +    "type": "object"
      +  },
      +  "TrendMetric": {
      +    "properties": {
      +      "baseline_end": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Baseline End"
      +      },
      +      "baseline_start": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Baseline Start"
      +      },
      +      "calculation": {
      +        "default": "Current date compared with the mean of available preceding days.",
      +        "title": "Calculation",
      +        "type": "string"
      +      },
      +      "current": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Current"
      +      },
      +      "current_date": {
      +        "title": "Current Date",
      +        "type": "string"
      +      },
      +      "difference": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Difference"
      +      },
      +      "metric": {
      +        "title": "Metric",
      +        "type": "string"
      +      },
      +      "percent_difference": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Percent Difference"
      +      },
      +      "recent_average": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Recent Average"
      +      },
      +      "sample_days": {
      +        "default": 0,
      +        "title": "Sample Days",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "metric",
      +      "current_date"
      +    ],
      +    "title": "TrendMetric",
      +    "type": "object"
      +  }
      +}
    • removedOutput schema / additionalProperties
      Removed value: -true
    • addedOutput schema / properties
      Added value: +{
      +  "availability": {
      +    "items": {
      +      "$ref": "#/$defs/AvailabilityNotice"
      +    },
      +    "title": "Availability",
      +    "type": "array"
      +  },
      +  "comparisons": {
      +    "items": {
      +      "$ref": "#/$defs/TrendMetric"
      +    },
      +    "title": "Comparisons",
      +    "type": "array"
      +  },
      +  "daily": {
      +    "anyOf": [
      +      {
      +        "$ref": "#/$defs/DailySummary"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "date": {
      +    "title": "Date",
      +    "type": "string"
      +  },
      +  "flags": {
      +    "items": {
      +      "type": "string"
      +    },
      +    "title": "Flags",
      +    "type": "array"
      +  },
      +  "hrv": {
      +    "anyOf": [
      +      {
      +        "$ref": "#/$defs/HrvSummary"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "note": {
      +    "default": "Facts and transparent comparisons only; no training or medical recommendation.",
      +    "title": "Note",
      +    "type": "string"
      +  },
      +  "readiness": {
      +    "anyOf": [
      +      {
      +        "$ref": "#/$defs/TrainingReadiness"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "recent_activities": {
      +    "items": {
      +      "$ref": "#/$defs/ActivitySummary"
      +    },
      +    "title": "Recent Activities",
      +    "type": "array"
      +  },
      +  "sleep": {
      +    "anyOf": [
      +      {
      +        "$ref": "#/$defs/SleepSummary"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "training_load": {
      +    "anyOf": [
      +      {
      +        "$ref": "#/$defs/TrainingLoad"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  }
      +}
    • addedOutput schema / required
      Added value: +[
      +  "date"
      +]
    • changedOutput schema / title
      Previous value: -"get_training_contextDictOutput"New value: +"TrainingContext"
  2. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/openWorldHint/non-destructive, and the description goes well beyond them: it discloses the 100-activity cap, that comparisons expose baselines and coverage, the saved-auth requirement (garmin-owl-auth), that the local cache may be updated but the Garmin account is never changed, and that failures are not retried. That is exactly the operational context an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Scope is front-loaded in the first sentence, followed by window/cap detail, sibling routing, a timezone caveat, and auth/behavioral notes. Each sentence carries distinct, non-redundant information with no filler.

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?

An output schema exists, so return-value description is unnecessary; the description instead covers what the schema cannot — auth prerequisite, cache side effect, no-retry failure semantics, timezone interpretation, and result-size limits. Complete for a single-optional-parameter read tool.

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 `date` parameter is fully documented in the schema, including the null-means-today default, so the description needn't repeat it. The ISO 8601/UTC-offset warning is valuable but applies to returned values rather than to the input parameter, so the description adds no parameter-specific meaning beyond the schema — baseline 3.

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 a precisely enumerated set of resources: health, sleep, HRV, readiness, training load, recent activities, and recovery comparisons for a given date. The scope (seven-day activity window ending on the date) further distinguishes it from the single-metric siblings like get_hrv or get_sleep.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Explicitly frames the intended use ("relate recovery to training") and names two concrete alternatives with the condition that selects each: get_recovery for a simpler one-day summary, get_training_week for calendar-week totals. Nothing is left to inference.

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