⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
garmin-connect
在 WorkBuddy 中下载并配置 dsh-plugin-garmin-connect npm 包,通过 MCP 工具分析 Garmin 活动、睡眠、步数、心率、体重、训练库、跑步趋势和有限的恢复信息,也可按用户要求创建 Garmin 训练或下载活动 FIT 文件。适用于 Garmin 配置、回顾、比较和明确授权的写操作;不用于医疗诊断。
Choose how to use this skill
You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.
1. Native installer
This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.
Do not guess an installer command or replace an existing version without reviewing the diff.
2. Complete package recommended
Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.
No complete ProSkills package is published for this listing yet.3. Prompt-only
Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.
Need only the instruction file?
Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.
No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.
// RATINGS
// README
dsh-plugin-garmin-connect
A TypeScript-based Garmin Connect plugin and MCP server with secure browser-based MFA, built for DeepSeek Harness and designed to work with other AI agents.
English | 简体中文 | Test Report | Changelog
[!NOTE] MFA support in 0.1.6: local dsh Web, the
garmin-connect-auth servesystem-browser flow, and MCP URL elicitation can bootstrap the same owner-only session for China and International accounts. Real-account MFA completed in both regions on 2026-08-29, including a full China-region browser-to-session-and-read chain and an International-region system-browser DI exchange with owner-only session persistence. Browser policy may still block an individual flow. The olderlogin --browsercommand is retained only as a diagnostic.
More Apps
| Icon | App | What it does |
|---|---|---|
| WristTale | Read TXT and Markdown on your Garmin watch | |
| JiaKe.app | Turn Garmin screenshots into polished assets | |
| GameraSnap | Control your phone camera from your Garmin watch | |
| WristAlbum | Keep a private photo album on your Garmin | |
| WristPass | Keep cards and tickets ready on your wrist | |
| 2FA4G | Keep offline 2FA codes on your Garmin |
What It Does
This plugin connects DeepSeek Harness or any MCP-compatible AI agent to Garmin Connect, exposing your wearable data as AI-callable tools. Once installed, the agent can automatically query your activities, sleep, steps, and heart rate to provide personalized fitness insights — all through natural language.
Registered Tools
The plugin registers 10 tools. Eight return Garmin data without writing;
download_garmin_activity_fit writes one local file on the MCP/dsh host, and
create_garmin_workout changes the user's Garmin workout library.
| Tool | Description | Example Args |
|---|---|---|
get_garmin_activities | Fetch recent activities (runs, rides, swims…) with full detail by default; compact is optional | {"limit": 5} |
get_garmin_sleep | Sleep score, duration, and stage breakdown for a date or range | {"startDate": "2023-10-01", "endDate": "2023-10-02"} |
get_garmin_steps | Step totals for a date or range; goal/distance appear only when Garmin supplies them | {"startDate": "2023-10-01"} |
get_garmin_heart_rate | Resting, max, and min heart rate for a date or range | {"startDate": "2023-10-01", "endDate": "2023-10-02"} |
get_garmin_weight | Body composition (weight, BMI, body fat %, muscle mass, etc.) for a date or range | {"startDate": "2023-10-01"} |
get_garmin_workouts | Workout templates from your Garmin workout library (not calendar scheduling) | {"limit": 10, "offset": 0} |
get_garmin_profile | User profile summary | {} or omit |
get_running_skill_advice | Explain 8 workout types and 4 training philosophies, or collect the mandatory intake for personalized coaching | {"mode": "explain", "query": "Daniels", "language": "en"} |
download_garmin_activity_fit | Download an activity's original archive and safely extract its single FIT file to the account directory under the configured host parent | {"activityId": 123456789} |
create_garmin_workout | Preview a structured workout; create it only after explicit confirmation | {"name": "Threshold 3×8min", "steps": [...]} |
When multiple Harness accounts are configured, add the stable account ID shown
in settings as the tool's account argument. With only one configured account,
the parameter can be omitted. Display aliases and regions help identify
accounts but do not change their IDs.
Workout creation is a two-call flow. The preview response includes a one-time
confirmationId; after the user approves the unchanged preview, call the tool
again with the same definition, confirmed: true, and that confirmationId.
An ID expires after 10 minutes and cannot be reused.
Personalized running coaching
get_running_skill_advice deliberately separates explanation from planning:
mode: "explain"explains a workout type or training philosophy. It does not invent an athlete-specific schedule.mode: "personalized"is required for any recommendation or plan. Before it returns planning material, the tool requires answers for all six intake areas below. Missing answers are returned as focused questions; Garmin activity data is not fetched and a schedule must not be generated yet.
| Intake field | What the assistant must ask |
|---|---|
goal | Target distance/event, future ISO YYYY-MM-DD date, and completion or ideal/minimum time goal |
currentPerformance + performanceBasis | A representative race/time trial from the past two years, result, non-future date, effort/conditions, or an explicit no_recent_benchmark |
trainingBackground | Running history and recent 4–8 week volume, frequency, long run, quality work, and interruptions |
availability | Available days/time, fixed rest and long-run days, terrain/facility limits, strength-training time, and whether double days are possible |
healthConstraints + hasWarningSymptoms |
// HOW IT'S BUILT
KEY FILES