Skip to main content
Glama

garmin_activity

Read-only

Retrieve one Garmin Connect activity in depth, choosing sections like splits, weather, HR zones, gear, or time-series details to get exactly the data you need from a single activity ID.

Instructions

One activity in as much depth as needed, one or more sections per call.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "activity_id": "<activity_id>"
    },
    "name": "garmin_activity"
  }
}

Input Schema

NameRequiredDescriptionDefault
detailNofull = Garmin's raw payloadssummary
pointsNoSamples kept in details
sectionsNoWhat to include (default summary). summary; splits (laps); typed_splits and split_summaries (run/walk/interval segments); weather; hr_zones and power_zones (time in zone); gear; exercise_sets (strength); training_effect; details (time series of HR, pace, elevation, cadence, power)
activity_idYesActivity id from garmin_activities

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.5/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered and the description needn't restate it. Beyond that the description adds almost nothing: it does not say whether omitted sections are cheap to skip, how heavy a full payload is, or whether points downsampling affects fidelity. "in as much depth as needed" gestures at partial-fetch behavior but never makes it concrete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single clause with no redundant wording, which is good, but brevity here comes from under-specification rather than discipline. There is no front-loaded statement of what the tool returns or how the sections parameter should be driven.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description is the only place an agent can learn what comes back from a single-activity fetch, and it never says so. For a 4-parameter tool with an enum-driven composite response, an agent cannot tell what a summary-only call versus a full call yields, or how the sections list shapes the result.

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 description coverage is 100%, and the sections enum description is genuinely informative (laps, run/walk segments, time-in-zone, time series), so the schema carries parameter meaning entirely. The description adds no parameter-level information such as how sections and detail interact or what points=100 actually preserves, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"One activity in as much depth as needed" implies fetching a single activity's details, and the singular "one activity" loosely contrasts with the plural sibling garmin_activities. However, there is no verb at all (fetch/retrieve/get), and nothing distinguishes it from garmin_activity_analysis or garmin_fit_messages, which plausibly overlap.

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 when-to-use guidance, no when-not-to-use conditions, and no named alternative (e.g., "use garmin_activities to find the id first"). The only routing hint is the buried "one or more sections per call," which implies selective retrieval but never states it as guidance.

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