Skip to content
Back to skills

Garmin Mcp

ASecurity

Read the user's Garmin Body Battery, HRV status, sleep, stress, training readiness and activities through the local garmin MCP server. Use when the user asks about Garmin data, Body Battery, training readiness or status, HRV, sleep, or whether to train hard today. Starts with connection status, uses synthetic demo data before login, and never asks for the Garmin password in chat.

  • 13 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 10, 2026
ai-agentsbashapi

Works with

  • terminal
  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned November 10, 2026

npx -y skills add davidmosiah/garmin-mcp --skill garmin-mcp --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Garmin Mcp?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Garmin Mcp
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/davidmosiah-garmin-mcp/badge)](https://www.skillsdirectory.com/skills/davidmosiah-garmin-mcp)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: garmin-mcp
description: >-
  Read the user's Garmin Body Battery, HRV status, sleep, stress, training readiness and activities through the local garmin MCP server. Use when the user asks about Garmin data, Body Battery, training readiness or status, HRV, sleep, or whether to train hard today. Starts with connection status, uses synthetic demo data before login, and never asks for the Garmin password in chat.
---

# Garmin

MCP server `garmin` from the `garmin-mcp-unofficial@0.8.0` npm package, run locally through `npx`. It reads Body Battery, HRV status, sleep, stress, training readiness and status, activities. Data source: Garmin Connect in unofficial personal mode (Garmin has no public consumer API): the user logs in locally once and the connector reuses the resulting Garmin Connect tokens.

## Workflow

1. Start with `garmin_connection_status`. Then pick what fits the question: `garmin_daily_summary`, `garmin_weekly_summary`.
2. If `garmin_connection_status` reports the connector is not ready, call `garmin_demo` for clearly labelled synthetic data so the user sees the shape of the answer, then give them the setup commands below to run in their own terminal.
3. Lead with the answer to the user's question, then the two or three numbers that support it, with dates. Say when data is missing or stale instead of filling gaps.

## Setup (the user runs this in a terminal, not in chat)

```bash
npx -y garmin-mcp-unofficial@0.8.0 setup --client generic
npx -y garmin-mcp-unofficial@0.8.0 auth
npx -y garmin-mcp-unofficial@0.8.0 doctor
```

`--client generic` keeps setup from writing a second Hermes server entry. `auth` asks for the Garmin Connect email, password and MFA code in the user's own terminal and saves only the resulting tokens to `~/.garmin-mcp/garmin_tokens.json`; the password is not stored.

## Safety

- Never ask the user to paste client secrets, passwords, tokens or MFA codes into the chat; setup happens in their terminal.
- Tools that change local state: garmin_profile_update (local profile only). Use them only when the user asks.
- Destructive: garmin_disconnect_local (deletes the local Garmin tokens). Confirm with the user first.
- Unofficial: Garmin may change or rate-limit the private Connect endpoints this mode relies on.
- Not medical advice: the data supports personal reflection and planning, not diagnosis or treatment. Point the user to a clinician for symptoms, medication or anything urgent.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.