Skip to main content
Glama
aaronhaddad

garmin-personal-api-mcp

by aaronhaddad

Raw Personal API GET

garmin_api_get
Read-onlyIdempotent

Call any documented Garmin Personal API endpoint to retrieve data not covered by other tools, such as menstrual cycle summaries or activity workouts.

Instructions

Call any documented Personal API endpoint directly, for data the other tools don't cover (e.g. menstrual cycle summaries, activity workouts). Path must start with one of: /activity-service/, /activitylist-service/, /biometric-service/, /fitnessage-service/, /goal-service/, /hrv-service/, /nutrition-service/, /periodichealth-service/, /sleep-service/, /usersummary-service/, /userprofile-service/, /weight-service/, /wellness-service/, /wellnessactivity-service/. Example: path="/activity-service/activity/123456/workouts"

Input Schema

NameRequiredDescriptionDefault
pathYesAPI path beginning with /
paramsNoQuery parameters

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/open-world, so safety is covered. The description adds genuinely non-schema behavior: the whitelist of acceptable service prefixes, which prevents calls outside the supported API surface. It does not describe error behavior for a rejected prefix or rate/response characteristics.

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-loaded with the purpose and the when-to-use rule, followed by the prefix whitelist and one example. The long prefix enumeration is dense but operational rather than filler; nothing else is wasted.

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?

No output schema, so the agent gets no return-shape information beyond the example path, and error/pagination behavior is unstated. For an open-world raw passthrough that is largely inherent, and the critical missing piece — which paths are legal — is fully covered.

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?

Schema coverage is 100% (baseline 3), and the description goes beyond it by constraining `path` to a specific set of service prefixes and supplying a worked example, which the schema's generic "API path beginning with /" does not convey. The `params` object stays undocumented in both places, leaving query-parameter semantics to be discovered from Garmin docs.

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 verb and resource ("Call any documented Personal API endpoint directly") and immediately differentiates itself from the 22 siblings as the fallback "for data the other tools don't cover." The example endpoint makes the shape concrete, so an agent can tell when this generic tool applies versus garmin_get_sleep, garmin_get_hrv, etc.

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?

Gives a clear inclusion rule (only for data the named sibling tools don't cover) plus a hard precondition: the path must begin with one of 14 enumerated service prefixes. It stops short of naming which sibling covers which domain, so the agent must still infer when a specific tool exists before falling back here.

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