Skip to main content
Glama
futureweb

Futureweb Intervals MCP

by futureweb

get_durability

Read-only

Analyze aerobic durability from Intervals.icu by measuring power:HR or pace:HR decoupling and efficiency factor trends in steady long rides and runs over a default 6-week window.

Instructions

Use for aerobic durability: Intervals.icu's aerobic decoupling (power:HR, or pace:HR for runs without power; drift between the halves in %) of steady long cycling and running sessions and the efficiency factor trend (read-only, default the last 6 weeks).

Sessions pass a quality filter (min_minutes moving, few stops, HR, rides with power, variability index up to max_vi, temperature up to max_temp_c, optionally indoor or outdoor only); excluded ones are counted per reason. Per sport family: median, range, quartiles, sessions above drift_threshold_pct (5 % commonly cited) and the last recent_days against the window. Fewer than 8 qualifying sessions are flagged as a small sample; mixed indoor/outdoor, bikes/shoes or power meters are noted. Statistics only, no verdict. Per interval and bike: get_power_hr_efficiency. Method: intervals://methods/durability (get_guide).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
max_viNoMaximum variability index (steadiness), at least 1
end_dateNoLast day YYYY-MM-DD; default today
athlete_idNoDefault: the configured athlete
max_temp_cNoMaximum average temperature in °C; null = no limit; a missing temperature passes
start_dateNoFirst day YYYY-MM-DD; default 41 days before end_date (6 weeks); max 366 days
environmentNoOnly indoor (trainer, virtual) or outdoor sessions; omit for both
min_minutesNoMinimum moving time in minutes, above 0
recent_daysNoRecent window in days compared with the whole period
sport_typesNoComma-separated activity types, e.g. "Ride,VirtualRide"; default every cycling and running type
detail_levelNocompact = per-sport summary; standard adds the qualifying sessions and the reference; full adds the excluded sessionsstandard
output_formatNojson = machine-readable, all fieldstext
temperature_sourceNoTemperature for max_temp_c: device sensor, Intervals.icu weather or its feels-likedevice
drift_threshold_pctNoDecoupling in % above which sessions are counted

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only cover readOnlyHint and openWorldHint, and the description adds real behavioral context on top: it states the output is statistics-only with no verdict, that sessions failing the quality filter are counted per exclusion reason, that samples under 8 are flagged, and that mixed indoor/outdoor or mixed equipment are noted. It stops short of describing limits like rate limits or exact return fields, but the disclosure is substantive.

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?

It is dense and heavily parenthesized, but the primary purpose is front-loaded and the length is justified by 13 parameters and nontrivial filter/output semantics. A few parenthetical clauses could be trimmed, but every block of content is relevant.

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 13-parameter analysis tool with no output schema, the description covers the metric, the filter logic, the reported statistics, the small-sample and mixing caveats, and the machine-readable option. Return value shape is left to the output_format/detail_level parameters rather than the description, which is acceptable but leaves some detail implicit.

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 already 100%, so the baseline is 3, but the description adds genuine meaning about how the parameters operate: the quality-filter semantics (min_minutes, stops, max_vi, max_temp_c, environment), the default 6-week window, and the framing of drift_threshold_pct as the commonly cited 5%. That goes beyond restating schema text.

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 analysis (aerobic decoupling power:HR / pace:HR plus efficiency-factor trend) applied to steady long cycling and running sessions, and it explicitly differentiates itself from get_power_hr_efficiency ('Per interval and bike'). An agent can tell exactly what this computes and how it differs from the neighboring efficiency tool.

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 opens with 'Use for aerobic durability' and routes the agent to get_power_hr_efficiency when per-interval/per-bike granularity is needed and to get_guide for the method. That is clear alternative routing, though it does not spell out explicit when-not conditions (e.g., data prerequisites such as needing HR or long steady sessions).

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