
Garminmcp
This is the unofficial local-first bridge that pipes Garmin Connect data into MCP clients without requiring Garmin's partner-only Health API. It logs in with your personal credentials, caches tokens locally, and exposes sleep stages, HRV status, Body Battery, training readiness, stress samples, and activity details through tools like garmin_daily_summary and garmin_weekly_summary. Authentication happens on your machine via a built-in Node flow that prompts for email, password, and MFA, then stores only short-lived tokens at ~/.garmin-mcp/garmin_tokens.json. Good for Claude, Cursor, or Hermes workflows where you want your agent to reason about recovery and training load without copy-pasting numbers from the Garmin app. Part of the Delx Wellness connector registry.
- GitHub stars
- 13
- tools
- 3
- transport
- STDIO
- env vars
- 6
- last updated
- Jul 3, 2026
Tools
3 toolsPublic tool metadata for what this MCP can expose to an agent.
garmin_connection_statusStart with `garmin_connection_status`, then `garmin_daily_summary` (daily readiness, sleep, load) or `garmin_weekly_summary` (scorecard, bottlenecks, next-week plan).
Start with `garmin_connection_status`, then `garmin_daily_summary` (daily readiness, sleep, load) or `garmin_weekly_summary` (scorecard, bottlenecks, next-week plan).
No parameter schema in public metadata yet.
garmin_daily_summaryDaily readiness, sleep, load summary.
Daily readiness, sleep, load summary.
No parameter schema in public metadata yet.
garmin_weekly_summaryWeekly scorecard, bottlenecks, and next-week plan.
Weekly scorecard, bottlenecks, and next-week plan.
No parameter schema in public metadata yet.
Sponsors
Configuration
GARMIN_TOKEN_PATHOptional local path for Garmin Connect tokens. Defaults to ~/.garmin-mcp/garmin_tokens.json. Create it with garmin-mcp-server auth (self-contained Node login, no Python).
GARMIN_PRIVACY_MODEOptional payload mode: summary, structured, or raw. Defaults to structured. raw means full supported Garmin Connect payloads, not unrestricted raw sensor telemetry.
GARMIN_CACHEOptional SQLite cache toggle. Set to true or sqlite to enable.
GARMIN_CACHE_PATHOptional local SQLite cache path. Defaults to ~/.garmin-mcp/cache.sqlite.
GARMIN_DOMAINOptional Garmin domain override. Use garmin.cn only for China accounts; default is garmin.com.
GARMIN_NO_CACHESet to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.
Readme
Upgrading to 0.8.0: read the migration guide for local-only HTTP, disabled authenticated-response caching, and stricter input/profile limits.
Garmin MCP
Give your AI agent your Garmin Body Battery, training readiness, sleep, HRV and activities.
Local-first MCP server — tokens never leave your machine.
Details
- Repository
- github.com/davidmosiah/garmin-mcp
- Website
- wellness.delx.ai/connectors/garmin
- Package
garmin-mcp-unofficial- Transport
- STDIO
- Registry
- MCP registry, active
More from davidmosiah
- Wellness Nourish11
- Polarmcp6
- Withingsmcp5
- Eight Sleep Mcp2
- Fitbitmcp1
- Wellness Cgm Mcp1
- Delx Memory2
- Strava Mcp1
- Astral Mcp
- Delx Commerce — Pay-per-Result APIs for Agents
- Delx Living Body
- Delx MCP Server
- Ouramcp
- Short Video Agent Kit
- TikTok Agent Publisher
- Apple Health Mcp
- Samsung Health Mcp
- YouTube Shorts Agent
- Google Health Mcp81
- Whoop Mcp15