developer-toolsanalytics-data

Garth (Garmin Connect)

by matin

Integrate Garth with Garmin Connect to access fitness data from your Garmin watch for fitness tracking, including sleep

Integrates with Garmin Connect to provide access to fitness and health data including sleep statistics, daily stress, and intensity minutes with customizable date ranges.

github stars

57

30+ health and fitness tools availableCustomizable tool filteringDirect Garmin Connect integration

best for

  • / Fitness enthusiasts tracking health metrics
  • / Developers building health analytics applications
  • / Researchers analyzing sleep and activity patterns

capabilities

  • / Fetch detailed sleep data with movement tracking
  • / Retrieve daily stress and intensity minutes
  • / Get activity details and workout history
  • / Access body composition metrics
  • / Query user profile and device settings
  • / Filter available tools to reduce overhead

what it does

Connects to Garmin Connect to retrieve your fitness and health data including sleep patterns, stress levels, activities, and body metrics. Requires Garmin account authentication.

about

Garth (Garmin Connect) is a community-built MCP server published by matin that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate Garth with Garmin Connect to access fitness data from your Garmin watch for fitness tracking, including sleep It is categorized under developer tools, analytics data.

how to install

You can install Garth (Garmin Connect) in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

MIT

Garth (Garmin Connect) is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

garth-mcp-server

PyPI version

Garmin Connect MCP server based on garth.

Usage

image

Install

{
  "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.

Tool Filtering

By default, all 30 tools are exposed. To reduce context size for LLM usage, you can filter tools using environment variables.

Enable specific tools only (whitelist)

{
  "mcpServers": {
    "Garth - Garmin Connect": {
      "command": "uvx",
      "args": ["garth-mcp-server"],
      "env": {
        "GARTH_TOKEN": "<token>",
        "GARTH_ENABLED_TOOLS": "get_activities,get_activity_details,daily_steps,nightly_sleep"
      }
    }
  }
}

Disable specific tools (blacklist)

"env": {
  "GARTH_TOKEN": "<token>",
  "GARTH_DISABLED_TOOLS": "get_gear,get_gear_stats,get_device_settings,get_connectapi_endpoint"
}

Tool names are case-insensitive and comma-separated. If GARTH_ENABLED_TOOLS is set, GARTH_DISABLED_TOOLS is ignored.

Tools

Health & Wellness (using Garth data classes)

  • user_profile - Get user profile information
  • user_settings - Get user settings and preferences
  • nightly_sleep - Get detailed sleep data with optional movement data
  • daily_sleep - Get daily sleep summary data
  • daily_stress / weekly_stress - Get stress data
  • daily_intensity_minutes / weekly_intensity_minutes - Get intensity minutes
  • daily_body_battery - Get body battery data
  • daily_hydration - Get hydration data
  • daily_steps / weekly_steps - Get steps data
  • daily_hrv / hrv_data - Get heart rate variability data

Activities (using Garmin Connect API)

  • get_activities - Get list of activities with optional filters
  • get_activities_by_date - Get activities for a specific date
  • get_activity_details - Get detailed activity information
  • get_activity_splits - Get activity lap/split data
  • get_activity_weather - Get weather data for activities

Additional Health Data (using Garmin Connect API)

  • get_body_composition - Get body composition data
  • get_respiration_data - Get respiration data
  • get_spo2_data - Get SpO2 (blood oxygen) data
  • get_blood_pressure - Get blood pressure readings

Device & Gear (using Garmin Connect API)

  • get_devices - Get connected devices
  • get_device_settings - Get device settings
  • get_gear - Get gear information
  • get_gear_stats - Get gear usage statistics

Utility Tools

  • monthly_activity_summary - Get monthly activity overview
  • snapshot - Get snapshot data for date ranges
  • get_connectapi_endpoint - Direct access to any Garmin Connect API endpoint