Skip to main content
Glama

get_vo2max_history

Understand what may explain your VO2max changes by reviewing step changes over 8 weeks and comparing training metrics between the last 28 days and previous 28 days.

Instructions

VO2max over the last 8 weeks as STEPS (only the days the value really changed — Garmin carries it forward in between) plus a descriptive comparison of the last 28 days with the 28 before (distance, Z5 minutes, easy share, temperature). Use for "why is my VO2max moving?". Descriptive, not causal.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/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 an excellent job: it explains the data shape (STEPS, only changed days, Garmin carry-forward), the time windows (8 weeks, 28 days vs 28 before), and the specific metrics included (distance, Z5 minutes, easy share, temperature). It also explicitly states the tool is descriptive, not causal, which is a key behavioral trait. The only minor gap is that it doesn't describe the output format or whether the comparison is computed server-side, but the output schema exists and the description is already quite rich.

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 two sentences, tightly packed with useful information. It front-loads the core purpose (VO2max over last 8 weeks as STEPS), then adds the comparison detail, and ends with the use case and a caveat. Every sentence earns its place; there is no fluff or repetition of schema information.

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 tool has 0 parameters and an output schema exists, the description is complete for an agent to decide whether to call it and what to expect. It covers the data granularity, time windows, metrics, and the descriptive-not-causal nature. The sibling context (get_trend, get_training_load) makes the use-case sentence particularly valuable for routing. Nothing essential 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 has 0 parameters, so the schema provides no parameter semantics. The description compensates by explaining what data the tool returns and the time windows involved. Since there are no parameters to document, the description's role is to clarify the tool's scope and output, which it does well. A 4 is appropriate because the description fully covers the tool's behavior despite having no parameters to describe.

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 returns VO2max history over the last 8 weeks as STEPS, with a specific data format (only days where the value changed, because Garmin carries it forward). It also includes a descriptive comparison of the last 28 days versus the 28 before, covering specific metrics. The final sentence explicitly ties it to the use case 'why is my VO2max moving?', which distinguishes it from sibling tools like get_trend or get_training_load.

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?

The description explicitly states when to use this tool: 'Use for "why is my VO2max moving?".' It also clarifies what the tool is not: 'Descriptive, not causal.' This gives an agent clear guidance on when to select this tool over siblings like get_trend or get_training_load, and sets expectations that it won't provide causal analysis.

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