Garmin Local MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| token-dir | No | Optional absolute private token directory. Use --token-dir /absolute/private/path on both login and serve. By default tokens are saved to ~/.local/share/garmin-local-mcp/garmin_tokens.json; the parent directory must be owned by you with mode 700 and the token file with mode 600. Symlinks in the token path are rejected. | |
| allow-writes | No | Optional flag to enable write tools. Add --allow-writes to the serve arguments, e.g. args: ["serve", "--allow-writes"], and restart the MCP connection. This enables tools but is not per-call human approval. |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| preview_workoutA | Validate and preview a workout without authentication or uploading. Pace is seconds/km; HR is bpm. Repeats have one level. Duration totals exclude distance/repetition steps. |
| search_exercisesA | Search the bundled strength catalog. Use the exact returned name in an exercise step. |
| list_activitiesB | Recent activities, newest first. Returns selected metrics without GPS, account fields, or raw responses. |
| list_workoutsB | List workout names, IDs, sport and duration. Other workouts can be read but only [AI] workouts can be changed. |
| list_scheduled_workoutsB | List workout schedule IDs and associated workout IDs in a range of up to 31 days. |
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 5 tools
Each tool has a clearly distinct target: activities, workout definitions, scheduled workouts, workout preview/validation, and exercise catalog search. The two workout-listing tools are related but their descriptions make the distinction clear.
All tool names use consistent snake_case verb_noun conventions: list_*, preview_*, and search_*. The pattern is predictable and easy to reason about.
Five tools is a compact, well-scoped set for a local Garmin companion server. Each tool covers a distinct read or validation capability without excessive surface area.
The set only lists activities/workouts/schedules and previews workouts; it lacks tools to create, update, delete, or actually schedule/upload workouts despite implying changes to [AI] workouts. This leaves major lifecycle gaps for an agent trying to manage Garmin workouts.