Garmin Personal MCP

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

  • 70 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • The server reads personal health data from your Garmin Connect account, including sleep, heart rate and workouts
  • The Personal API key is stored in `~/.config/garmin/connect-personal-api-key`
All reasons and checks

mason-levyy/garmin-personal-mcp

Install

Manual install

claude mcp add garmin -- uvx garmin-personal-mcp

Before this run `uvx garmin-personal-mcp auth` once with a Personal API key.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The server reads personal health data from your Garmin Connect account, including sleep, heart rate and workouts
  • The Personal API key is stored in `~/.config/garmin/connect-personal-api-key`

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

What it does

Garmin Personal MCP is a free open-source server that connects your Garmin Connect account to Claude, Cursor, VS Code and other MCP clients. You can ask about last night sleep, HRV trends, Body Battery, stress, training load, weight or a specific run. The server uses the official Garmin Personal API with a revocable key, so no account password is needed, and access is read-only. Every working endpoint of the Garmin reference has its own tool with all documented filters. Ranges longer than an endpoint allows, such as 28 days for steps and 31 for sleep, are split into requests automatically. All-day sample arrays are left out by default so a response fits the model window. The project is unofficial: Garmin did not make it, and it uses the documented Personal API and the Garmin Python client. The package is published on PyPI and in the official MCP registry.

Who it is for. Garmin watch owners who want to discuss sleep, recovery and workouts with Claude or Cursor using their own account data.

Good fit when

  • You want to see whether HRV drops over a month and how it relates to sleep
  • You need to compare the last three long runs by pace and load
  • The agent must read Body Battery and stress without your Garmin password
  • A year of data is needed in one request and the range splits on its own
  • The server connects to Cursor or VS Code with one install button

Not a fit when

  • You need to write workouts or change watch settings: the Personal API is read-only
  • You have no access to the Garmin Connect Personal API
  • You want login with a password through an unofficial library: the server does not do that

Example request

How did I sleep last week and is my HRV trending down this month? Compare my last three long runs

MCP

Transport
stdio, http
Authentication
API key

Limitations

A Personal API key is required, created in Garmin Connect settings for 30 days to a year and shown once. The key is saved to `~/.config/garmin/connect-personal-api-key` with owner-only permissions. Garmin warns about a week before it expires, and then `auth` runs again. The server cannot change account data, and all answers follow the documented Personal API that Garmin opened to individuals in October 2026. `uv` is required.

How to disable. Remove the server entry from the client, for example `claude mcp remove garmin`, revoke the key in Garmin Connect settings and delete `~/.config/garmin/connect-personal-api-key`.

FAQ

How do I connect Garmin Personal MCP to Claude Code?

First save the key with `uvx garmin-personal-mcp auth`, then run `claude mcp add garmin -- uvx garmin-personal-mcp`. A plugin through `/plugin install` exists too.

Do I need my Garmin password?

No. The server uses a revocable Personal API key and exchanges it for short-lived tokens.

Can the server change anything in my account?

No, the Personal API is read-only and so is the server.

How is it different from other Garmin servers?

Most sign in with a password through the unofficial `garminconnect` library, which breaks when Garmin changes its login. This one uses the official Personal API.

How do I know the key still works?

Run `garmin-personal-mcp auth --check`: it reports whether the saved key works, with no prompt.

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

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

MCP serverBroad access56Repository stars

A read-only MCP server that brings WHOOP recovery, sleep, HRV, strain and workouts to Claude, Codex and Cursor.

MCP serverExtended access181Repository stars

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

MCP serverBroad access125Repository stars
Official

Official COROS MCP: an agent reads workouts, sleep and heart rate and drafts training plans saved to your account.

MCP serverExtended access82Repository stars
Official

An MCP server for workout tracking: Claude Desktop, Cursor and Cline read routines, sets, body weight and 1RM from your self-hosted openGym

MCP serverExtended access21.1KRepository stars

README in short

The README describes the server as a way to ask an agent about Garmin data through the official API. It compares it with other Garmin servers and gives a quick start for Claude Code, Cursor, VS Code, Codex and Gemini CLI, then an authentication section and the tool list.

README badge

Report a problem