Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GARMIN_DATA_DIRNoHost directory where data persists (SQLite database, archives). Keep it on a local disk and run one app process per data directory../.garmin-data
GARMIN_MCP_HOSTNoHost the streamable-http server binds to. Loopback by default; there is no public authentication layer.127.0.0.1
GARMIN_MCP_PORTNoLocal port for the streamable-http server and web UI.8765
GARMIN_TIMEZONENoIANA timezone used by the backup scheduler.Europe/Berlin
GARMIN_TOKEN_DIRNoDirectory where the Garmin OAuth tokens are stored (garmin_tokens.json). To store tokens somewhere else: export GARMIN_TOKEN_DIR=/safe/private/path/garmin-tokens.garmin-tokens
GARMIN_DB_UI_PORTNoPort for the Datasette SQLite web browser. Choose a different port from the app.8766
GARMIN_BACKUP_TIMENoTime of day for the daily local backup scheduler.03:00
GARMIN_OVERLAP_DAYSNoNumber of days rechecked on subsequent activity refreshes.7
GARMIN_MCP_TRANSPORTNoTransport mode for the MCP server. Set to streamable-http to serve over HTTP.stdio
GARMIN_BACKUP_ENABLEDNoSet to false to disable automatic daily backups (GARMIN_BACKUP_ENABLED=false).true

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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. activity_type is an optional Garmin type key such as running or cycling.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 11 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues