Skip to main content
Glama

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
list_activitiesA

List recent Garmin activities, most recent first.

Args: limit: Maximum number of activities to return. start: Number of most-recent activities to skip (for pagination). activity_type: Optional Garmin activity type filter, e.g. "running", "cycling", "swimming". Leave unset to include all types.

get_activityA

Get full detail for a single activity: summary plus per-metric time series (pace/HR/power/elevation, GPS-derived stats, etc.).

Args: activity_id: The Garmin activity ID, as returned by list_activities.

get_activity_splitsA

Get lap/split data for a single activity.

Args: activity_id: The Garmin activity ID, as returned by list_activities.

get_heart_rateA

Get a day's heart rate data: resting HR and an intraday HR timeline.

Args: date_str: Date as YYYY-MM-DD. Defaults to today.

get_daily_statsA

Get a day's overall stats summary: steps, calories, resting HR, distance, floors climbed, intensity minutes, etc.

Args: date_str: Date as YYYY-MM-DD. Defaults to today.

get_sleepA

Get sleep data for the night ending on the given date: sleep stages, duration, sleep score, and related metrics.

Args: date_str: Date as YYYY-MM-DD. Defaults to today.

get_hrvB

Get heart rate variability (HRV) data for the given date.

Args: date_str: Date as YYYY-MM-DD. Defaults to today.

get_body_batteryB

Get Body Battery (energy reserve) data over a date range.

Args: start_date: Start date as YYYY-MM-DD. Defaults to today. end_date: End date as YYYY-MM-DD. Defaults to start_date.

get_stressA

Get all-day stress level data for the given date.

Args: date_str: Date as YYYY-MM-DD. Defaults to today.

get_training_readinessA

Get Garmin's Training Readiness score and contributing factors for the given date.

Args: date_str: Date as YYYY-MM-DD. Defaults to today.

get_profileA

Get the athlete's profile: identity/unit preferences, personal settings (including max HR, resting HR, weight, height, VO2max), configured heart rate zones per sport, and configured power zones per sport.

get_lactate_thresholdA

Get running lactate threshold data (heart rate, power, and speed).

Args: latest: If True, return the latest lactate threshold info. If False, query a range instead (requires start_date). start_date: Start date as YYYY-MM-DD. Required if latest is False; ignored if latest is True. end_date: End date as YYYY-MM-DD. Defaults to today. Ignored if latest is True. aggregation: One of "daily", "weekly", "monthly", "yearly".

get_cycling_ftpA

Get the athlete's latest cycling Functional Threshold Power (FTP).

get_ftp_historyA

Get historic Functional Threshold Power for a sport over a date range.

Args: start_date: First date in the range, as YYYY-MM-DD. end_date: Last date in the range, as YYYY-MM-DD. sport: Garmin sport key, e.g. "RUNNING", "CYCLING". aggregation: One of "daily", "weekly", "monthly", "yearly".

get_max_metricsA

Get max-metric data (e.g. VO2max) over a date range.

Args: start_date: Start date as YYYY-MM-DD. Defaults to today. end_date: End date as YYYY-MM-DD. Defaults to start_date.

get_resting_heart_rateA

Get the daily resting heart rate trend over a date range.

Args: start_date: Start date as YYYY-MM-DD. Defaults to today. end_date: End date as YYYY-MM-DD. Defaults to start_date.

get_fitness_ageA

Get the athlete's Garmin Fitness Age for the given date.

Args: date_str: Date as YYYY-MM-DD. Defaults to today.

get_personal_recordsC

Get the athlete's personal records.

list_workoutsA

List the athlete's saved workouts (templates), most recent first.

Args: limit: Maximum number of workouts to return. start: Number of most-recent workouts to skip (for pagination).

get_workoutA

Get the full structure of one workout: segments, targets, intervals.

Args: workout_id: The workout ID, as returned by list_workouts or get_scheduled_workout.

get_scheduled_workoutsA

Get the calendar of workouts scheduled for a given month. This is the primary way to find out what's coming up next in training.

Args: year: Four-digit year, e.g. 2026. month: Month number, 1-12.

get_scheduled_workoutA

Get detail for one scheduled workout instance.

Args: scheduled_workout_id: The scheduled-workout ID, as returned by get_scheduled_workouts.

list_training_plansB

List training plans.

get_training_planB

Get details for a specific training plan.

Args: plan_id: The training plan ID, as returned by list_training_plans.

get_adaptive_training_planB

Get details for a specific adaptive training plan.

Args: plan_id: The adaptive training plan ID, as returned by list_training_plans.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sovnheim/garmin-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server