CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Garminmcp

davidmosiah/garmin-mcp
3STDIOregistry active
Summary

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.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

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.

npm version npm downloads License MIT Site

GitHub stars Built for MCP Hermes one-command setup Garmin

⚡ 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.


Local-first MCP server that connects AI agents to your Garmin sleep, HRV, Body Battery, stress, training readiness and activities.

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.

Built by David Mosiah for people who use Claude, Cursor, Hermes, OpenClaw or other MCP-compatible agents to think about training, sleep and recovery — without copy-pasting numbers from the Garmin Connect app.

Part of Delx Wellness, a registry of local-first wellness MCP connectors.

If this connector helps your agent workflow, please star the repo. Stars make the project easier for other AI builders to discover and help Delx keep shipping local-first wellness infrastructure.

Garmin MCP local-first agent workflow demo

Why this exists

Garmin produces some of the best processed wellness signals — sleep stages, HRV status, Body Battery, stress, training readiness, training status, intensity minutes — but its official Garmin Health API is partner-licensed and not self-serve for individuals.

This package gives individual Garmin users a practical bridge: it logs into Garmin Connect with your own credentials locally (never sent to any agent), keeps tokens on your machine, and exposes Garmin signals through the Model Context Protocol. Your password never reaches the MCP — only short-lived Garmin Connect tokens are stored.

Setup 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 ready

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.

📺 Want to see exactly what each command prints? The auth quickstart walkthrough shows real --help, auth, auth --json and doctor output for the full first-call journey.

Prefer the old Python flow? auth --use-python (or auth --install-helper to install the garminconnect package, with an isolated virtualenv fallback under ~/.garmin-mcp/venv) still works.

Then add this to your MCP client config:

{
  "mcpServers": {
    "garmin": {
      "command": "npx",
      "args": ["-y", "garmin-mcp-unofficial"]
    }
  }
}

Try it with your agent

Three things to ask first:

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.

Data availability

This package reads processed Garmin Connect data via the unofficial personal-token mode. When this README says raw, it means upstream Garmin Connect JSON — not raw accelerometer / gyroscope / continuous device telemetry.

DataAvailableNotes
Sleep duration + stages + score✓When the device/account supports it
HRV status + overnight HRV✓When supported by device/account
Body Battery (daily + events)✓Charge/drain reports
Stress samples + daily summary✓Per-day stress context
Training readiness + training status✓When supported by device/account
Daily movement (steps, calories, distance, floors, intensity minutes)✓Standard wellness signals
Heart rate (resting + daily samples)✓Per-day samples and resting HR
Activities + details + splits + zones✓Recent activities and detail payloads
Body composition / weight + hydration✓When logged
Continuous device telemetry / accelerometer / gyroscope—Not exposed by Garmin Connect web endpoints

Garmin can change private auth or endpoints at any time. Failures should be treated as integration drift, not user error.

Tools

Start with these:

  • garmin_connection_status — verify local setup before calling Garmin Connect
  • garmin_data_inventory — inventory supported data domains, scopes, privacy modes and recommended first calls without calling Garmin APIs.
  • garmin_daily_summary — daily readiness, sleep, load, action candidates
  • garmin_weekly_summary — scorecard, bottlenecks, next-week plan

Auth & diagnostics

  • garmin_capabilities, garmin_agent_manifest, garmin_auth_instructions, garmin_privacy_audit

Profile & devices

  • garmin_get_profile, garmin_get_user_settings
  • garmin_list_devices, garmin_get_primary_training_device

Daily wellness signals (each takes a date)

  • garmin_get_daily_summary, garmin_get_steps_day
  • garmin_get_sleep_day, garmin_get_heart_day, garmin_get_hrv_day
  • garmin_get_stress_day, garmin_get_body_battery_day, garmin_get_body_battery_events
  • garmin_get_training_readiness_day, garmin_get_training_status_day
  • garmin_get_respiration_day, garmin_get_spo2_day
  • garmin_get_intensity_minutes_day, garmin_get_hydration_day

Activities

  • garmin_list_activities, garmin_get_activity_details

Body & weight

  • garmin_get_weight_range

Prompts

  • garmin_daily_checkin — practical daily health and training check-in
  • garmin_weekly_review — review trends across activity, sleep, stress, Body Battery, heart
  • garmin_intraday_investigation — investigate one day's signals (heart, stress, Body Battery, activity)

Resources

  • garmin://capabilities, garmin://agent-manifest
  • garmin://summary/daily, garmin://summary/weekly

Privacy & security

  • Garmin Connect tokens are stored at ~/.garmin-mcp/garmin_tokens.json with user-only permissions and are never returned by tools.
  • Your Garmin password is never stored — only short-lived Garmin Connect tokens persist locally.
  • GARMIN_PRIVACY_MODE defaults to summary (more conservative than other Delx Wellness connectors) because the auth model is unofficial.
  • Local cache is opt-in via GARMIN_CACHE=sqlite.
  • The MCP client never sees Garmin credentials or tokens.
  • This is not medical advice. The server exposes user-authorized data for personal AI workflows, not diagnosis or treatment.

Configuration

GARMIN_TOKEN_PATH=~/.garmin-mcp/garmin_tokens.json
GARMIN_PRIVACY_MODE=summary                  # summary | structured | raw
GARMIN_CACHE=sqlite                          # optional read-through cache
GARMIN_CACHE_PATH=~/.garmin-mcp/cache.sqlite
GARMIN_DOMAIN=garmin.com                     # or garmin.cn for China accounts

Hermes / remote setup

npx -y garmin-mcp-unofficial setup --client hermes
npx -y garmin-mcp-unofficial auth
npx -y garmin-mcp-unofficial doctor --client hermes
hermes mcp test garmin

After Hermes config changes, use /reload-mcp or hermes mcp test garmin. Don't restart the gateway for normal data access.

Human-to-agent handoff

Paste this into your agent when you want it to install the bridge for you:

Install the unofficial Garmin MCP server for me.
Repository: https://github.com/davidmosiah/garmin-mcp
Run setup, then auth, then doctor.
If this is Hermes, use setup --client hermes and reload MCP with /reload-mcp or hermes mcp test garmin.
Never ask me to paste Garmin passwords, tokens or raw private payloads into chat.
Start with garmin_connection_status, then garmin_daily_summary.
This is not medical advice.

Requirements

  • Node.js 20+
  • A Garmin Connect account with active devices
  • Python 3 only if you opt into the legacy auth --use-python helper; the default auth login is pure Node

Development

git clone https://github.com/davidmosiah/garmin-mcp.git
cd garmin-mcp
npm install
npm test
npm run build

Test with MCP Inspector:

npx @modelcontextprotocol/inspector node dist/index.js

Links

  • npm: https://www.npmjs.com/package/garmin-mcp-unofficial
  • Docs site: https://wellness.delx.ai/connectors/garmin
  • Legacy docs: https://garminconnectmcp.vercel.app/
  • GitHub: https://github.com/davidmosiah/garmin-mcp
  • Delx Wellness registry: https://github.com/davidmosiah/delx-wellness
  • Connector quality standard: https://github.com/davidmosiah/delx-wellness/blob/main/docs/connector-quality-standard.md
  • Garmin Health API program (official, partner-licensed): https://developer.garmin.com/gc-developer-program/health-api/

See also

The full Delx Wellness connector library:

ProviderPackageRepo
WHOOPwhoop-mcp-unofficialwhoop-mcp
Ouraoura-mcp-unofficialouramcp
Garmingarmin-mcp-unofficialgarmin-mcp
Stravastrava-mcp-unofficialstrava-mcp
Fitbitfitbit-mcp-unofficialfitbitmcp
Withingswithings-mcp-unofficialwithingsmcp
Apple Healthapple-health-mcp-unofficialapple-health-mcp
Polarpolar-mcp-unofficialpolarmcp
Nourish (nutrition)wellness-nourishwellness-nourish

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.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

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.

Registryactive
Packagegarmin-mcp-unofficial
TransportSTDIO
UpdatedMay 29, 2026
View on GitHub