Skip to main content
Glama
kavakoss

mcp-garmin-connect

by kavakoss

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GARMIN_EMAILYesYour Garmin Connect email address.
OPENAI_API_KEYNoAPI key for OpenAI provider demo (optional).
GARMIN_PASSWORDYesYour Garmin Connect password.
DEEPSEEK_API_KEYNoAPI key for DeepSeek provider demo (optional).
ANTHROPIC_API_KEYNoAPI key for Anthropic Claude provider demo (optional).

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
get_recoveryB

Current recovery state: readiness, HRV, sleep, body battery, and status.

get_sleepB

Sleep duration and sleep scores for the last N days.

get_resting_heart_rateB

Daily resting heart rate with 7-day and 30-day trend summaries, up to 30 days.

get_stressB

Daily all-day stress levels and stress duration buckets.

get_recent_activitiesC

Recent Garmin activities with normalized sport-aware summary fields.

get_activity_detailC

Detailed summary for one activity by Garmin activity ID.

get_recent_loadB

Training volume aggregated by sport over the last N days.

get_training_loadB

Garmin training load status, acute/chronic load, and load focus.

get_fitnessB

VO2 max, cycling FTP, and race predictions.

get_zonesB

Heart-rate zones and thresholds from Garmin user settings when available.

get_personal_recordsC

Personal records returned by Garmin Connect.

get_running_summaryC

Running summary: sessions, distance, pace, HR, longest run, fastest run, monthly split.

get_monthly_running_statsC

Monthly running stats for the last N calendar-ish months based on recent activities.

get_health_summaryB

Compact health snapshot combining recovery, sleep, and stress.

get_full_snapshotC

Comprehensive Garmin data snapshot for holistic analysis.

Prompts

Interactive templates invoked by user choice

NameDescription
recovery_checkUse Garmin recovery data to decide whether today should be easy or hard.
weekly_training_reviewReview recent training volume, sport balance, recovery, and risk.
activity_analysisAnalyze one recent workout using its activity details.
race_plan_contextGather Garmin context before creating a race or training plan.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 15 tools

Disambiguation3/5

Most tools target distinct data domains (sleep, stress, HRV, zones), but several aggregate tools overlap heavily: get_health_summary recombines get_recovery/get_sleep/get_stress, get_full_snapshot subsumes nearly everything, and get_running_summary vs get_monthly_running_stats vs get_recent_load blur the line on running/training aggregation. An agent could reasonably pick the wrong summary tool.

Naming Consistency5/5

Every tool follows the same get_<noun> snake_case convention with no deviations. Predicable and easy to scan.

Tool Count4/5

15 tools is well within a healthy range for a multi-domain fitness server, and each surface maps to a real Garmin data area. Slightly heavy on overlapping summary/snapshot tools, but not excessive.

Completeness4/5

Broad read coverage: activities, fitness, recovery, sleep, stress, RHR, zones, PRs, and running stats. As a read-only analytics server it is fairly complete, though there is no way to list workouts/planned activities or fetch raw timeseries detail beyond the summaries.

Maintenance

ActivityMaintained
ResponsivenessNo issues