Community Project: XERT MCP Server for Claude AI

Garmin are starting to restrict access to “their” data via APIs - see API access to Intervals.icu - #752 by david - Guide - Intervals.icu Forum

Happy I sold my Garmin and got a Karoo.

Edit: might only be temporary as per API access to Intervals.icu - #829 by david - Guide - Intervals.icu Forum but I still don’t trust them :slight_smile:

1 Like

We’ve added a new Developer key generation feature and updated our API. Xert Online API

The API is looking a lot better! And yes I was probably wrong about Garmin, their API approach seems fairly thoughtful.

@xertedbrain here’s how I’m planning to use the Xert API. This is from Claude, with some notes. :slight_smile:

Using Xert as the training model, with Intervals.icu for scheduling and a Claude agent as coach

Roles

  • Xert is the source of truth for fitness and load: the signature (TP, LTP, HIE, PP) plus XSS, Training Load, Recovery Load, Form, Training Status and Target XSS. I don’t use any CTL, ATL, TSB or ACWR metrics.

  • Intervals.icu holds the calendar. A script copies my Xert signature into the Intervals sport settings (TP→FTP, HIE→W′, PP→Pmax). Intervals’ Strain Score on planned and completed workouts then lines up with XSS.

  • A Claude agent does the planning. It reads Xert through the API using my personal client key, writes sessions to the Intervals calendar against weekly Low/High/Peak XSS targets, and adjusts each day using wellness data Xert doesn’t see (HRV, resting HR, sleep, strength training).

Daily loop

  1. Ride. The ride syncs to Xert and Intervals.

  2. If my signature changed, the script updates the Intervals settings.

  3. In the morning the agent combines Xert Form/Status with HRV, resting HR and sleep, then confirms or adjusts the planned session.

  4. Weekly, the agent reviews breakthroughs (comparing the signature before and after each ride) and per-system progression against my goal event.

Feedback on API v1.7

  • The personal key with client_credentials works well.

  • Would help: Recovery Load and Form in /oauth/training_info, since today they only appear in activity progression.

  • Would help: a recording device or source field in the activity list.

  • Would help: a webhook, or a cheap “signature changed since” endpoint, to trigger the Intervals sync.