Skip to main content
Glama
futureweb

Futureweb Intervals MCP

by futureweb

get_activity_details

Read-only

Retrieve complete details for one Intervals.icu activity: summary, thresholds, device custom fields, weather and W′ balance. Use when an activity report lacks needed depth.

Instructions

Use when one activity's full summary, thresholds or device custom fields are needed beyond get_activity_report.

Returns the summary (time, distance, Intervals.icu load, power, HR, cadence, feel/RPE, FTP and thresholds used, device and power meter), fueling, weather, W′ balance and source, plus every custom activity field with a value (device metrics such as training effect, recovery time, stamina, sweat loss), read from the athlete's own definitions with name, code, value and units; 'no value' = null/NaN on Intervals.icu. full adds time in zones, running dynamics and other raw fields. Read-only. Method: intervals://methods/activity-data (get_guide).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
activity_idYesActivity id, e.g. i123456789
detail_levelNocompact = ~8 lines: key numbers, thresholds, sport-assigned custom fields, data quality; standard = full summary; full adds every other payload fieldstandard
output_formatNotext, or json (raw activity, start times, gear name, thresholds, custom fields with status)text
include_all_fieldsNoAlso list every other non-empty payload field (same as detail_level=full)
include_custom_fieldsNoList the athlete's custom activity fields that have a value

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description's 'Read-only' merely confirms that. However, it adds genuinely useful behavioral context: it enumerates the return payload (summary, fueling, weather, W′ balance), documents the null/NaN convention for missing custom field values, and notes fields are 'read from the athlete's own definitions'. No contradiction with annotations.

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?

Front-loaded with the 'Use when...' routing sentence, and most sentences carry payload detail. Slightly dense and the trailing 'Read-only. Method: intervals://methods/activity-data' clauses add marginal value, but nothing is wasted enough to hurt usability.

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 no output schema, the description carries the full burden of explaining returns, and it does so thoroughly (summary fields, custom fields, null semantics, what full adds). Combined with 100% schema coverage on inputs, an agent has everything needed to call 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 100%, so the baseline is 3. The description goes further by clarifying what detail_level=full adds ('time in zones, running dynamics and other raw fields') and what custom fields contain (name, code, value, units), adding meaning beyond the 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?

States a specific verb+resource (fetch one activity's full details) and explicitly positions it relative to a sibling: 'needed beyond get_activity_report'. An agent can distinguish this from get_activity_report, get_activity_intervals, and get_activity_streams without opening the 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?

Names the alternative tool (get_activity_report) and the condition that selects this one ('full summary, thresholds or device custom fields ... beyond'). The detail_level semantics (compact/standard/full) further guide selection, so the routing decision is explicit rather than inferred.

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