Skip to main content
Glama
matin

garth-mcp-server

by matin

garth-mcp-server

PyPI version

Garmin Connect MCP server based on garth.

Usage

image

Related MCP server: Garmin MCP

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server that exposes Garmin Connect health and activity data (steps, sleep, stress, activities, etc.) via tools for querying, analysis, and visualization.
    17
    Apache 2.0
  • A
    license
    B
    quality
    C
    maintenance
    Exposes personal Garmin Connect data to MCP-capable clients like Claude and Gemini. Enables querying daily stats, heart rate, sleep, activities, and managing workouts.
    16
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Unofficial MCP server bridging Garmin Connect to MCP clients and ChatGPT, providing tools to access health data, activities, and trends via a self-hosted API.
    11
    MIT