---
title: "Garmin MCP Server: Ask AI About Activities, Sleep, Training"
url: "https://mcpshelf.co/servers/garmin"
description: "A community server that reads your Garmin Connect data: activities, sleep, HRV, stress, training load and workouts, and can schedule workouts. Setup."
updated: "2026-10-27"
site: "MCP Shelf"
---

# Garmin Connect MCP

> Ask an assistant about your Garmin activities, sleep, recovery and training.

Source: https://mcpshelf.co/servers/garmin  
Markdown: https://mcpshelf.co/servers/garmin.md  
Generated: 2026-10-27T13:25:33.668Z

## Facts

- **Name:** Garmin Connect MCP
- **Tagline:** Ask an assistant about your Garmin activities, sleep, recovery and training.
- **Description:** Garmin Connect MCP is a community server by Alexandre Domingues that lets an assistant read your Garmin activities, sleep, heart rate and training data, and plan workouts.
- **Repository:** https://github.com/Taxuspt/garmin_mcp
- **Install:** `claude mcp add garmin -e GARMIN_TOOL_PROFILE=minimal -- uvx --python 3.12 --from git+https://github.com/Taxuspt/garmin_mcp garmin-mcp`
- **Transport:** stdio (local)
- **Auth:** No required keys or settings listed
- **Tools exposed:** 20: `get_activities_by_date`, `get_activity`, `get_activity_splits`, `get_activities`, `get_stats`, `get_user_summary`, `get_daily_steps`, `get_training_readiness`, `get_body_battery`, `get_heart_rates_summary`, `get_sleep_data`, `get_sleep_summary`, `get_stress_summary`, `get_full_name`, `get_unit_system`, `get_user_profile`, `get_userprofile_settings`, `get_heart_rate_zones`, `get_hrv_data`, `get_training_status`
- **Category:** Knowledge and work apps (https://mcpshelf.co/categories/knowledge-and-work)
- **Stats:** 1.4K GitHub stars, last commit 24 Oct 2026, 0 upvotes on MCP Shelf
- **Install check:** Started in our test
- **Listed:** 2026-10-27
- **Page updated:** 2026-10-27

## Full description

### What is Garmin Connect MCP?

**Garmin Connect MCP is a community server by Alexandre Domingues that lets an assistant read your Garmin activities, sleep, heart rate and training data, and plan workouts.**

Alexandre Domingues's server signs in to Garmin Connect as you and hands your data to the model: activities with their splits and laps, daily steps, sleep, heart rate, HRV, stress, body battery, training status and readiness, plus weight and nutrition logs. It can also work things out, such as a training load trend or a power curve from a ride's FIT file.

It writes as well as reads. It can rename and edit activities, log weigh-ins, build workouts and schedule them to your calendar or watch. With more than 150 tools it is heavy on context, so a tool profile setting lets you load only the health, training or workout tools you need. It uses the unofficial python-garminconnect library, not a Garmin API.

|  |  |
| --- | --- |
| Made by | Alexandre Domingues (Taxuspt/garmin_mcp) |
| GitHub | https://github.com/Taxuspt/garmin_mcp |
| Licence | MIT |
| GitHub stars | 1.4K |
| Last commit | 24 Oct 2026 |
| Tools | 20 |
| Runs on | Your computer |
| Install check | Started in our test |
| Category | [Knowledge and work apps](https://mcpshelf.co/categories/knowledge-and-work) |
| Setup checked | 27 Oct 2026 |
| Page updated | 27 Oct 2026 |

**Our check:** We ran this exact config on 27 Oct 2026: it started and answered with 20 tools. The npm package called garmin-mcp-server is a different project. This server installs from its GitHub repository with uvx.

#### MCP Shelf take

> We started Garmin Connect on our own test machine on 27 Oct 2026 and it answered with 20 tools. All 20 only read, so it cannot change anything on its own. Every tool comes with a useful description, all of them say whether they change things, and the tool list costs about 2,200 tokens of context before you ask a thing. Other directories point at a package with the same name that belongs to someone else; the config on this page installs the real one. It sits 16th of 16 in its category on our shelf by GitHub stars (1.4K).

— MCP Shelf tests (numbers from our own runs), tested on 27 Oct 2026

### What tools does Garmin Connect MCP have?

We listed 20 tools on 27 Oct 2026. Every one of them only reads.

| Tool | Kind | What it is for |
| --- | --- | --- |
| `get_activities_by_date` | reads | Lists the activities between two dates. |
| `get_activity` | reads | Summarises one activity: time, distance, heart rate, pace and more. |
| `get_activity_splits` | reads | Returns an activity's laps and splits. |
| `get_activities` | reads | Lists your activities, newest first, a page at a time. |
| `get_stats` | reads | Daily totals such as steps, calories and intensity minutes. |
| `get_user_summary` | reads | The full daily summary Garmin shows for a date. |
| `get_daily_steps` | reads | Steps per day across a date range. |
| `get_training_readiness` | reads | The training readiness score and what drove it. |
| `get_body_battery` | reads | Body Battery levels and events across a date range. |
| `get_heart_rates_summary` | reads | Resting and maximum heart rate for a day, in short form. |
| `get_sleep_data` | reads | The full sleep record for a night. Large. |
| `get_sleep_summary` | reads | A short sleep summary: duration, stages and score. |
| `get_stress_summary` | reads | A short stress summary for a day. |
| `get_full_name` | reads | Your name from the profile. |
| `get_unit_system` | reads | Whether you use metric or imperial units. |
| `get_user_profile` | reads | Your profile details. |
| `get_userprofile_settings` | reads | Your profile settings. |
| `get_heart_rate_zones` | reads | Your saved heart rate zones. |
| `get_hrv_data` | reads | Heart rate variability for a night. |
| `get_training_status` | reads | Training status, load, VO2 max and recovery. |

#### How clearly it describes its tools

20 of 20 tools have a description and 20 of 20 say whether they change things. The tool list takes at least ~2,200 tokens of context. Every tool says whether it only reads or can change things, so a client can ask before the risky ones.

#### Tool groups

| Group | Covers |
| --- | --- |
| `minimal` | About 20 everyday tools: recent activities and splits, daily stats, sleep, HRV, stress, Body Battery, readiness and training status. |
| `health` | About 50 tools for health and wellness, weight, body composition, blood pressure, hydration and women's health. |
| `activities` | About 40 tools to list, read and edit activities, analyse FIT files and power curves, and manage gear and courses. |
| `workouts` | About 25 tools for the workout library, the workout builders, scheduling and the calendar. |
| `training` | About 40 tools for training status and load, VO2 max, FTP, thresholds, records, race predictions, goals and badges. |
| `nutrition` | About 20 tools for food logs, custom foods, nutrition settings and hydration. |

### How do I install Garmin Connect MCP?

#### What you need first

- A Garmin Connect account
- uv, for uvx, with Python 3.12

1. Sign in once in a terminal: uvx --python 3.12 --from git+https://github.com/Taxuspt/garmin_mcp garmin-mcp-auth. Enter your email, password and MFA code if asked.
2. The sign-in is saved in ~/.garminconnect and lasts about six months, so the config needs no password.
3. Add the config below and restart your client.

#### Claude Code

Where: Your terminal, in the project folder

```bash
claude mcp add garmin -e GARMIN_TOOL_PROFILE=minimal -- uvx --python 3.12 --from git+https://github.com/Taxuspt/garmin_mcp garmin-mcp
```

Run the garmin-mcp-auth sign-in from the steps above first. The server then reads the saved tokens from ~/.garminconnect, so no password goes in the command.

#### Cursor

Where: ~/.cursor/mcp.json, or .cursor/mcp.json in a project

```json
{
  "mcpServers": {
    "garmin": {
      "command": "uvx",
      "args": [
        "--python",
        "3.12",
        "--from",
        "git+https://github.com/Taxuspt/garmin_mcp",
        "garmin-mcp"
      ],
      "env": {
        "GARMIN_TOOL_PROFILE": "minimal"
      }
    }
  }
}
```

#### Claude Desktop

Where: claude_desktop_config.json (Settings → Developer → Edit Config)

```json
{
  "mcpServers": {
    "garmin": {
      "command": "uvx",
      "args": [
        "--python",
        "3.12",
        "--from",
        "git+https://github.com/Taxuspt/garmin_mcp",
        "garmin-mcp"
      ],
      "env": {
        "GARMIN_TOOL_PROFILE": "minimal"
      }
    }
  }
}
```

Or download garmin-mcp.dxt from the project's releases and drag it into Claude Desktop. Either way, sign in once with garmin-mcp-auth in a terminal first so the server has tokens to use.

#### VS Code

Where: .vscode/mcp.json in your project

```json
{
  "servers": {
    "garmin": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--python",
        "3.12",
        "--from",
        "git+https://github.com/Taxuspt/garmin_mcp",
        "garmin-mcp"
      ],
      "env": {
        "GARMIN_TOOL_PROFILE": "minimal"
      }
    }
  }
}
```

#### Windsurf

Where: ~/.codeium/windsurf/mcp_config.json

```json
{
  "mcpServers": {
    "garmin": {
      "command": "uvx",
      "args": [
        "--python",
        "3.12",
        "--from",
        "git+https://github.com/Taxuspt/garmin_mcp",
        "garmin-mcp"
      ],
      "env": {
        "GARMIN_TOOL_PROFILE": "minimal"
      }
    }
  }
}
```

#### ChatGPT

Where: Not supported

ChatGPT only connects to remote servers by URL. This one runs on your computer, so use Claude, Cursor or VS Code.

The "minimal" profile loads about 20 everyday tools. Use "health", "activities", "workouts", "training" or "nutrition" (or several, separated by commas) for more, or remove the line for every tool. Garmin Connect China accounts also need GARMIN_IS_CN set to "true".

Checked against the project's own install docs on 27 Oct 2026: https://github.com/Taxuspt/garmin_mcp#readme, https://github.com/Taxuspt/garmin_mcp/releases

### How do I configure Garmin Connect MCP?

| Setting | Kind | Required | What it does |
| --- | --- | --- | --- |
| `GARMIN_TOOL_PROFILE` | env | no | Loads a set of tools by area. Combine with commas. Leave it out for all of them. Example: `health,training` |
| `GARMIN_ENABLED_TOOLS` | env | no | Comma-separated tools to load. Alongside a profile, these are added to it. Example: `get_activities,get_activity` |
| `GARMIN_DISABLED_TOOLS` | env | no | Comma-separated tools to leave out, for example the ones that write. Example: `add_weigh_in,delete_weigh_ins` |
| `GARMINTOKENS` | env | no | Where the saved sign-in lives. Default ~/.garminconnect. Use a folder per account to run more than one. Example: `~/.garminconnect-alice` |
| `GARMIN_IS_CN` | env | no | Set to true for a Garmin Connect China account. Example: `true` |
| `GARMIN_EMAIL / GARMIN_PASSWORD` | env | no | Sign in from the config instead of saved tokens. Only works without MFA, and puts your password in a file, so the auth step is better. |
| `GARMIN_FIT_DOWNLOAD_DIR` | env | no | Folder for activity files the model downloads. Example: `/Users/you/garmin-files` |

### What can Garmin Connect MCP read and change?

**It can read**

- Your Garmin Connect activities, health, sleep, training and nutrition data
- Your profile and devices

**It can change**

- Activity names, types and notes, and strength sets
- Weigh-ins, hydration and food logs
- Workouts, your training calendar and workouts sent to a device
- Activities and courses, when asked to delete them

**Safer setup:** Use the minimal profile, which only reads, and list any writing tools you want to block in GARMIN_DISABLED_TOOLS. Deleting an activity asks for a second confirmed call, and there is no undo.

### Good for

- Asking how your sleep and HRV changed over a training block
- Getting a plain summary of last week’s activities
- Building a run or strength workout and putting it on your watch

### Garmin Connect MCP not working? Common fixes

**Sign-in fails or asks for MFA every time**
Run garmin-mcp-auth in a terminal to save tokens, then remove any email and password from the config.

**It stopped working after a few months**
The saved tokens last about six months. Run garmin-mcp-auth again.

**A call hangs, then times out**
Garmin's service sometimes stalls. The server gives up after 90 seconds (GARMIN_MCP_CALL_TIMEOUT) so you can retry.

**The client says there are too many tools**
Set GARMIN_TOOL_PROFILE to one or two areas instead of loading all 150 or so.

### What are the alternatives to Garmin Connect MCP?

| Server | What it does | Tools | Runs on | Licence | Stars |
| --- | --- | --- | --- | --- | --- |
| [Garmin Connect MCP](https://mcpshelf.co/servers/garmin) | Ask an assistant about your Garmin activities, sleep, recovery and training. | 20 | Your computer | MIT | 1.4K |
| [Notion](https://mcpshelf.co/servers/notion) | Notion's own server: search, read and update pages and databases. | 24 | Hosted or your computer | MIT | 4.7K |
| [MCP Atlassian (Jira and Confluence)](https://mcpshelf.co/servers/atlassian) | Jira issues and Confluence pages, Cloud or self-hosted. | 98 | Your computer | MIT | 6.1K |
| [Basic Memory](https://mcpshelf.co/servers/basic-memory) | Long-term memory as plain Markdown files you own. | 27 | Your computer | AGPL-3.0-or-later | 4.4K |
| [LinkedIn MCP Server](https://mcpshelf.co/servers/linkedin) | Read LinkedIn profiles, companies and job posts with your own login. | 20 | Your computer | Apache-2.0 | 4K |
| [arXiv MCP Server](https://mcpshelf.co/servers/arxiv) | Search arXiv, download papers and read them in full. | 19 | Your computer | Apache-2.0 | 3.2K |

### Garmin Connect MCP FAQ

#### How do I connect Garmin to Claude?

Sign in once with uvx --python 3.12 --from git+https://github.com/Taxuspt/garmin_mcp garmin-mcp-auth, then add the server to Claude. In Claude Desktop you can install the .dxt file from the releases page instead of editing JSON.

#### How do I add Garmin Connect MCP to Claude Code?

After signing in with garmin-mcp-auth, run claude mcp add with the same uvx command shown on this page. The saved tokens mean no email or password is needed in the command.

#### Is Garmin Connect MCP an official Garmin product?

No. It uses the community python-garminconnect library, which signs in the way the Garmin Connect website does, so a change at Garmin could break it.

#### Why does it stop working after a few months?

The saved sign-in lasts about six months. Run garmin-mcp-auth again to get fresh tokens.

#### Where does my health data go?

From Garmin to the server on your computer, then to whichever model your client uses. The tokens stay in your home folder.

#### Can it put a workout on my watch?

Yes. It can build a workout, schedule it and send it to a device linked to your account. Those writing tools are not in the minimal profile.

#### Does it work with ChatGPT?

No. It runs on your computer with your saved Garmin sign-in, and ChatGPT only connects to remote servers by URL.

#### Is Garmin Connect MCP free?

Yes. It is MIT licensed, and it uses the Garmin Connect account you already have.

Full docs on GitHub: https://github.com/Taxuspt/garmin_mcp

## Notes for agents

Fetch these instead of parsing the HTML page:

- llms.txt: https://mcpshelf.co/llms.txt
- llms-full.txt: https://mcpshelf.co/llms-full.txt
- ai.txt: https://mcpshelf.co/ai.txt
- Full catalog (.md): https://mcpshelf.co/catalog.md
- API spec: https://mcpshelf.co/openapi.json
- MCP server: https://mcpshelf.co/mcp
- MCP manifest: https://mcpshelf.co/.well-known/mcp.json
- Developer docs: https://mcpshelf.co/developers

MCP endpoint (Streamable HTTP, no key): https://mcpshelf.co/mcp. REST API: https://mcpshelf.co/api/v1.

