davidmosiah avatar

Garminmcp

davidmosiah/garmin-mcp

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 tools

Public 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_PATH

Optional 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_MODE

Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full supported Garmin Connect payloads, not unrestricted raw sensor telemetry.

GARMIN_CACHE

Optional SQLite cache toggle. Set to true or sqlite to enable.

GARMIN_CACHE_PATH

Optional local SQLite cache path. Defaults to ~/.garmin-mcp/cache.sqlite.

GARMIN_DOMAIN

Optional Garmin domain override. Use garmin.cn only for China accounts; default is garmin.com.

GARMIN_NO_CACHE

Set 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

Garmin MCP — Garmin MCP for AI agents

Give your AI agent your Garmin Body Battery, training readiness, sleep, HRV and activities.
Local-first MCP server — tokens never leave your machine.


View the full README on GitHub

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