MCP server for Garmin Connect health and fitness data
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"mcp-garmin","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# mcp-garmin MCP server for Garmin Connect health and fitness data. Read-only access to daily health metrics, activities, workouts, and body composition via the [python-garminconnect](https://github.com/cyberjunky/python-garminconnect) library. ## Prerequisites - Python 3.14+ - [uv](https://docs.astral.sh/uv/) - A Garmin Connect account ## Authentication Garmin Connect uses email/password authentication with optional MFA. The library persists session tokens to `~/.garminconnect/garmin_tokens.json` after initial login. ### First-time setup Run the interactive login command to establish tokens. This handles MFA prompts: ```bash # Set credentials (or the CLI will prompt you) export GARMIN_EMAIL="you@example.com" export GARMIN_PASSWORD="your-password" # Interactive login -- prompts for MFA if enabled uvx mcp-garmin-login ``` ### Running the server The MCP server requires `GARMIN_EMAIL` and `GARMIN_PASSWORD` environment variables. It reuses tokens saved by the login step and refreshes them automatically. ```bash export GARMIN_EMAIL="you@example.com" export GARMIN_PASSWORD="your-password" ``` ## Configuration ### Claude Desktop Add to `~/Library/Application Support/Claude/claude_desktop_config.json`: ```json { "mcpServers": { "garmin": { "command": "uvx", "args": ["mcp-garmin"], "env": { "GARMIN_EMAIL": "you@example.com", "GARMIN_PASSWORD": "your-password" } } } } ``` ### Claude Code ```bash claude mcp add garmin -- uvx mcp-garmin ``` Set `GARMIN_EMAIL` and `GARMIN_PASSWORD` in your shell environment. ## Tools All date parameters use ISO format (`YYYY-MM-DD`). ### Daily Health | Tool | Description | |------|-------------| | `get_daily_summary` | Steps, calories, distance, active minutes | | `get_heart_rates` | Heart rate data | | `get_sleep_data` | Sleep stages and metrics | | `get_stress_data` | Detailed stress levels | | `get_all_day_stress` | All-day stress summary | | `get_body_battery` | Body…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.