- Home
- MCP servers
- Garmin Connect
Garmin Connect
- other
2
GitHub Stars
other
Language
2 months ago
First Indexed
3 weeks ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"leewnsdud-garmin-connect-mcp": {
"command": "/opt/homebrew/bin/uv",
"args": [
"run",
"--directory",
"/[Directory Path]/garmin-connect-mcp",
"python",
"main.py"
],
"env": {
"GARMIN_PASSWORD": "[Garmin Connect password]",
"GARMIN_TIMEZONE": "Asia/Seoul",
"GARMIN_USERNAME": "[Garmin Connect email]"
}
}
}
}This MCP server connects Garmin Connect data with Claude-powered analysis to deliver personalized running training insights, plans, and recovery guidance. You can track performance, manage training load, and receive race-ready recommendations based on your Garmin activities and health metrics.
How to use
You interact with the Garmin Connect MCP through a client that communicates with the MCP server to request training analysis, plan recommendations, and health insights. Start by linking your Garmin Connect data, configure your Claude Desktop integration if you want AI-assisted prompts, and then request targeted outputs such as weekly summaries, race-focused plans, or daily workout suggestions. Use the server to explore your recent activities, pace zones, VO2 max trends, and recovery status, and to generate adaptive training plans that align with your current readiness.
How to install
Prerequisites: Python 3.13+, uv (the Python package manager), a Garmin Connect account, and Claude Desktop installed on your machine.
# Automatic installation (recommended)
git clone https://github.com/leewnsdud/garmin-connect-mcp.git
cd garmin-connect-mcp
uv run python install.py
Manual installation steps: clone the repo, install dependencies, and configure authentication and Claude Desktop integration as described below.
Configuration and run details
The MCP server is designed to be run via a local MCP configuration that references Garmin Connect and Claude Desktop integration. The following example shows how to configure a local MCP server entry forGarmin Connect integration.
{
"mcpServers": {
"garmin-connect": {
"command": "/opt/homebrew/bin/uv",
"args": [
"run",
"--directory",
"/[디렉토리 경로]/garmin-connect-mcp",
"python",
"main.py"
],
"env": {
"GARMIN_USERNAME": "<Garmin Connect 이메일>",
"GARMIN_PASSWORD": "<Garmin Connect 비밀번호>",
"GARMIN_TIMEZONE": "Asia/Seoul"
}
}
}
}
Security and environment
Keep your Garmin Connect credentials secure. The server uses environment variables for authentication and the preferred timezone for date calculations. If you operate behind a VPN or corporate network, ensure the Garmin API access is allowed.
Notes and troubleshooting
If you encounter missing data such as public training plans or gear insights, verify your Garmin device pairing and data availability. The MCP server relies on Garmin Connect data and may report empty results if your account has limited data or missing gear entries.
Testing and quality
Unit tests are provided for core utilities using the standard library. Run tests with:
uv run python -m unittest
Developer notes
Key files include a main entry point, a Garmin client service, training and analytics handlers, and shared utilities. The server supports caching, formatting, and running calculations used by training analytics.
Available tools
get_personal_records
Retrieve personal bests across distances with timestamps and related activity identifiers.
get_vo2max
Fetch current VO2 max value and trends along with race predictions.
get_training_status
Obtain overall training status, readiness score, and recovery indicators.
get_lactate_threshold
Access lactate threshold data including pace and heart rate where available.
get_race_predictions
Get predicted race times based on current fitness metrics.
get_training_readiness
Return training readiness score and actionable recommendations.
get_recovery_time
Provide recommended recovery duration and last activity details.
get_endurance_score
Evaluate aerobic endurance level and related attributes.
get_hill_score
Assess hill climbing capability and related metrics.
get_recent_running_activities
List recent running activities with core metrics.
get_activity_summary
Summarize a specific activity with pace, distance, and HR data.
get_activity_details
Provide detailed splits and metrics for a given activity.
get_weekly_running_summary
Return weekly running totals and trend analysis.
get_heart_rate_metrics
Retrieve resting HR and HRV metrics over a period.
get_sleep_analysis
Analyze sleep duration, stages, and quality indicators.
get_body_battery
Report body battery energy levels and timelines.
get_stress_levels
Analyze stress metrics and trends.
get_daily_activity
Track daily activity totals including steps and intensity.
get_hrv_data
Provide detailed HRV readings and recovery status.
get_spo2_data
Return daily SpO2 metrics and sleep-related values.
calculate_training_paces
Compute training paces from given inputs.
calculate_vdot_zones
Compute VDOT-based training zones and equivalent race times.
analyze_threshold_zones
Analyze threshold zones for advanced training strategies.
suggest_daily_workout
Propose a daily workout tailored to current readiness.
analyze_workout_quality
Analyze execution quality of completed workouts.
list_training_plans
List available training plans filtered by goals or experience.
get_training_plan_overview
Provide high-level details of a specific training plan.
get_training_plan_schedule
Show week-by-week schedule and calendar alignment.
analyze_training_load
Evaluate acute vs chronic load and overall fatigue risk.
get_training_effect
Analyze aerobic and anaerobic training effects.
get_training_load_balance
Assess acute/chronic load balance and recommendations.
get_gear_insights
Provide shoe mileage, usage, and replacement suggestions.
get_running_trends
Analyze long-term performance trends over time.
analyze_heart_rate_zones
Analyze distribution of HR zones during activities.
get_advanced_running_metrics
Fetch advanced metrics requiring devices with Running Dynamics.
get_devices
List connected Garmin devices and their status.
get_primary_training_device
Identify the main device used for training data.
get_device_settings
Expose device configuration like HR zones and data recording.
get_paginated_activities
Retrieve large sets of activities with pagination.
get_activities_for_date
Query all activities for a specific date.
download_activity_file
Download activity data in TCX, GPX, or FIT formats.
set_race_goal
Set a race goal and obtain a training plan alignment.