Skip to main content
Glama
B3r3z

Intervals.icu MCP Server

by B3r3z

export_activity_data

Export complete raw activity streams and interval records to a local artifact, with optional stream filters and sample ranges for targeted retrieval.

Instructions

Export complete raw activity data to the configured local artifact.

Use this after a compact read when the client needs all stream samples and interval records. The stream arrays retain their upstream index and null values; this read validates their shape before handing them to the local artifact store. An optional stream_types filter narrows the streams, and an optional half-open sample range slices each returned array. The manifest reports source unit conflicts and time-axis ambiguity; optional type-based unit hints are separate from source declarations. Streams and intervals come from separate HTTP reads: the returned hash verifies the local composite bytes, not an atomic upstream snapshot. Use get_artifact_chunk with the opaque ID when the MCP client cannot access the server filesystem. Source completeness remains unknown until the upstream data contract says otherwise. Tymewear VT/VE remain in raw device units, with no conversion to liters; use get_metric_definitions for respiratory field and FIT mapping context.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
api_keyNo
end_indexNo
activity_idYes
start_indexNo
stream_typesNo
expected_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.3/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. It does this well: it explains non-atomicity across separate HTTP reads, hash verification of local composite bytes, shape validation, manifest reporting of unit conflicts and time-axis ambiguity, raw device units for Tymewear VT/VE, and the source-completeness caveat. This is far richer than the structured fields alone.

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 not bloated; each sentence adds a distinct fact about behavior, alternatives, or caveats. It is front-loaded with the core purpose. The paragraph format is harder to scan than bullets, but the information density justifies the length.

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 a complex tool with no annotations and 0% schema coverage, the description covers usage context, alternative routing, data-shape guarantees, unit handling, and upstream limitations. The main gaps are the unexplained api_key and expected_athlete_id parameters, but the output schema and rich behavioral detail make the definition substantially complete.

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 adds meaning for stream_types as a filter and for start_index/end_index as a half-open sample range, and it mentions unit hints separately from source declarations. However, api_key, expected_athlete_id, and activity_id are not explained, leaving notable gaps for a 6-parameter tool.

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: 'Export complete raw activity data to the configured local artifact.' It clearly distinguishes itself from the sibling read tools by positioning this as the full raw export, and it even names get_artifact_chunk as the retrieval path for clients without filesystem access. The purpose is unambiguous.

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 gives explicit context: 'Use this after a compact read when the client needs all stream samples and interval records.' It also names an alternative, get_artifact_chunk, for a specific condition. It does not exhaustively list when-not-to-use cases, but the guidance is clear enough for an agent to route correctly.

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