Skip to main content
Glama
futureweb

Futureweb Intervals MCP

by futureweb

get_training_load

Read-only

Analyze acute and chronic training load, acute:chronic ratio, monotony, strain, and CTL/ATL/form from Intervals.icu data, with per-sport and weekly breakdowns.

Instructions

Use for acute and chronic training load in detail: acute (default 7 d) and chronic (28 d) Intervals.icu load, acute:chronic ratio (coupled daily means), Foster monotony and strain, deload-like weeks, per sport family with the primary sport, ISO weeks, and CTL/ATL/form/ramp at the end date (read-only).

Rest days count as 0; sessions without a load are counted, not added. Device loads (custom fields such as a Garmin training load) are listed apart on their own scale, never added. With the default end date and nothing recorded today yet, the windows end yesterday. Reference ranges (ACWR 0.8-1.3, monotony > 2.0) are shown with sources as context; small samples are flagged; no verdict. Overview: get_coach_context; planned load: get_load_projection. Method: intervals://methods/load (get_guide).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
weeksNoISO weeks in the weekly table, 1-26
end_dateNoLast day YYYY-MM-DD; default today; not in the future
acute_daysNoAcute window in days, 3-28
athlete_idNoDefault: the configured athlete
chronic_daysNoChronic window in days, 14-120, longer than acute_days
detail_levelNocompact = windows, ratio, monotony, fitness, top 3 sports; standard adds all sports, ISO weeks, device loads; full adds daily loads and definitionsstandard
output_formatNojson = machine-readable, all fieldstext

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnlyHint/openWorldHint annotations, it discloses non-obvious behavior: rest days count as 0, load-less sessions are counted not summed, device loads are listed apart on their own scale, and with nothing recorded today the default windows end yesterday. It also states reference ranges carry sources, small samples are flagged, and no verdict is rendered.

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?

Purpose and the metric inventory are front-loaded, with behavioral caveats and routing in a second block. It is dense and slightly long, but nearly every clause carries distinct information; the only mild redundancy is repeating the default window lengths already in the schema.

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 7-parameter read-only analytics tool with no output schema, the description fully specifies what is computed, how edge cases (rest days, missing load, device loads, default end date) are handled, and where to go for related or planned data. Nothing an agent needs to call it correctly 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%, so detail_level, weeks, end_date, acute_days, chronic_days, output_format and athlete_id are already documented in the schema. The description restates the default windows ('acute (default 7 d) and chronic (28 d)') but adds little beyond the schema. Baseline 3 applies when the schema carries the parameters.

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+resource and enumerates exactly what is returned: acute/chronic load, ACWR, Foster monotony and strain, deload weeks, per-sport breakdown, ISO weeks, and CTL/ATL/form/ramp. It also explicitly names the sibling tools it is not (get_coach_context for overview, get_load_projection for planned load), so an agent can distinguish it without opening any schema.

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?

Opens with 'Use for acute and chronic training load in detail' and closes with explicit routing: 'Overview: get_coach_context; planned load: get_load_projection.' Both a when-to-use and named alternatives are provided, plus a method reference (get_guide / intervals://methods/load). 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.