Garmin Connect MCP server based on garth.
{
"mcpServers": {
"Garth - Garmin Connect": {
"command": "uvx",
"args": [
"garth-mcp-server"
],
"env": {
"GARTH_TOKEN": "<output of `uvx garth login`>"
}
}
}
}
Make sure the path for the uvx
command is fully scoped as MCP doesn't
use the same PATH your shell does. On macOS, it's typically
/Users/{user}/.local/bin/uvx
.
user_profile
- Get user profile informationuser_settings
- Get user settings and preferencesnightly_sleep
- Get detailed sleep data with optional movement datadaily_sleep
- Get daily sleep summary datadaily_stress
/weekly_stress
- Get stress datadaily_intensity_minutes
/weekly_intensity_minutes
- Get intensity minutesdaily_body_battery
- Get body battery datadaily_hydration
- Get hydration datadaily_steps
/weekly_steps
- Get steps datadaily_hrv
/hrv_data
- Get heart rate variability data
get_activities
- Get list of activities with optional filtersget_activities_by_date
- Get activities for a specific dateget_activity_details
- Get detailed activity informationget_activity_splits
- Get activity lap/split dataget_activity_weather
- Get weather data for activities
get_body_composition
- Get body composition dataget_respiration_data
- Get respiration dataget_spo2_data
- Get SpO2 (blood oxygen) dataget_blood_pressure
- Get blood pressure readings
get_devices
- Get connected devicesget_device_settings
- Get device settingsget_gear
- Get gear informationget_gear_stats
- Get gear usage statistics
monthly_activity_summary
- Get monthly activity overviewsnapshot
- Get snapshot data for date rangesget_connectapi_endpoint
- Direct access to any Garmin Connect API endpoint