Skip to main content
Glama

get_workout_by_id

Fetch detailed workout data by ID or UUID, including segments and step structure. Resolves Garmin Coach and training-plan workouts; rest-day UUIDs return minimal records.

Instructions

Get detailed information for a specific workout

Returns workout details including segments and step structure.

Accepts either:

  • Numeric workout ID (from get_workouts, get_scheduled_workouts, or training-plan families that expose workout_id)

  • Workout UUID (from adaptive Garmin Coach/training-plan workouts)

Rest-day UUIDs can resolve to a minimal record without a workout name or segments.

Args: workout_id: Workout ID (numeric) or UUID (for training plan workouts)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
workout_idYes

Output Schema

TableJSON 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?

The description discloses an important behavioral nuance: 'Rest-day UUIDs can resolve to a minimal record without a workout name or segments.' This goes beyond a simple 'get' and informs the caller of an edge case. Since annotations are absent, this added detail improves transparency, though it doesn't cover error responses or other potential side effects.

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 concise and well-structured: a one-sentence purpose, a clear breakdown of the two ID types, and a brief note on rest-day behavior. No redundant or extraneous information is present, and the key details are front-loaded.

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 presence of an output schema and the tool's relative simplicity, the description is complete. It explains what data is returned (segments, step structure), the accepted parameter formats, and the rest-day exception. The output schema handles detailed return types, so no further elaboration is needed.

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

Parameters5/5

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

The schema only defines workout_id as anyOf integer/string with no description, so the description carries the full burden. It adds significant meaning by explaining that numeric IDs come from specific sources (e.g., get_workouts, scheduled workouts) and UUIDs from adaptive coach/training-plan workouts, and it clarifies the special behavior for rest-day UUIDs. This fully compensates for the lack of schema descriptions.

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 clearly states the tool's purpose: 'Get detailed information for a specific workout' and specifies it returns segments and step structure. It distinguishes from sibling tools by focusing on retrieval by ID rather than listing or scheduling workouts. The mention of both numeric IDs and UUIDs further clarifies its scope.

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 provides useful context on when to use this tool by explaining the origin of accepted IDs: numeric IDs from get_workouts, get_scheduled_workouts, or training-plan families, and UUIDs from adaptive Garmin Coach/training-plan workouts. While it doesn't explicitly state 'use this when you have a workout ID' or contrast with download_workout, the guidance is clear enough for most cases.

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