Skip to main content
Glama

garmin_achievements

Read-only

Retrieve Garmin Connect goals, personal records, badges, and challenges by kind, status, and limit to track progress and available rewards.

Instructions

Goals, personal records, badges (earned, available, in progress) and challenges (adhoc, badge, available, unfinished, virtual).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "kind": "<kind>"
    },
    "name": "garmin_achievements"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindYes
limitNoHow many, 1-100
startNoPosition to start from, counting from 1
statusNoFor goalsactive

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.5/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered, and the description adds essentially nothing beyond that. It does not mention pagination behavior, whether results are user-scoped, or how the returned data differs between the ten kinds.

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

Conciseness3/5

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

It is short with no filler, which is good, but it is a bare noun fragment with parenthetical enumerations rather than a front-loaded statement of what the tool does. The parentheses duplicate the enum list a caller can already read in the schema.

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

Completeness2/5

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

With no output schema and ten distinct result kinds, the description should convey at least what shape of data each kind returns and how pagination applies. As written, an agent knows only the category names, leaving result content and per-kind behavior entirely unspecified.

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 75% and the two pagination parameters plus `status` ("For goals") are documented in-schema, so the baseline applies. The description echoes the `kind` categories but does not explain the meaningful distinctions within them, such as adhoc vs. badge vs. available challenges, or that `status` is only meaningful when kind=goals.

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?

The description names the resource domain (goals, personal records, badges, challenges) but supplies no verb, so it never says whether the tool lists, computes, or summarizes them. It largely restates the enum values already present in the schema's `kind` parameter rather than distinguishing the tool from siblings like garmin_training or garmin_profile.

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 when-to-use guidance, no statement of prerequisites, and no exclusion pointing to an alternative sibling. An agent must infer from the enum alone that this is the achievements/collectibles surface rather than training or profile data.

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