Skip to main content
Glama
Garmin MCP for macOS

Garmin MCP for macOS

by devnjw

garmin_api_heart_rate_zones

Retrieves heart-rate zone settings from Garmin Connect and optionally generates default zones when none exist.

Instructions

Heart-rate zone settings. generate_defaults defaults to false; setting it true may generate account zone settings when none exist. Raw JSON fields are not normalized. Date ranges default to 7 days and allow at most 31 days (activity search uses pagination).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "garmin_api_heart_rate_zones"
  }
}

Input Schema

NameRequiredDescriptionDefault
generate_defaultsNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

C2.7/5.0
Behavior3/5

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

The description usefully explains that generate_defaults=true may create account zone settings when none exist, which aligns with readOnlyHint=false and destructiveHint=false. It also notes raw JSON is not normalized, a helpful output caveat. However, the sentence about date ranges and pagination does not apply to this single-parameter tool and muddies the behavioral picture.

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

Conciseness2/5

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

The opening is front-loaded but too terse to convey the verb, while the date-range/pagination sentence is extraneous for a tool with only generate_defaults. The content is poorly matched to the tool's actual surface.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the raw-JSON note is a useful addition. Still, an agent cannot tell from the description whether this reads existing zones, only generates them, or both, nor what scope (profile/account) the zones apply to.

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 coverage is 0%, so the description carries the burden for generate_defaults; it does state the default (false) and the conditional effect of setting it true, adding real meaning beyond the bare boolean. The remaining description text discusses date ranges that are not parameters of this tool, which is misleading rather than additive.

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?

"Heart-rate zone settings" names the resource but gives no verb, so it is unclear whether the tool reads existing zones or also writes them. It is distinguishable from garmin_api_heart_rate in topic, but the description never explicitly contrasts the two.

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 statement of when to call this versus garmin_api_heart_rate or garmin_api_fitness_age, and no prerequisites. The only actionable guidance is about the generate_defaults flag, which is a parameter explanation rather than a usage rule.

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