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 |
|---|---|
| connection_statusA | Verify that saved Garmin tokens can authenticate. |
| preview_workoutA | Validate and preview Garmin JSON without changing Garmin Connect. |
| list_workoutsA | List workout templates from the user's Garmin Connect library. |
| list_scheduled_workoutsB | List Garmin calendar entries for a year and month. |
| list_activitiesA | List completed Garmin activities in an inclusive YYYY-MM-DD date range. Returns compact planning metrics and omits GPS coordinates and owner details.
|
| get_activity_summaryA | Get compact summary metrics for one completed Garmin activity. |
| get_activity_splitsA | Get compact lap and interval metrics for one completed Garmin activity. |
| get_recovery_statusA | Get available sleep, HRV, Body Battery, readiness, and training status for a date. |
| create_workoutA | Create a Garmin workout and optionally schedule it on YYYY-MM-DD. Call with confirm=false for a non-mutating confirmation response. Set confirm=true only after the user explicitly approves the preview and date. |
| delete_workoutA | Permanently delete a workout template after explicit confirmation. |
| unschedule_workoutA | Remove a scheduled workout from the calendar without deleting its template. |
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 11 tools
The tools are generally distinct: connection_status, preview_workout, list/workout types, get_activity_summary vs splits, recovery, and create/delete/unschedule. There is slight overlap between list_workouts and list_scheduled_workouts, but descriptions clarify that one is templates and the other is calendar entries. The naming also helps distinguish them.
All tools follow a consistent verb_noun pattern: connection_status, preview_workout, list_workouts, list_scheduled_workouts, list_activities, get_activity_summary, get_activity_splits, get_recovery_status, create_workout, delete_workout, unschedule_workout. The pattern is uniform and predictable.
With 11 tools, the server covers a reasonable scope for a Garmin integration: connection check, workout preview/CRUD, activity listing/retrieval, and recovery status. Each tool serves a distinct function, and the count is within the typical range for a domain-specific server.
The surface appears complete for common Garmin workflows: managing workouts (create, delete, unschedule), viewing activities (list, summary, splits), checking recovery, and verifying connection. It includes both list and get operations, plus scheduling. There is a minor gap for updating workouts, but that may be acceptable given the preview/confirm workflow. Overall, it covers the primary user needs.