Skip to main content
Glama
B3r3z

Intervals.icu MCP Server

by B3r3z

get_sport_settings

Retrieve an athlete's current sport settings by sport name or settings ID, covering FTP, power zones, load order, and fatigue thresholds.

Instructions

Read current-at-fetch settings for one sport or settings ID.

Choose this for the athlete's current FTP, zones, load order, and fatigue thresholds. sport is one selector: a sport name such as Ride or the current settings ID. Compact output keeps useful thresholds, zones, models, and ordering fields; full_read or detail='full' preserves every upstream field and unknown unit. ftp/p_max are W, w_prime is J, after_kj0/after_kj1 are kJ, heart-rate values are bpm, power zones are %FTP, and threshold_pace is always m/s; pace_units is only a display preference. These are current settings, not activity-assigned historical thresholds, and the MCP performs no physiological calculations. Source completeness is unknown.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sportNoRide
detailNocompact
api_keyNo
athlete_idNo

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.5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden, and it delivers: it discloses that output is current-at-fetch (not historical), that the MCP performs no physiological calculations, that source completeness is unknown, and that pace_units is only a display preference. It also explains the compact vs full_read/detail='full' behavior and unit conventions. This is rich behavioral context beyond what the schema shows.

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?

The description is dense but well-organized: purpose first, then selector semantics, then output modes, then units, then caveats. Every sentence adds information. It is longer than the minimum, but the density justifies the length; a slight trim of the unit list could improve it, but nothing is wasted.

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?

Given the tool has an output schema and no annotations, the description covers the essential selection criteria, parameter semantics, unit conventions, and behavioral caveats. It does not explain api_key/athlete_id, but those are standard context parameters. The main gap is that it doesn't describe the exact return shape, but the output schema exists, so the description needn't repeat that.

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 0%, so the description must compensate, and it does for the key parameters: sport (selector semantics), detail (compact vs full_read/detail='full'), and the unit meanings for ftp/p_max/w_prime/after_kj0/after_kj1/threshold_pace. It does not explicitly explain api_key or athlete_id, but those are conventional auth/context parameters and the description's unit and selector detail goes well beyond the bare 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 opens with a specific verb ('Read') and resource ('current-at-fetch settings for one sport or settings ID'), then enumerates the exact use cases (FTP, zones, load order, fatigue thresholds). It clearly distinguishes itself from activity-assigned historical thresholds and from sibling tools like get_activity_power_hr or get_workout_snapshot by focusing on current sport settings.

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 says 'Choose this for the athlete's current FTP, zones, load order, and fatigue thresholds,' which gives clear when-to-use guidance. It also explains the selector semantics ('sport is one selector: a sport name such as Ride or the current settings ID') and the detail modes. It does not explicitly name sibling alternatives to avoid, but the context is strong enough for an agent to select this tool over the listed siblings.

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