Skip to main content
Glama
hhopke
by hhopke

icu_get_sport_settings

Read-onlyIdempotent

Retrieve an athlete's per-sport thresholds and configured power, heart rate, and pace zones to compute accurate time-in-zone, HRSS, and TSS.

Instructions

Get per-sport thresholds and the athlete's configured power/HR/pace zones.

Returns outdoor/indoor FTP, FTHR, max HR, running pace and swim threshold, plus the zone sets configured in Intervals.icu (HR zones in bpm, power zones as %FTP, pace zones as % of threshold pace) with their names.

This is the ONLY source of the athlete's real zones. Intervals.icu derives them from the threshold and stamps them into every activity at import, so time-in-zone, HRSS and TSS are all computed from these — reasoning about zones from any other number puts the answer at odds with the athlete's own charts. Zones are not derived from curve data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
athlete_idNoAthlete ID (for coaches managing multiple athletes)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv5.0.1
    • addedInput schema / properties / athlete_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Athlete ID (for coaches managing multiple athletes)"
      +}
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety profile is covered; the description goes well beyond them by disclosing return contents, units for each zone set (bpm, %FTP, % of threshold pace), the derivation/stamping behavior at import, and the downstream impact on time-in-zone, HRSS and TSS. That is rich behavioral context an agent can act on.

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?

The purpose is front-loaded in the first sentence, followed by field/units detail and a disambiguation clause. It is slightly verbose in its emphasis on being the only source, but every sentence provides usable information.

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?

For a read-only settings getter with full schema coverage and an output schema, the description supplies everything an agent needs: what is returned, the units, and why these values matter downstream. Nothing material 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 description coverage is 100% for the single athlete_id parameter, and the description does not add any syntax or semantics for it. Baseline 3 applies since the schema carries the parameter meaning.

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?

The description names a specific verb (Get) and resource (per-sport thresholds plus the athlete's power/HR/pace zones), and enumerates the concrete fields returned (FTP, FTHR, max HR, run pace, swim threshold). It further distinguishes itself from the curve siblings by stating zones are not derived from curve data, so an agent can separate it from get_power_curves/get_hr_curves without opening a 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?

It clearly states the condition for use ('This is the ONLY source of the athlete's real zones') and draws an explicit boundary against reasoning from curve data or other numbers. It stops short of naming a specific sibling alternative to prefer, but the when-to-use context is unambiguous.

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