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

garmin-personal-api-mcp

by aaronhaddad

Splits & pacing analysis

garmin_get_activity_splits
Read-onlyIdempotent

Computes exact distance splits from an activity's original .FIT recording, including per-split heart rate, cadence and climb, device laps, and a pacing verdict, so you can analyze pacing and compare split times.

Instructions

Downloads the original .FIT recording and computes exact distance splits (default 1 km, interpolated at each boundary, pauses excluded), per-split HR, cadence and climb, the device laps, and a pacing verdict (even, negative split, faded).

Use this for "how was my pacing", "did I go out too fast", "compare km 1 to km 5". Works for any GPS or footpod activity recorded on a Garmin device.

Input Schema

NameRequiredDescriptionDefault
activity_idYesNumeric Garmin activity ID, from garmin_list_activities
split_metersNoSplit length in metres: 1000 for km, 1609 for miles, 400 for track laps
response_formatNo'markdown' for a readable summary, 'json' for every fieldmarkdown

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive), so the description's real contribution is the how: it fetches the original .FIT, interpolates at boundaries, excludes pauses, and defaults to 1 km. It omits any note about download cost/latency for fetching a full FIT file, keeping it below 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 tight paragraphs: the first front-loads what is computed and its defaults, the second front-loads when to reach for it. No filler sentences.

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

Completeness5/5

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

There is no output schema, and the description compensates by enumerating the returned content (splits, HR, cadence, climb, laps, pacing verdict). Combined with the stated applicability constraints, an agent has everything needed to call it correctly.

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% so the baseline is 3, but the description adds interpretive meaning: the default split is 1 km and splits are interpolated at boundaries with pauses excluded, which affects how split_meters should be chosen. That is genuinely beyond the schema text.

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?

Specific verb+resource: downloads the original .FIT and computes exact distance splits with named sub-outputs (per-split HR, cadence, climb, device laps, pacing verdict). This clearly separates it from garmin_get_activity and garmin_get_performance_metrics even without naming them.

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 concrete triggering questions ('how was my pacing', 'did I go out too fast', 'compare km 1 to km 5') and states the applicable population (GPS or footpod activities from a Garmin device). It doesn't explicitly name a sibling alternative to prefer for adjacent needs, so it stops 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.