Skip to main content
Glama

api_get

Read-only

Fetch raw Garmin Personal API data by path when no dedicated tool exists, including weight, hydration, SpO2 acclimation, and user settings.

Instructions

Raw GET against the Personal API for data without a tool, e.g. /weight-service/weight/range/{start}/{end}, /usersummary-service/stats/hydration/daily/{start}/{end}, /wellness-service/wellness/daily/spo2acclimation/{date}, /userprofile-service/userprofile/settings. Paths outside Garmin's allowlist return 404 (Training Readiness/Status, PRs, workouts, badges).

Input Schema

NameRequiredDescriptionDefault
pathYes
paramsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover read-only and open-world, and the description adds genuinely non-obvious behavior: a server-side allowlist, a 404 failure mode for off-allowlist paths, and a named list of what is unavailable (Training Readiness/Status, PRs, workouts, badges). It does not mention auth, rate limits, or the response shape, which keeps it below 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.

Conciseness4/5

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

Front-loads the verb and purpose, then packs examples and the failure mode into three sentences with little waste. The path list is dense but each entry is informative rather than filler.

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?

Given no output schema and an arbitrary-JSON return, the description doesn't need to enumerate fields, but it never says the response is raw API JSON or how errors other than 404 manifest. For an open-world generic caller that is the main remaining gap, and everything else an agent needs to form a call is present.

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 description coverage is 0% for both parameters, so the description must carry the load. It compensates for `path` by showing templated examples with {start}/{end}/{date} placeholders, which conveys the syntax well, but `params` (query string object) gets no explanation at all — no mention of keys, encoding, or whether values are raw or form-encoded.

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+resource: a raw GET against the Personal API, positioned as the escape hatch for 'data without a tool', and gives four concrete example endpoint paths. That distinguishes it from the typed siblings (activities, timeseries, daily, etc.) by implication, though no sibling is named explicitly.

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?

'For data without a tool' clearly frames when to reach for this rather than the structured siblings, and the examples show the intended shape of call. It stops short of an explicit 'prefer the typed tool when one exists' rule, so the agent must infer the fallback ordering.

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