# Garmin

> Unofficial Garmin Connect data for AI agents. Prefer MCP tools if connected; otherwise the package CLI. Use when the user wants Garmin data or actions through an agent.

- Skill: `davidmosiah-garminmcp/garmin` (Agent Skill)
- Install (CLI): `npx skillmds@latest add davidmosiah-garminmcp/garmin`
- Raw SKILL.md: https://api.skillmd.com/api/skills/davidmosiah-garminmcp/garmin/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: davidmosiah (https://skillmd.com/u/davidmosiah-garminmcp)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/davidmosiah-garminmcp/garmin

---


# Garmin — skill or MCP

Same binary either way. Do not duplicate the API client.

## Choose a surface

**MCP** — tools appear natively after stdio/HTTP config:

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

Do not put mutation flags in that snippet.

**Skill / CLI** — no MCP client required. Same tools:

```bash
npx -y garmin-mcp-unofficial call garmin_connection_status --json '{}'
```

If MCP tools named `garmin_*` are already available, use them. Do not also shell out.

## Loop

1. Call `garmin_connection_status` (or `doctor --json` when that exists).
2. Use read tools as asked.
3. Stop on `USER_ACTION_REQUIRED`. Do not invent env flags. Do not enable mutations from this skill.

## Never

- Paste tokens into git, chat logs, or the prompt
- Copy a mutations-enabled assignment into config

