garmin-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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