Skip to main content
Glama
Garmin MCP Server

Garmin MCP Server

by nitinmms

get_heart_rate_zones

Read-only

Retrieve configured heart rate zones by sport to tailor training intensity analysis and workout planning.

Instructions

Get the user's configured heart rate zones per sport.

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": "get_heart_rate_zones"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that these are configured zones broken out by sport, which is meaningful context for interpreting results. It does not say what happens if no zones are configured or what the response shape is, but the annotation bar is lower here.

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?

A single efficient sentence with the resource front-loaded and no filler. It is arguably too terse for the information an agent may need, but nothing in it is wasted.

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?

For a zero-parameter read tool with annotations covering safety, the description is close to sufficient. However, with no output schema, it never explains the return shape (zone boundaries, sport keys, defaults), and the overlap with the sibling get_heart_rate is left unresolved.

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?

This tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline for a parameterless tool applies. The 'per sport' phrasing does clarify the granularity of what is returned, adding a small amount of value.

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

Purpose4/5

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

States a specific verb and resource ('Get the user's configured heart rate zones') and adds the scope qualifier 'per sport'. It doesn't explicitly differentiate itself from the sibling get_heart_rate, though 'configured' implies settings rather than live readings, which helps.

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?

No when-to-use guidance and no alternatives named. An agent must infer that this returns user-configured zone settings rather than measured heart rate data, and that get_heart_rate is the tool for actual readings. The distinction is only hinted at by the word 'configured'.

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