Skip to main content
Glama

get_fitness

Read-only

Reads Garmin's current fitness markers, including VO2 max, fitness age, predicted race times, lactate threshold, and training zones, so you can set evidence-based goals and training paces.

Instructions

Garmin's read on the user's current fitness, as markers rather than history.

VO2 max and fitness age, predicted race times for 5k to marathon, lactate threshold heart rate and pace, endurance score, hill score and running tolerance, each with its own classification where Garmin gives one. Use it to set goals and training paces from evidence: "Garmin thinks you are a 1:42 half today" is a better starting point than asking. Also the heart rate and power zones set in Garmin, which workouts can target as "z2".

Also returns the cycling FTP set in Garmin, with watts per kilo when the user's weight is set. For a general "how's my training going", get_plan is the first call; this adds the fitness markers. For whether they are improving over months, get_fitness_trends.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.1

TDQS

A4.6/5.0
Behavior4/5

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

With readOnlyHint/destructiveHint/openWorldHint already declared, the description still adds real value: classifications are present only 'where Garmin gives one', watts-per-kilo appears only when the user's weight is set, and the returned zones are the ones workouts can target as 'z2'. It stops short of covering missing-device/no-data behavior, so not a 5.

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?

Mostly front-loaded with the payload inventory first and the sibling routing last, and every clause carries information. Slightly jumbled by the 'Also the heart rate and power zones' insertion after the opening paragraph, which interrupts the flow before the FTP follow-up.

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?

No parameters, read-only annotations, and an output schema that already documents return shape – yet the description still explains the marker set well enough for an agent to decide this is the right call. Nothing needed to invoke it correctly is 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?

The tool takes zero parameters, so the schema baseline of 4 applies; there is nothing further the description could add on argument semantics.

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 names a specific resource (Garmin fitness markers) and enumerates exactly what comes back – VO2 max, fitness age, race predictions, lactate threshold, endurance/hill score, running tolerance, HR/power zones, FTP. 'Read on the user's current fitness, as markers rather than history' crisply separates it from the trend-oriented siblings.

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?

Gives explicit when-to-use ('set goals and training paces from evidence') and names two alternatives with the condition that selects each: get_plan for a general 'how's my training going' and get_fitness_trends for improvement over months. No inference required.

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