Labsco
MCP SERVER

Garmin Workouts MCP

by charlesfrisbee

Turn a described session into a structured Garmin Connect workout, and re-establish the Garmin login when it lapses.

Health, Fitness & WearablesVerified
Summary
The server writes the workout; turning a sentence into steps is explicitly handed back to the model that called it.

create_garmin_workout takes a name, a sport and structured steps, and its description states that the caller should parse the natural-language description and pass structured steps in — so what lands on the watch depends on the model doing that translation, not on validation here. The other thing to plan around is the login: authenticate_garmin opens a browser, which makes an unattended or headless setup awkward, and check_garmin_auth exists so an expired session shows up before a create call fails rather than after.

What it is

A Garmin Connect workout creator with three tools: create a structured workout, check whether the stored authentication is still valid, and start the browser login.

What you get
  • Workout creation from structured steps: create_garmin_workout takes a name, a sport and the workout steps, with its own description placing the job of parsing a natural-language description onto the calling model rather than the server.
  • Authentication handled as its own step: check_garmin_auth reports whether the Garmin authentication is still valid, and authenticate_garmin starts the Garmin Connect login, which opens a browser.
Requirements

A Garmin Connect account, and a machine with a browser and a person at it for the login — authenticate_garmin opens a browser, and check_garmin_auth is how you find out the session has lapsed.

Setup effort

One command — npx -y garmin-workouts-mcp