Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Garth

FreeNot checked

Garmin Connect MCP server based on Garth

GitHubEmbed

About

Garmin Connect MCP server based on Garth

README

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

from github.com/matin/garth-mcp-server

Installing Garth

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/matin/garth-mcp-server

FAQ

Is Garth MCP free?

Yes, Garth MCP is free — one-click install via Unyly at no cost.

Does Garth need an API key?

No, Garth runs without API keys or environment variables.

Is Garth hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Garth in Claude Desktop, Claude Code or Cursor?

Open Garth on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Garth with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs