# garmin-givemydata

> It's YOUR data. Take it back. Get your Garmin Connect data into a local SQLite database and AI ready (MCP server)

- **URL**: https://www.freshcrate.ai/projects/garmin-givemydata
- **Author**: nrvim
- **Category**: MCP Servers
- **Latest version**: `v0.1.12` (2026-05-15)
- **License**: AGPL-3.0
- **Source**: https://github.com/nrvim/garmin-givemydata
- **Language**: Python
- **GitHub**: 78 stars, 13 forks
- **Registry**: github
- **Tags**: `python`

## Description

It's YOUR data. Take it back. Get your Garmin Connect data into a local SQLite database and AI ready (MCP server)

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v0.1.12` | 2026-05-15 | High | ## v0.1.12  ### Added - Around 50 previously-collected but unexposed Garmin fields are now stored as structured columns: sleep scores, SpO2 and sleep-need metrics, activity body-battery change, total work, grade-adjusted speed, steps and minimum heart rate, visceral fat, gear status, achievable fitness age, and more (#47). - `direct_workout_feel` and `direct_workout_rpe` on activities; exercise sets now capture exercise name, category, reps and weight (#48). - `--start-date` option on the sync c |
| `v0.1.11` | 2026-05-02 | High | ## Highlights  - 🆕 **GPS trackpoints** — every activity now stores per-second GPS samples (lat/lon, altitude, speed, HR, cadence, power, temperature) in a new `activity_trackpoints` table. New `garmin_activity_trackpoints` MCP tool lets AI clients query elevation profiles, HR drift, climb segmentation, etc. - 🛠️ **`garmin_sync` works again from MCP clients on Windows** — three combined bugs fixed (PermissionError on `downloaded_files`, signal-handler crash in worker thread, and a 60s client-ti |
| `v0.1.10` | 2026-04-19 | High | ## Changes  - Fix Garmin data ingestion and normalization for activity, weight, calories, HRV, training status, lactate threshold, and running dynamics payloads. - Add optional raw JSON capture with `--save-raw` for debugging API responses. - Filter activity pagination by requested date range and make `--latest` fetch today's sync data outside FIT-only mode. - Update the issue welcome workflow to `actions/github-script@v9`. - Use the existing `dependencies` Dependabot label for GitHub Actions up |
| `v0.1.9` | 2026-04-06 | High | ## Browser Engine: Camoufox → SeleniumBase UC Chrome  The browser engine has been completely replaced. Camoufox (Firefox) and Playwright are gone — replaced with SeleniumBase UC mode (undetected Chrome).  **Why:** Camoufox caused three separate issues: - **Session rot over SSH** (#11) — Firefox doesn't emit `Sec-CH-UA-*` client hints, making sessions look suspicious to Garmin's device tracker. Chrome emits these natively. - **FIT downloads returning 0 files** (#18) — Camoufox's `fetch()` couldn' |
| `v0.1.8` | 2026-04-01 | Medium | ## What's New  ### MCP Server: 6 → 44 tools - **Training & Performance**: CTL/ATL/TSB training load, post-workout recovery signatures, side-by-side period comparison — metrics no other Garmin MCP offers - **Health Metrics**: Dedicated tools for HR, HRV, sleep, stress, body battery, SpO2, steps, floors, calories, respiration, intensity minutes, hydration, blood pressure — each enriched with trend analysis, anomaly detection, and clinical threshold flags - **Daily Overview**: Today's snapshot, wee |
| `v0.1.7` | 2026-03-31 | Medium | ## What's new  - **Camoufox browser engine** — Default browser engine is now Camoufox (anti-detect Firefox). Bypasses Cloudflare bot detection headlessly. No more `--visible` needed for login. - **JSON session cookies** — Session cookies saved as portable JSON with ~1 year lifetime. No more constant re-login. - **Chrome fallback** — Use `--chrome` flag if you prefer Chrome or have issues with Camoufox. - **Stale session detection** — Automatically detects expired sessions and re-authenticates in |
| `v0.1.6` | 2026-03-30 | Medium | - Collect saved workouts (100+ workout definitions) and fix scheduled workout capture - Auto-check 'Remember Me' on login and 'Remember this browser' on MFA page - 48 tables total |
| `v0.1.5` | 2026-03-30 | Medium | New feature: --fit-only mode for downloading FIT files without full data sync  ```bash garmin-givemydata --fit-only --latest        # download latest FIT file garmin-givemydata --fit-only --date 2026-03-30  # specific date garmin-givemydata --fit-only --days 7        # last 7 days ```  Requested by @dylix in #4. |
| `v0.1.4` | 2026-03-30 | Medium | Public release with security hardening and automated Homebrew updates. |

## Citation

- HTML: https://www.freshcrate.ai/projects/garmin-givemydata
- Markdown: https://www.freshcrate.ai/projects/garmin-givemydata.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/garmin-givemydata/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
