Skip to main content
Glama
B3r3z

Intervals.icu MCP Server

by B3r3z

get_athlete_power_curves

Compare best power outputs across requested durations for a season or custom date range, returning power-curve data for analysis. Get compact or detailed results including raw curves and normalized values.

Instructions

Read selected athlete power-curve durations in seconds.

Choose this tool for season or custom-range best-power comparisons. Each requested duration is a positive integer number of seconds. Compact results return requested points and curve metadata; detail='full' also returns the untouched upstream curve as raw for deeper analysis. include_normalised is the legacy option for the upstream W/kg series, not Normalized Power. Empty upstream lists are valid empty data, while malformed shapes fail explicitly. Per-curve missing durations and null values are preserved, and source completeness remains unknown.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
detailNocompact
api_keyNo
end_dateNo
durationsNo
athlete_idNo
start_dateNo
last_seasonNo
this_seasonNo
activity_typeNoRide
indoor_outdoorNo
include_normalisedNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
errorNo
queryNo
sourceYes
statusYes
coverageYes
warningsNo
paginationNo
request_idNo
schema_versionNo1.0

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden. It spells out response modes (compact vs detail='full' with raw curve), clarifies the potentially misleading include_normalised flag, and documents edge cases: empty upstream lists are valid, malformed shapes fail explicitly, missing durations/null values are preserved, and source completeness remains unknown.

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?

All six sentences earn their place, with core purpose and usage front-loaded. The later sentences pack edge-case detail efficiently, though the paragraph is dense and could slightly benefit from better visual separation.

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 an 11-param tool with no annotations, the description covers key behaviors and edge cases and relies on the output schema for return shape. It could clarify season/date parameter semantics, but the naming plus defaults makes them reasonably inferable.

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 0%, so the description must compensate. It explains durations as positive integer seconds, detail modes, and include_normalised's legacy meaning. However, it leaves several parameters (last_season, this_season, start_date, end_date, indoor_outdoor, activity_type) unexplained, relying on name inference. Partial compensation only.

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 opens with a specific verb and resource: 'Read selected athlete power-curve durations in seconds.' It further clarifies the tool's niche by stating it is for 'season or custom-range best-power comparisons,' which distinguishes it from activity-level siblings like get_activity_power_curves.

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 phrase 'Choose this tool for season or custom-range best-power comparisons' gives explicit when-to-use context. It does not name alternatives or exclusions, but the 'choose this tool' framing is enough to route an agent without ambiguity.

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