Skip to main content
Glama
B3r3z

Intervals.icu MCP Server

by B3r3z

get_activity_details

Retrieve a single activity's complete details from Intervals.icu by ID, with option to include interval data. Ideal for accessing activity metrics and timing information.

Instructions

Return one activity with upstream fields preserved.

A source-hidden record is returned as partial with an explicit limitation. In that case the row is useful for identity and timing, but it is not evidence that metrics, intervals, or streams are available; use the dedicated interval and stream tools to check those resources. Set include_intervals to request the upstream embedded interval container; missing embedded intervals still require get_activity_intervals. For Tymewear, VT is relative tidal volume per breath (not VT1/VT2), VE is relative minute ventilation, and BR is breaths/min. Custom L/br or L/min labels are not calibration evidence; use get_metric_definitions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
api_keyNo
activity_idYes
include_intervalsNo

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.9/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 of behavioral disclosure, and it does so thoroughly. It explains the 'partial' return behavior for source-hidden records, its implications for data availability, the behavior of include_intervals, and the semantic meaning of Tymewear-derived fields (VT, VE, BR). This goes beyond the schema and gives agents the context needed to interpret results safely.

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?

The description is front-loaded with the core purpose, followed by dense, high-value caveats and unit clarifications. Every sentence contributes essential information—no fluff, no repetition. The structure moves logically from purpose to edge cases to field semantics.

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?

Given the complexity of the tool (partial records, interval special cases, Tymewear unit semantics), the description covers all needed operational context. It does not need to explain return values because an output schema exists. The guidance on when to use alternative tools and how to interpret edge cases makes the description complete for correct invocation.

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. It explicitly explains include_intervals (requests the embedded interval container, with the caveat that missing intervals still require get_activity_intervals). activity_id is implicitly clear from 'one activity,' and api_key is common context, though not explicitly described. Given that the most complex parameter is well covered, this is a solid score.

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 begins with a clear, specific statement: 'Return one activity with upstream fields preserved,' which identifies a distinct verb and resource. It further differentiates from siblings by explicitly pointing to 'dedicated interval and stream tools' for those resources, so an agent can distinguish this from get_activity_intervals and get_activity_streams without opening schemas.

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?

The description provides explicit when-to-use and when-not-to-use guidance: it says source-hidden partial rows are not evidence for metrics/intervals/streams and directs the agent to 'the dedicated interval and stream tools.' It also names get_activity_intervals and get_metric_definitions as the correct alternatives for embedded intervals and calibration evidence, respectively.

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