Skip to main content
Glama

Training load and personal baselines

derived_metrics

Duration-based training workload (minutes), excluding walking unless include_walking=true: rolling ATL 7 days, CTL 42 days, same-day TSB=CTL-ATL and acute/chronic ratio. Not intensity-weighted TSS. Every training row includes trimp_load, trimp_atl, trimp_ctl and trimp_tsb: simple zone TRIMP = sum(zone_seconds[z] * z / 60), with weights [0,1,2,3,4,5] for zones 0–5. TRIMP ATL/CTL use 7/42-day rolling means; TSB=CTL-ATL. max_hr overrides the observed workout maximum. include_trimp=true also returns the legacy trimp object with coverage details. Existing duration fields remain unchanged. TRIMP sums observed zone time; workouts without usable zones contribute zero, so rolling ATL/CTL/TSB remain numeric with incomplete coverage. trimp_coverage, trimp_coverage_7d and trimp_coverage_42d report the fraction of included workout duration with usable HR zones for the day and rolling windows. Covered seconds are capped per workout at its duration; coverage is null when there is no included duration. Missing workout days count as zero; coverage is reported. HRV SDNN and resting HR compared with the preceding 30–60 calendar days, excluding the target date; at least 7 valid daily values required. Includes mean, population SD, absolute/percentage delta and z-score. Maximum 500 total rows; narrow the range if truncated.

Input Schema

NameRequiredDescriptionDefault
toYes
fromYes
max_hrNoMaximum HR for TRIMP; otherwise observed workout maximum through to
baseline_daysNo
include_trimpNoInclude the legacy trimp object with coverage details; flat trimp_* fields are always returned
include_walkingNoInclude walking in both duration and zone load; excluded by default

Output Schema

NameRequiredDescriptionDefault
methodYes
baselinesYes
truncatedYes
assumptionsYes
training_loadYes

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?

Beyond the annotations, the description discloses important non-obvious behavior: walking is excluded unless include_walking=true, missing workout days count as zero, workouts without usable zones contribute zero, coverage can be null, and results truncate at 500 rows. These are substantive operational details an agent would not know from the annotations alone.

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

Conciseness3/5

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

The description is front-loaded with the primary purpose, but it is a dense single paragraph containing formulas, edge cases, coverage rules, baseline rules, and truncation in quick succession. Most content earns its place, but the structure makes it harder to scan than a more segmented description would be.

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?

Given the tool's complexity, six parameters, output schema, and combined training-load plus personal-baseline behavior, the description is highly complete. It covers formulas, defaults, missing-data handling, coverage semantics, baseline requirements, and row limits; an agent has enough information to invoke it correctly.

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 description coverage is only 50%, but the description meaningfully compensates by explaining include_walking exclusion, max_hr override behavior, include_trimp legacy-object behavior, and the 30–60-day HRV baseline window with a minimum of 7 valid daily values. It does not explicitly explain from/to or baseline_days by parameter name, but the semantic intent is still clear.

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 clearly states this returns duration-based training workload metrics, TRIMP fields, and HRV/resting-HR baselines over a date range. It also distinguishes the metric from intensity-weighted TSS, but it does not name or differentiate itself from sibling tools such as list_metrics or query_daily.

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 through defaults such as excluding walking, optional TRIMP output, and the 500-row warning. However, there is no explicit when-to-use guidance versus alternatives like list_metrics or query_daily, and no clear when-not-to-use statement.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources