Skip to main content
Glama
B3r3z

Intervals.icu MCP Server

by B3r3z

get_activity_intervals

Retrieve interval data for a specific activity, including interval groups and sample-index-based metrics, with legacy flat-list support for existing callers.

Instructions

Return the activity interval container with index fields intact.

The documented shape contains icu_intervals and optionally icu_groups. A legacy flat list of interval objects is retained for compatibility with existing callers; all other shapes and mixed rows are explicit errors. Intervals use upstream sample indices, not invented elapsed seconds, and an empty valid container remains empty. average_tidal_volume is VT and average_tidal_volume_min is VE. For Tymewear their volume scale is relative; no /100-to-liters conversion applies. average_respiration is BR in breaths/min. See get_metric_definitions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
api_keyNo
activity_idYes

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

A3.9/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 and does so thoroughly: it discloses legacy compatibility, explicit errors for mixed rows, upstream sample indices rather than elapsed seconds, empty-container behavior, and unit/conversion caveats. This goes well beyond what the name or schema convey.

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 purpose is front-loaded and the details are logically grouped: shape, compatibility/errors, indices, empty case, then units. Every sentence adds useful information, though the metric-definition sentences are dense and could arguably be trimmed given the final cross-reference.

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 that an output schema exists, the description does not need to restate return values. It covers the tool's shape contract, legacy behavior, error conditions, indexing semantics, empty-container behavior, unit interpretation, and points to get_metric_definitions for further context. An agent has enough to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning for either parameter: api_key and activity_id are not mentioned. While the parameter names are fairly self-explanatory, the description does not compensate for the low schema coverage as required.

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 object: 'Return the activity interval container with index fields intact.' It then clarifies the documented shape (icu_intervals/icu_groups) and contrasts it with a legacy flat list, which distinguishes this from sibling tools like get_activity_interval_stats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus siblings such as get_activity_interval_stats or get_activity_details. The only cross-reference, 'See get_metric_definitions,' addresses metric semantics, not tool selection. The usage context is left entirely to inference.

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