garmin-connect-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 |
|---|---|
| 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
| 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/jharkebusch/garmin-connect-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server