Skip to main content
Glama
jharkebusch

garmin-connect-mcp

by jharkebusch

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_daily_summaryA

Overall summary of one day: steps, calories, resting heart rate, stress, body battery, intensity minutes and sleep length.

Start here when the user asks "how was my day" or "how am I doing today".

Args: day: A day such as "today", "yesterday", "3 days ago" or "2026-08-18".

get_sleepA

Sleep for one night: total time, deep/light/REM/awake breakdown, sleep score, resting heart rate and breathing.

Args: day: The night's date. "last night" and "today" both mean the most recent night. Also accepts "yesterday" or "2026-08-18".

get_stepsA

Daily step counts over a period, with the total and daily average.

Args: period: For example "last 7 days", "this month", "last week", or "2026-08-01 to 2026-08-18".

get_heart_rateA

Heart rate for one day: resting, lowest, highest and the seven-day average resting heart rate.

Args: day: For example "today", "yesterday" or "2026-08-18".

get_hrvB

Heart rate variability (HRV) for one night, with Garmin's status and the personal baseline range. HRV is a recovery and stress indicator.

Args: day: For example "today", "yesterday" or "2026-08-18".

get_stressA

Stress levels for one day: average and highest, plus how the day split between rest, low, medium and high stress.

Args: day: For example "today", "yesterday" or "2026-08-18".

get_body_batteryA

Body Battery energy levels, showing how much was charged and drained each day. Higher is more energy available.

Args: period: For example "last 7 days", "this week" or "2026-08-01 to 2026-08-18".

get_training_readinessA

Garmin's training readiness score: how prepared the body is to train hard today, and which factors are helping or hurting.

Args: day: For example "today", "yesterday" or "2026-08-18".

get_vo2max_and_fitnessC

VO2 max (aerobic fitness), fitness age and training status.

Args: day: For example "today" or "2026-08-18".

get_weight_historyA

Recorded body weight over a period, with the change from first to last.

Args: period: For example "last 30 days", "this month" or "2026-01-01 to 2026-08-18".

log_weightC

Record a body weight measurement in Garmin Connect.

Args: kilograms: The weight in kilograms, for example 74.5. day: When it was measured. Defaults to today.

log_hydrationA

Add drunk water to the hydration log in Garmin Connect.

Args: milliliters: How much water to add, in millilitres. 250 is a glass. day: Which day to add it to. Defaults to today.

list_activitiesA

List recorded activities (runs, rides, swims, walks and so on) in a period. Use this to find an activity before asking for its details.

Args: period: For example "last 30 days", "this month" or "2026-08-01 to 2026-08-18". sport: Optional filter, one of running, cycling, swimming, walking, hiking, strength_training, fitness_equipment, multi_sport, other. Leave empty for all sports. limit: Most activities to list. Defaults to 20.

get_activity_detailsA

Full detail for one activity: distance, time, pace, heart rate, elevation, calories, cadence and training effect.

Get the id from list_activities or get_last_activity first.

Args: activity_id: The numeric id of the activity.

get_last_activityA

Full detail for the most recently recorded activity.

get_activity_splitsA

Per-kilometre or per-mile splits for one activity, showing how pace and heart rate changed through the effort.

Args: activity_id: The numeric id of the activity.

get_personal_recordsA

Personal bests recorded by Garmin, such as fastest 5K, longest run and best times over standard distances.

get_date_range_summaryA

Totals across a period: how many activities, total distance, total time and total calories. Good for "how much did I run last month".

Args: period: For example "last 30 days", "this month" or "last week". sport: Optional sport filter such as running or cycling.

get_devicesA

List the Garmin devices on this account and when each was last used.

get_activities_on_dayA

List the activities recorded on one specific day.

Args: day: For example "today", "yesterday" or "2026-08-18".

list_workoutsC

List the saved workout plans in Garmin Connect.

Args: limit: Most workouts to list. Defaults to 25.

get_workoutA

Show the steps of one saved workout plan.

Args: workout_id: The numeric id, from list_workouts.

get_scheduled_workoutsC

Show workouts scheduled on the Garmin training calendar.

Args: period: Currently informational; all upcoming scheduled workouts are returned.

create_workoutA

Create a new time-based workout plan in Garmin Connect.

Builds a warm-up, an optional repeated interval and recovery block, and a cool-down. Set interval_minutes and repeats to 0 for a steady session.

Args: name: What to call the workout, for example "Tuesday intervals". sport: One of running, cycling, walking, swimming, hiking. warmup_minutes: Length of the warm-up. Use 0 to skip it. interval_minutes: Length of each hard interval. Use 0 for a steady session. recovery_minutes: Length of the easy recovery after each interval. repeats: How many times to repeat the interval and recovery pair. cooldown_minutes: Length of the cool-down. Use 0 to skip it.

schedule_workoutA

Put an existing workout plan on the Garmin training calendar.

Args: workout_id: The numeric id, from list_workouts or create_workout. day: The date to schedule it on, for example "tomorrow" or "2026-08-20".

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 25 tools

Disambiguation5/5

Each tool targets a distinct health metric or activity aspect. The daily summary and individual metric tools are clearly separated by description, and activity tools (list, details, splits, last, on day) have distinct purposes. No two tools overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case. Read operations use 'get_', 'list_', or 'show_', and write operations use 'log_', 'create_', or 'schedule_'. The pattern is predictable and easy to understand.

Tool Count4/5

25 tools is on the higher end, but each covers a distinct aspect of Garmin Connect's health and fitness data. The count is justified by the breadth of metrics (daily summary, sleep, steps, HR, HRV, stress, body battery, etc.) and activity/workout management. A slight reduction could be possible if some convenience tools were merged, but they each earn their place.

Completeness4/5

The tool set covers the main user needs: viewing daily health metrics, activity history, workout planning, and logging weight and hydration. Missing are update/delete operations for activities or workouts, but these may be limited by the Garmin API. Overall, the surface is well-rounded and leaves few obvious gaps for typical queries.

Maintenance

ActivitySlowing
ResponsivenessNo issues