dsh-plugin-garmin-connect MCP

A Garmin Connect MCP server giving agents sleep, heart rate, HRV, activities and workouts, creating workouts after confirmation.

  • 55 ★ on the repository
  • Last commit
MCP server

Broad access

Why this level

  • The server reads personal health and training data and can change the calendar and workouts in a Garmin account.
  • Session credentials sit locally, and the data goes to the chosen model.
All reasons and checks

likenttt/garmin-connect-plugin-for-dsh

Install

Manual install

npx @deepseek-ai/dsh plugin --profile web add dsh-plugin-garmin-connect

The README recommended path for DeepSeek Harness. For other MCP clients use the `dsh-plugin-garmin-connect` package and the `garmin-connect-mcp` command.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The server reads personal health and training data and can change the calendar and workouts in a Garmin account.
  • Session credentials sit locally, and the data goes to the chosen model.

This is third-party code. Review the repository files before installing.

What it does

The plugin connects DeepSeek Harness or any MCP agent to Garmin Connect and exposes watch data as tools. Garmin China and International accounts work. The agent reads activities with splits, sleep, steps, heart rate, HRV, stress, Body Battery, training readiness, load, VO2 max, race predictions, blood oxygen and respiration. Version 0.1.21 registers 30 tools in Harness and 31 in the shared MCP workspace. Creating, scheduling and deleting a workout and cancelling a calendar entry change Garmin data and run only after explicit confirmation. Sign-in goes through the official Personal API or the Garmin browser with MFA, and passwords and codes are entered only on the Garmin page.

Who it is for. Runners and triathletes with Garmin watches who analyze training and recovery through an AI agent.

Good fit when

  • Sleep, HRV and Body Battery should show whether the body is ready for a hard session.
  • Recent runs are analyzed by splits and heart rate.
  • A structured workout is composed and scheduled after reviewing a preview.
  • The original FIT file of an activity is needed for your own analysis.

Not a fit when

  • Health data must not go to the chosen model.
  • The device is not Garmin or data lives in another ecosystem.
  • Medical interpretation is required: coaching advice is informational.

Example request

Show how I slept last night, my HRV and Body Battery for the week and say whether to do an interval session today.

MCP

Transport
stdio
Authentication
API key

Environment variables

GARMIN_PROVIDER required
Sign-in method: `personal` for the Personal API key.
GARMIN_PERSONAL_API_KEY_FILE required, secret
Path to the private file holding the Personal API key.
GARMIN_REGION
Account region: `global` for International.

Limitations

Health and training data goes into the chosen model, so connect only providers you trust. Garmin sessions are stored locally in an owner-only file, and the Personal API key sits in a private file and is not shown to the agent. Availability of single metrics depends on account, date and device: empty fields stay empty and are not turned into zero. Browser sign-in may be blocked by the browser policy itself. The 13 recovery tools need a maintained SDK, which is bundled. The old `login --browser` command remains only as a diagnostic.

How to disable. Remove the plugin in Harness settings or the `garmin-personal` entry from the MCP configuration. Delete the local session file and key by hand and revoke the key at Garmin.

FAQ

How do I install the plugin for DeepSeek Harness?

Run `npx @deepseek-ai/dsh plugin --profile web add dsh-plugin-garmin-connect`. The install needs `pnpm` on PATH, installable with `npm install -g pnpm`.

How do I connect it as a plain MCP server?

Run the package through `npx` with the `garmin-connect-mcp` command and variables such as `GARMIN_PROVIDER` and `GARMIN_PERSONAL_API_KEY_FILE` in the MCP configuration.

Do I give my password to the agent?

No. With browser sign-in the password and codes are entered only on the official Garmin page, and the Personal API key sits in a private file.

Which tools change data?

Creating, scheduling and deleting a workout and cancelling a calendar entry. They run after explicit confirmation with `confirmed: true` and an identifier. Other tools only read, apart from downloading a FIT file to disk.

Which accounts are supported?

Garmin China and International. The region is set by `GARMIN_REGION`, and changing region needs a new key.

Discussion

No questions or reviews yet.

Garmin MCP

garmin-mcp

Garmin Connect data for an agent: activities, health, editing names and notes. Works through the unofficial python-garminconnect library

MCP serverExtended access1.5KRepository stars

Garmin Personal MCP answers questions about sleep, HRV and training from your Garmin Connect account, read-only

MCP serverExtended access69Repository stars

Strava MCP

Strava MCP Server

Strava MCP server: an agent reads your workouts, heart rate, power, segments and routes and exports routes to GPX and TCX

MCP serverBroad access506Repository stars

Unofficial Coros MCP server: sleep, HRV, load and workouts from Training Hub, plus scheduling sessions in the calendar.

MCP serverBroad access125Repository stars

An agent reads sleep, activity and heart data from Fitbit and Pixel Watch over OAuth, with tokens kept on your computer.

MCP serverBroad access82Repository stars

README in short

The plugin is built for DeepSeek Harness and works with other agents through MCP or a SKILL.md workflow. Version 0.1.6 added MFA sign-in, and later versions brought recovery tools, blood oxygen and respiration. The repository holds verification reports on real accounts.

README badge

Report a problem