Skip to main content
Glama
intervals-icu-mcp
by hhopke

Icu Download Activity File

icu_download_activity_file
Read-onlyIdempotent

Download the original uploaded activity file (FIT, TCX, or GPX) exactly as the device produced it, without forcing FIT or GPX conversion.

Instructions

Download the original activity file.

Downloads the ORIGINAL uploaded file (FIT, TCX, or GPX — whatever the device produced). Different from download_fit_file (forces FIT conversion) and download_gpx_file (forces GPX conversion). If output_path is set the file is saved there; otherwise the response embeds base64 content.

Input Schema

NameRequiredDescriptionDefault
activity_idYesActivity ID to download
output_pathNoPath to save the file (optional)

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive and open-world, so the safety profile is known. The description adds real behavioral detail beyond that: the file is the unmodified upload in whatever format the device produced, and the response shape changes depending on output_path (saved to disk vs base64 embedded). It could still say more about size/streaming limits, but the output schema carries return structure.

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?

Front-loaded with purpose, then differentiation, then the output_path behavior — an efficient order. There is mild repetition between the opening line and 'Downloads the ORIGINAL uploaded file', but nothing that obscures the decision.

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?

Two parameters with full schema coverage, plus an output schema, so the description needs only to cover intent, sibling differentiation and the output_path branch — all of which it does. Nothing an agent needs to invoke it correctly appears to be missing.

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 coverage is 100%, so the baseline is 3, but the description goes beyond the schema by explaining the consequence of output_path: if set, the file is written there; if not, base64 content is embedded in the response. That is meaningful semantics the schema's one-line description does not convey.

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?

States a specific verb (download) and resource (the original activity file) and immediately clarifies that the original device-produced format is returned. It explicitly distinguishes itself from download_fit_file and download_gpx_file, so an agent can select between the three without reading 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?

Names two concrete alternatives and the exact condition that separates them: this tool gives the ORIGINAL file, while the siblings force FIT or GPX conversion. The when-to-use rule is unambiguous.

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

Deploy Server

Other Tools