Skip to content

Ask Claude about your training

Connect your Garmin account to Claude in about a minute. Claude reads your sleep, HRV, training status and workouts, and can build and schedule new sessions for your watch.

Free. Works on claude.ai, the phone apps and Claude Desktop.

How did I sleep this week compared with last week?

Used get_sleep_data for 14 nights

You averaged 6 h 52 min asleep, 21 minutes more than last week. Deep sleep peaked on Saturday at 1 h 45 min. Thursday was the short one at 5 h 46 min, right after your interval session.

MonTueWedThuFriSatSun
  • Deep
  • Light
  • REM
  • Awake
Example conversation with sample data

Set up in three steps

  1. Add a custom connector

    In Claude, open Settings, then Connectors, and paste the URL above.

  2. Sign in to Garmin

    A Garmin window opens. Sign in, with a code if Garmin asks for one.

  3. Ask

    Ask about your sleep, training or workouts. The connector works in the phone app too.

Using Claude Code or another MCP client? See the setup for each app.

What you can ask

Plain questions work. Claude picks the right Garmin tools and shows you which ones it used.

Sleep and recovery

  • How did I sleep this week compared with last week?get_sleep_data
  • What has my HRV done over the last month?get_hrv_data_range

Training

  • Am I ready to train hard today?get_training_readiness
  • What do my race predictions look like?get_race_predictions

Workouts

  • Build 6×400 m at 4:10/km with 2-minute recoveries and schedule it for Thursdaycreate_workoutschedule_workout

Body

  • Log 72.4 kg for this morningadd_weigh_in
  • Show my weight and resting heart rate for the past 90 daysget_weigh_insget_rhr_daily

More things to ask

Build with it

The same data, in your own code. A typed TypeScript client for Garmin Connect with no runtime dependencies, plus a workout builder that turns a short description into a valid Garmin workout.

200
methods
0
dependencies
18+
Node.js
npm i garminconnect-js
import { Garmin, GarminClient } from "garminconnect-js";

const client = new GarminClient();
await client.login(email, password);

const garmin = new Garmin(client);
const sleep = await garmin.getSleepData(date);
const hrv = await garmin.getHrvData(date);

Your data stays yours

Everything is open source, so you can check these against the code.

Read the privacy page