Skip to main content
Glama
jakub-m-arch

Intervals.icu MCP Server

by jakub-m-arch

Get fitness, fatigue and form

get_fitness_summary
Read-onlyIdempotent

Get training fitness, fatigue, and form (CTL, ATL, TSB) with daily series and weekly totals by sport to evaluate training load and freshness.

Instructions

Get training fitness (CTL, 42-day load), fatigue (ATL, 7-day load) and form (TSB = fitness − fatigue) with the Intervals.icu form zone, a daily series, and weekly totals by sport. Defaults to the last 6 weeks. Use it for questions about training load, freshness or trends.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
newestNoLast day (YYYY-MM-DD). Default: today.
oldestNoFirst day (YYYY-MM-DD). Default: 6 weeks ago.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dailyYes
weeklyYes
currentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description need not repeat safety traits. It adds behavioral context by specifying the default time range (last 6 weeks) and the nature of the returned data (daily series, weekly totals). This goes beyond annotations and helps the agent understand what to expect without overloading.

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?

Two sentences with zero waste. The first sentence packs the core purpose, metric definitions, output structure, and default range. The second sentence gives usage guidance. All critical information is front-loaded, and every clause earns its place.

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?

With an output schema present, the description need not detail return values. It covers the tool's scope, defaults, usage context, and the data it returns. For a read-only, idempotent tool with fully documented parameters, 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 coverage is 100% – both 'newest' and 'oldest' are described with defaults and format. The description does not add parameter-specific details beyond the schema, as the defaults and date format are already present. Baseline 3 is appropriate because the schema handles parameter documentation adequately, and the description's mention of the default range reinforces but does not extend the schema.

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 clearly states the tool's purpose: retrieving training fitness (CTL), fatigue (ATL), and form (TSB), with precise definitions of each metric. It also specifies the output format (daily series, weekly totals by sport) and default time range. This is a specific verb+resource description that distinguishes it from generic sibling tools like get_wellness, which covers different wellness metrics.

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?

The description explicitly states 'Use it for questions about training load, freshness or trends,' giving clear when-to-use guidance. It does not explicitly mention alternatives or when not to use it, but the context is sufficient for an agent to select this tool over others. Sibling differentiation is implied by the metric specificity rather than explicit exclusions.

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