Garmin MCP
The Garmin MCP Server connects AI agents to your Garmin Connect health and fitness data locally — your credentials and tokens never leave your machine.
Setup & Diagnostics
Check connection status, token/config health, and cache readiness (
garmin_connection_status,garmin_cache_status)Get auth instructions, a guided quickstart, and a privacy audit (
garmin_auth_instructions,garmin_quickstart,garmin_privacy_audit)Disconnect by deleting the local token file (
garmin_disconnect_local)
Discovery & Demo
Explore supported data domains, privacy modes, and agent workflow (
garmin_capabilities,garmin_data_inventory,garmin_agent_manifest)Get realistic example payloads before any real API call (
garmin_demo)
Profile & Devices
Retrieve user profile, account settings, registered devices, and primary training device
Daily Wellness Signals (each accepts a date)
Sleep stages, HRV, Body Battery (events & daily report), stress, heart rate, training readiness/status, respiration, SpO2, intensity minutes, hydration, and daily movement summary
Activities
List recent activities with date/type/pagination filters
Drill into activity details, splits/laps, heart-rate zones, and weather conditions
Body & Weight
Weight and body composition logs for a date range
Aggregated Summaries
garmin_daily_summary— Combines sleep, HRV, stress, Body Battery, and activity into an actionable daily check-ingarmin_weekly_summary— Weekly scorecard covering movement, sleep, HRV, stress, bottlenecks, and recommended actionsgarmin_wellness_context— Normalized readiness/sleep/Body Battery shape for cross-connector recommendation engines
Shared Wellness Profile (cross-connector)
Read/update a shared Delx wellness profile (goals, devices, training context) and run an 11-question onboarding flow
Privacy & Security
Three configurable privacy modes:
summary(default),structured, andrawTokens stored locally at
~/.garmin-mcp/garmin_tokens.json; passwords are never storedBuilt-in GPS redaction and secret field rejection; optional SQLite read-through cache
Provides access to Garmin health and wellness data, including sleep, HRV, Body Battery, stress, training readiness, activities, and daily summaries via Garmin Connect.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Garmin MCPhow was my sleep last night?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
⚡ 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 Agent Workbench.
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.
Garmin MCP
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.
Install one connector —
npx -y garmin-mcp-unofficial setupRun it in Claude · Cursor · ChatGPT · Hermes · OpenClaw — runnable examples
Local-first — your Garmin tokens never leave the machine (privacy)
Which connector should I use? — pick one in the Delx Wellness front door
Part of Delx Wellness, a registry of local-first wellness MCP connectors.
Quickstart in 60 seconds
No Garmin developer app is required. setup only writes local MCP configuration; it does not ask for your Garmin password.
npx -y garmin-mcp-unofficial setup # writes local config
npx -y garmin-mcp-unofficial auth # built-in login, prompts for credentials locally (no Python needed)
npx -y garmin-mcp-unofficial doctor # verifies you're readyOr 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:
{
"mcpServers": {
"garmin": {
"command": "npx",
"args": ["-y", "garmin-mcp-unofficial"]
}
}
}Related MCP server: Withings MCP
Try it with your agent
Use garmin_connection_status to check setup, then run garmin_daily_summary.
Give me a 5-line operating brief for today.Call garmin_weekly_summary with response_format=json. Identify my biggest
recovery/sleep/stress bottleneck and give me a next-week plan.Use the garmin_intraday_investigation prompt for date=today, focus=stress.
Don't claim Garmin can prove anything it can't.Tools
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.
Privacy & what runs offline
GARMIN_PRIVACY_MODEdefaults tosummary(more conservative than other Delx Wellness connectors) because the auth model is unofficial.Garmin Connect tokens are stored at
~/.garmin-mcp/garmin_tokens.jsonwith user-only permissions and are never returned by tools. Your Garmin password is never stored — only short-lived tokens persist locally.The MCP client never sees Garmin credentials or tokens. Local cache is opt-in via
GARMIN_CACHE=sqlite.This is not medical advice. The server exposes user-authorized data for personal AI workflows, not diagnosis or treatment.
See docs/privacy.md for the full privacy model.
See the full agent demo →
Want to see a connector like this drive a real end-to-end decision? The shared, reproducible proof lives in delx-living-body:
npx -y delx-living-body demoIt answers the anchor question — "Should I train hard today?" — by combining recovery, sleep and training-load signals across the Delx Wellness connectors.
See also
The full Delx Wellness connector library:
Provider | Package | Repo |
WHOOP | ||
Oura | ||
Garmin | ||
Strava | ||
Fitbit | ||
Withings | ||
Apple Health | ||
Polar | ||
Nourish (nutrition) |
One-command setup for Hermes — preconfigures every connector above plus wellness skills + onboarding: delx-wellness-hermes.
📧 Contact & Support
📨 support@delx.ai — general questions, integration help, partnerships
🐛 Bug reports / feature requests — GitHub Issues
🐦 Updates — @delx369 on X
🌐 Site — wellness.delx.ai
License
MIT — see LICENSE.
Disclaimer
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.
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidmosiah/garmin-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server