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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | Check the Garmin connection and return the logged-in account profile (display name, full name). |
| get_daily_healthB | Daily wellness metrics for a date. Pick one or more via |
| get_trainingC | Training metrics for a date. Pick via |
| get_fitnessA | Fitness/performance metrics. Pick via |
| get_weightA | Body weight & body composition (weight, BMI, body-fat %) over a date range. Set include_raw for the individual weigh-in entries too. Default range: the last ~4 weeks. |
| get_steps_historyA | Step totals over a date range. granularity 'daily' (Garmin caps the span at 28 days) or 'weekly'. Default: daily, last ~4 weeks. |
| get_activityA | Data for a single activity by activityId. Pick via |
| list_activitiesA | List activities. Without dates: the most recent ones (use limit=1 for the last activity). With startDate/endDate and/or type: activities in that range, optionally filtered by type (e.g. running, cycling, swimming). |
| get_devicesA | Garmin devices paired to the account (model, firmware, last sync). |
| get_user_profileA | User profile & settings: units, preferences, activity level, etc. |
| get_goalsC | Goals filtered by status (active, future, or past). |
| get_workoutsC | Saved workouts on the account. |
| get_scheduled_workoutsB | Scheduled workouts / calendar for a month (defaults to the current month). |
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 13 tools
Most tools are clearly separated by domain (daily health, training, fitness, weight, steps, activities, workouts, devices). Some overlap exists, such as steps and heart-rate metrics appearing in both get_daily_health and related history/fitness tools, and whoami vs get_user_profile could be slightly confusing, but the descriptions make the intended boundaries mostly clear.
The tool names are consistently snake_case and nearly all use a get_ verb prefix, with list_activities as a sensible variant. whoami is the only clear naming outlier, but it is a conventional and readable exception.
With 13 tools, the server is well within a reasonable range and each tool maps to a distinct Garmin data area. The grouping is not bloated, and no tool feels redundant purely from a count perspective.
The surface covers the main read-only Garmin domains: health, training, fitness, body composition, steps, activities, goals, workouts, scheduled workouts, devices, and profile. Minor gaps such as retrieving individual workout or goal details may exist, but core workflows appear covered and agents can work around them.