Skip to main content
Glama
flawas

Garmin Connect MCP Server

by flawas

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GARMIN_MCP_DATA_DIRNoFolder for token cache and FIT downloads. Defaults to ~/Library/Caches/garmin-connect-mcp on macOS and ~/.cache/garmin-connect-mcp otherwise.
GARMIN_PERSONAL_API_KEYYesPersonal API Key, created at https://connect.garmin.com/app/settings/personalApiToken

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
profileC

Profil-Einstellungen (Gewicht, Grösse, VO2max, Laktatschwelle, Einheiten) und Herzfrequenzzonen.

daily_summariesB

Tageszusammenfassungen pro Tag: Schritte, Kalorien, Ruhepuls, Stress, Body Battery, Intensitätsminuten, Etagen usw. Standard: letzte 7 Tage.

sleep_summariesA

Schlaf-Zusammenfassung pro Nacht (Dauer, Phasen, Sleep Score). Standard: letzte 14 Tage.

hrv_summariesA

HRV pro Nacht (Mittelwert, 7-Tage-Schnitt, Baseline, Status). Standard: letzte 28 Tage.

body_batteryB

Body Battery pro Tag (Aufladung, Verbrauch, Höchst-/Tiefstwert). Standard: letzte 7 Tage.

stressB

Durchschnittlicher Stress pro Tag. Standard: letzte 28 Tage.

stepsB

Schritte und Schrittziel pro Tag. Standard: letzte 28 Tage.

weightC

Gewichtsmessungen (inkl. Körperzusammensetzung, falls vorhanden). Standard: letzte 90 Tage.

wellness_activity_summariesC

Wellness-Aktivitätsübersicht pro Tag. Standard: letzte 7 Tage.

sleep_dayA

Detaillierter Schlaf einer Nacht (Phasen, Atmung, HF, HRV, Sleep Score inkl. Faktoren). date = Datum des Aufwachens. Zeitreihen nur mit include_timeseries=true.

hrv_dayB

HRV einer Nacht mit Einzelmessungen (Zeitreihe nur mit include_timeseries=true).

heart_rate_dayC

Herzfrequenz eines Tages (Ruhepuls, Min/Max; Verlauf nur mit include_timeseries=true).

fitness_ageD

Fitness-Alter und beeinflussende Faktoren.

spo2_dayC

Pulsoximetrie (SpO2) und Höhenakklimatisierung eines Tages.

list_activitiesA

Aktivitäten (kompakt) im Zeitraum, neueste zuerst. Standard: letzte 30 Tage. activity_type z.B. running, cycling, trail_running, lap_swimming, strength_training. Für mehr als limit Einträge mit start paginieren.

activity_detailsC

Vollständige Zusammenfassung einer Aktivität (Splits-Summary, Trainingseffekt, Gerät usw.).

activity_workoutsC

Geplante/strukturierte Workouts, die mit einer Aktivität verknüpft sind.

activity_streamsA

Lädt die Original-FIT-Datei und liefert Session-Werte, alle Laps und einen auf resolution_seconds heruntergerechneten Verlauf (HF, Pace/Speed, Leistung, Kadenz, Höhe). Ideal für Intervall-, Pacing-, Drift- und Zonen-Analysen. Datei wird lokal gecacht.

raw_getB

Beliebiger GET-Aufruf an die Personal API für Endpoints ohne eigenes Tool (siehe Swagger-Doku), z.B. path='/usersummary-service/stats/hydration/daily/2026-10-01/2026-10-21'.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.7/5.0

Scored across 19 tools

Disambiguation3/5

Most tools target distinct Garmin data domains, and summary-vs-detail pairs like sleep_summaries/sleep_day and hrv_summaries/hrv_day are reasonably clear. However, daily_summaries overlaps heavily with dedicated stress, steps, and body_battery tools, and wellness_activity_summaries is vague, so an agent may hesitate between aggregate and metric-specific tools.

Naming Consistency3/5

The set is mostly readable snake_case, but conventions are mixed: many tools are noun phrases (profile, daily_summaries, sleep_day), one uses a verb_noun pattern (list_activities), and raw_get is a generic fallback. There is no single predictable naming pattern, though it is not chaotic.

Tool Count4/5

Nineteen tools is slightly above the typical range, but Garmin Connect covers many distinct health and activity data domains, so most tools earn their place. The only mild bloat comes from the overlap between daily_summaries and the metric-specific summary tools.

Completeness4/5

The surface is broad for read-only health and activity data: profile, daily metrics, sleep, HRV, body battery, stress, steps, weight, SpO2, fitness age, activities, streams, and a raw GET fallback. Minor gaps remain around write operations such as creating workouts, uploading activities, or modifying profile settings beyond GET endpoints.

Maintenance

ActivityMaintained
ResponsivenessNo issues