Skip to main content
Glama
garmin-personal-api-mcp

garmin-personal-api-mcp

by aaronhaddad

Profile & heart-rate zones

garmin_get_profile
Read-onlyIdempotent

Retrieve Garmin profile settings and heart-rate zones first to establish units and thresholds needed for interpreting activities, sleep, and recovery data.

Instructions

The user's Garmin profile settings (units, weight, height, birth year, lactate threshold where set) plus their heart-rate zones. Call this first when you need zones or units to interpret other data.

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuine context beyond that: it discloses that lactate threshold is only present 'where set' (partial-field behavior) and that this is the intended first call for interpreting other data. It does not describe the shape of zones or unit conventions, 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.

Conciseness5/5

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

Two sentences: the first front-loads what comes back, the second front-loads when to call it. No filler, no restatement of the title.

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

Completeness4/5

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

With no output schema and no parameters, the description carries the burden of telling the agent what it receives, and it does so at field level plus the zones payload. It stops short of explaining how zones/units are represented, which would matter for downstream interpretation, but the essentials are present.

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 imposes nothing to document; baseline is 4. The description's field enumeration is informational about the return payload rather than about parameters, which is appropriate here.

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?

States a specific resource (the user's Garmin profile settings) and enumerates the fields returned — units, weight, height, birth year, lactate threshold — plus heart-rate zones. No sibling tool covers profile settings, so an agent can distinguish it from the wellness/activity siblings purely from the description.

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?

"Call this first when you need zones or units to interpret other data" gives an explicit trigger condition and a sequencing rule relative to the rest of the toolset. There is no explicit 'do not use when' clause or named alternative, which keeps it short of a 5.

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