garmin-connect-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GARMIN_PASSWORD | Yes | Your Garmin Connect password. | |
| GARMIN_USERNAME | Yes | Your Garmin Connect username. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_daily_overviewA | Get a comprehensive daily overview including sleep, activities, and health metrics |
| get_sleep_dataB | Get detailed sleep data for a specific date from Garmin Connect |
| get_health_metricsB | Get aggregated health metrics for a specific date |
| get_heart_rate_dataC | Get detailed heart rate data for a specific date |
| get_weight_dataA | Get weight and body composition data for a specific date |
| get_hydration_dataB | Get daily hydration (water intake) data for a specific date |
| get_activitiesA | Get list of recent activities with optional filtering and pagination |
| get_activity_detailsC | Get detailed information for a specific activity |
| get_weekly_volumeC | Get weekly training volume aggregation for a specific week |
| get_training_stress_balanceA | Get training stress balance (TSB), chronic training load (CTL), and acute training load (ATL) for a specific date. TSB = CTL - ATL indicates form/freshness. Uses HR-based TSS calculation when available, falls back to duration estimates. |
| create_running_workoutB | Create a structured running workout in Garmin Connect. Build workouts with warmup, intervals, recovery, cooldown, and repeat blocks. Supports time-based, distance-based, and lap-button durations. Supports pace, HR zone, and no-target intensity controls. |
| schedule_workoutA | Schedule a workout to a specific date in Garmin Connect calendar. Use the workoutId from create_running_workout response. |
| get_scheduled_workoutsA | Get scheduled workouts from Garmin Connect calendar for a date range. Defaults to the current week (Monday to Sunday) if dates not provided. Returns list of scheduled workouts with details including scheduleId for unscheduling. |
| delete_workoutA | Permanently delete a workout from Garmin Connect library. This also removes the workout from all calendar dates where it was scheduled. This operation cannot be undone. |
| unschedule_workoutA | Remove a workout from Garmin Connect calendar. The workout remains in your library for future scheduling. Use the scheduleId from get_scheduled_workouts response. |
| get_workout_detailsA | Get detailed information for a specific workout including steps, targets, and duration. Returns the complete workout structure with formatted step information. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Tools are mostly distinct, but get_daily_overview overlaps with multiple individual metric tools (e.g., get_sleep_data, get_health_metrics), potentially causing confusion about which to use for a specific metric.
All tools use a consistent snake_case verb_noun pattern (e.g., get_activities, create_running_workout, unschedule_workout), making the naming predictable and easy to navigate.
16 tools is slightly above the ideal range but still reasonable given the domain covers activities, workouts, health metrics, and scheduling; no tool feels superfluous.
The set lacks update functionality for any resource and omits some common Garmin metrics like steps or floors, though the core read/create/delete/schedule workflow for workouts is covered.