The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Garminmcp listing page.
⚡ One-command install with Delx Wellness for Hermes:
npx -y delx-wellness-hermes setup— preconfigures this connector and the full Delx Wellness stack in a dedicated Hermes profile.Or wire it standalone into Claude Desktop / Cursor / ChatGPT Desktop — see the install section below. Runnable examples live in the Delx Wellness hub.
Public proof: Garmin MCP is tracked in the Delx Open Source Growth Snapshot alongside downloads, stars and next-action priorities. If it saves you Garmin Connect and MCP setup time, star this repo so other training-focused agent builders can find it faster.
First useful prompt:
Use garmin_connection_status, then garmin_daily_summary, then give me a 5-line operating brief for today.
Give your AI agent your Garmin Body Battery, training readiness, sleep, HRV and activities — local-first, tokens never leave your machine.
Unofficial project. Not affiliated with, endorsed by or supported by Garmin. This is not official Garmin Health API partnership access — it uses the unofficial Garmin Connect personal-token mode.
npx -y garmin-mcp-unofficial setupPart of Delx Wellness, a registry of local-first wellness MCP connectors.
No Garmin developer app is required. setup only writes local MCP configuration; it does not ask for your Garmin password.
Default is stdio. Optional Streamable HTTP — no session id, JSON responses, loopback only:
Env: GARMIN_MCP_HOST, GARMIN_MCP_PORT, GARMIN_MCP_TRANSPORT=http.
Or one shot: npx -y garmin-mcp-unofficial setup --auth
auth runs a self-contained Node login and prompts locally for Garmin email, password and MFA when needed. The MCP does not store your Garmin password — only Garmin Connect tokens, saved at ~/.garmin-mcp/garmin_tokens.json with user-only permissions. See the auth quickstart walkthrough for real terminal output, or docs/quickstart.md for the full flow.
If Garmin returns HTTP 429, a Cloudflare challenge, or an auth message that says Garmin SSO omitted responseStatus.type, stop retrying for a while. Repeated headless login attempts can make the private endpoint throttle harder. Use docs/auth.md for the safe recovery path.
Then add this to your MCP client config:
Start with garmin_connection_status, then garmin_daily_summary (daily readiness, sleep, load) or garmin_weekly_summary (scorecard, bottlenecks, next-week plan). The server also exposes per-day signals (sleep, HRV, stress, Body Battery, training readiness, heart rate, SpO2, respiration, intensity minutes, hydration), activities, profile/devices and weight, plus prompts and resources.
See docs/tools.md for the full tool list, prompts, resources, data-availability matrix, configuration, Hermes setup and development notes.
GARMIN_PRIVACY_MODE defaults to summary (more conservative than other Delx Wellness connectors) because the auth model is unofficial.structured mode, normalized aliases are additive: complete upstream Garmin fields and nested DTOs remain available after secret/GPS redaction.~/.garmin-mcp/garmin_tokens.json with user-only permissions and are never returned by tools. Your Garmin password is never stored — only short-lived tokens persist locally.GARMIN_CACHE=sqlite.See docs/privacy.md for the full privacy model.
Want to see a connector like this drive a real end-to-end decision? The shared, reproducible proof lives in delx-living-body:
It answers the anchor question — "Should I train hard today?" — by combining recovery, sleep and training-load signals across the Delx Wellness connectors.
The full Delx Wellness connector library:
| Provider | Package | Repo |
|---|---|---|
| WHOOP | whoop-mcp-unofficial | whoop-mcp |
| Oura | oura-mcp-unofficial | ouramcp |
| Garmin | garmin-mcp-unofficial | garmin-mcp |
| Strava | strava-mcp-unofficial | strava-mcp |
| Fitbit | fitbit-mcp-unofficial | fitbitmcp |
| Withings | withings-mcp-unofficial | withingsmcp |
| Apple Health | apple-health-mcp-unofficial | apple-health-mcp |
| Polar | polar-mcp-unofficial | polarmcp |
| Nourish (nutrition) | wellness-nourish | wellness-nourish |
One-command setup for Hermes — preconfigures every connector above plus wellness skills + onboarding: delx-wellness-hermes.
Peer (not a Delx package): mi-fitness-data-bridge by Kindred / @shkyyy18 — Xiaomi Mi Fitness, local-first, shares the agent-safe-series/v1 dense series envelope (duration-anchored coverage, hard max_points, full-res stats, no GPS in series tools). Design log: #19 · parity notes: docs/agent-safe-series-kindred.md.
MIT — see LICENSE. Code of Conduct.
This software is provided as-is. It is not a medical device, does not provide medical advice, and should not be used for diagnosis or treatment. The unofficial Garmin Connect mode can break if Garmin changes private auth or endpoints. Always consult qualified professionals for medical concerns.
Daily brief demo: docs/daily-brief-demo.md
Same package, two doors. MCP registers tools on stdio/HTTP. The skill can drive the same tools through the CLI when the client has no MCP:
Copy skill/SKILL.md into your agent skills dir.