Garmin Connect Workouts MCP logo

Garmin Connect Workouts MCP

Create, manage, and schedule structured running, cycling, and swim workouts in Garmin Connect through MCP tools.

Install Garmin Connect Workouts MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "garmin-connect-workouts-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "garmin-connect-workouts-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 8 tools correctly (11d ago).

Overview

garmin-connect-workouts-mcp MCP server connects an MCP-compatible AI client to Garmin Connect for creating and managing structured workouts. It supports workout steps, repeat groups, pace, heart-rate, power, cadence, and swim-specific settings. Authentication uses a browser session with Garmin Connect, while workout data is sent through Garmin's web API. Use it when you want an agent to build, inspect, modify, delete, or schedule workouts in a Garmin account.

Use cases

  • Create interval workouts with pace, heart-rate, power, or cadence targets
  • Build swim sessions with strokes, equipment, and pool length
  • List and inspect workouts stored in Garmin Connect
  • Update existing workouts and preserve their IDs
  • Schedule workouts on the Garmin Connect calendar

Key features

  • Structured workout creation with typed steps and targets
  • Repeat groups for interval sessions
  • Pace, heart-rate, power, and cadence targets
  • Swim strokes, equipment, and pool-length settings
  • Workout listing, retrieval, updating, deletion, and scheduling
  • Browser-based Garmin Connect authentication

Tools8

What Garmin Connect Workouts MCP lets your agent do. Expand a tool for its parameters.

Verified live~3.8k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

5/5 checks healthy over the last 50d

What it can do

From the 8 tools this server returned when we ran it; 8 declare their own safety hints.

Can delete or modify data · 1Handles credentials · 2Makes network requests · 2Read-only tools · 7
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceNot published
Package age45 days
Maintainers1

Observed 2026-10-17 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 14d ago via OSV.dev · garmin-connect-workouts-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads868Package downloads in the last 30 days.
Last commit1mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed8Callable tools this server registers over MCP.
Directory activity7 viewsConfig copies, upvotes, and views on AllMCPs.

How Garmin Connect Workouts MCP works

What garmin-connect-workouts-mcp MCP server does

garmin-connect-workouts-mcp MCP server exposes Garmin Connect workout management through MCP tools. It can create workouts with ordered steps, target values, durations, and repeat blocks, then list existing workouts or retrieve the full structure of a selected workout.

The server also supports replacing an existing workout while retaining its identifier, deleting workouts, and placing workouts on the Garmin Connect calendar for a specified date. It covers running and cycling targets such as pace, heart rate, power, and cadence. Swim workouts can include stroke, equipment, and pool-length details.

The calling model supplies structured fields rather than asking the server to interpret an arbitrary text string. For example, a workout can represent a warmup, repeated intervals, recovery periods, and cooldown as separate typed steps. A pace supplied without both range boundaries is treated as the fast edge of a Garmin pace range, with the slow edge widened by 10 seconds.

How it works

The MCP client invokes the available tools over a local server process. The server encodes the supplied workout structure into the format expected by Garmin Connect's web API. Repeat intervals are represented as repeat groups, allowing Garmin devices to show a repetition counter instead of receiving duplicated individual steps.

Garmin authentication relies on session cookies and a CSRF token. The server checks whether the stored session remains valid and can open a browser at Garmin Connect when login is required. After authentication, it stores the resulting session data locally rather than storing the Garmin password.

The project communicates with Garmin Connect's web API using requests based on the official web client's behavior. It is an unofficial integration, so changes to Garmin's web API may affect operation.

Setup and configuration

For Claude Code, the documented setup is claude mcp add garmin-workouts npx garmin-connect-workouts-mcp. Claude Desktop can run it through an MCP configuration entry using the npx command and the package name, followed by a client restart.

The first authentication flow opens a real browser window for normal Garmin login. Session information is saved in ~/.config/garmin-connect-workouts-mcp/auth.json with owner-only read and write permissions. The browser uses a separate persistent profile at ~/.config/garmin-connect-workouts-mcp/browser-profile/, leaving the user's personal browser profile untouched.

When the stored session expires or is rejected, run authenticate_garmin again. check_garmin_auth can be used to test the current session. No environment variables are documented as required.

Tools and capabilities

  • create_garmin_workout: Creates a structured workout with steps, targets, and repeat groups.
  • list_garmin_workouts: Lists workouts in the connected Garmin account.
  • get_garmin_workout: Returns the complete structure of one workout.
  • update_garmin_workout: Replaces an existing workout while preserving its ID.
  • delete_garmin_workout: Removes a workout.
  • schedule_garmin_workout: Adds a workout to the Garmin Connect calendar for a date.
  • check_garmin_auth: Tests whether the saved Garmin session is still valid.
  • authenticate_garmin: Starts browser-based Garmin authentication.

Targets include pace ranges, heart-rate zones or explicit beats-per-minute ranges, cycling power, and cadence. Swim steps can specify strokes such as freestyle, backstroke, breaststroke, butterfly, drill, or individual medley, along with equipment including fins, kickboards, paddles, pull buoys, and snorkels. Pool length can be expressed in meters or yards.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Garmin Connect Workouts MCP

garmin-connect-workouts-mcp is an MCP server that connects AI clients to Garmin Connect and provides tools to create, list, fetch, update, delete, and schedule workouts, check authentication, and open browser-based login. It supports structured steps, targets, repeat groups, and swim-specific workout details.

Install it with `npx` through your MCP client. Claude Code uses `claude mcp add garmin-workouts npx garmin-connect-workouts-mcp`; Claude Desktop requires a configuration entry with `npx` and the package name, followed by a restart.

Run the `authenticate_garmin` tool to open Garmin Connect in a browser and complete login. The server stores session cookies and a CSRF token locally, and `check_garmin_auth` verifies whether the saved session still works.

Yes, it can create swim workouts with a pool length in meters or yards, stroke selections, and equipment such as fins, kickboards, paddles, pull buoys, or snorkels. Swim steps can be combined with distances, durations, and repeat groups.

Yes, the `schedule_garmin_workout` tool places a workout on the Garmin Connect calendar for a specified date. Existing workouts can also be retrieved, updated, or deleted through the other lifecycle tools.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewGarmin Connect Workouts MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/garmin-connect-workouts-mcp?style=directory)](https://allmcps.com/mcp/garmin-connect-workouts-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/garmin-connect-workouts-mcp"><img src="https://allmcps.com/api/badge/garmin-connect-workouts-mcp?style=directory" alt="Garmin Connect Workouts MCP on AllMCPs" /></a>