MCP App Store
by KeenEthics
Other
AI Endurance icon

AI Endurance

by AI Endurance Inc

Overview

Your AI coach for Running, Cycling and Triathlon. Review, manage, and adapt your training plan, and deep dive into your activity and recovery data. Combine ChatGPT’s conversational intelligence with AI Endurance’s data analysis and machine learning models to maximize your training effectiveness and optimize your performance.

Tools

analyzeActivityStream

ChatGPT
Computes deterministic, quantitative analytics for ONE completed activity server-side and returns a compact summary. PREFER this over the Detail tools whenever the user wants NUMBERS: normalized power, intensity factor, variability, time-in-zone, pacing/fade (first vs second half), or channel extremes (avg/max/min power, HR, cadence, pace) - it is more accurate and far cheaper than reading raw streams and doing the maths yourself. For runs the pace channel is GAP (gradient adjusted pace), returned as gap_m_per_s / avg_gap_m_per_s / pacing basis gap_m_per_s - NOT the watch's raw pace, and never a basis for re-deriving distance. First get the activity id from getCyclingActivity / getRunningActivity / getSwimmingActivity, then call this with that id. NOT for: durability, aerobic decoupling / HR drift, DFA alpha1 thresholds, or the mean-max curve - for those use the matching Detail tool with with_dfa_alpha1 / with_power_curve. The optional range restricts the analysis to a time window: ONLY use numeric bounds the user gives, or a device lap's start_s/end_s from the Detail tools' laps array - do NOT guess bounds for vague targets like "the climb". segments="auto" adds equal time-window splits; these are COMPUTED windows, not the device laps the athlete recorded. fade_pct > 0 means the second half was LOWER power / slower; it is terrain-naive, so read the per-half ascent/descent before calling a fade physiological.

changeWorkoutAdvice

ChatGPT
Adds or updates advice for a specific workout. Allows adding additional instructions or tips without modifying the workout structure.

changeWorkoutDate

ChatGPT
Changes the date of a specific workout in the training plan. Updates the workout schedule and syncs with all connected platforms (Garmin, TrainingPeaks, etc.).

changeWorkoutIntensity

ChatGPT
Changes the intensity (load) of an existing planned ride or run workout in place. REQUIRED: specify ess (new training stress score, more than about 100 is a hard workout) or intensityTime (new time at intensity in seconds), or both. LIMITATION: this only works on workouts with a scalable .steps structure (algorithm-generated plan workouts and workouts from createRideRunWorkoutByIntensity both qualify) - check has_steps_general from getPlannedWorkouts first. On a structured (steps_general) workout it fails cleanly with WORKOUT_HAS_NO_STEPS; in that case call skipWorkout and recreate the workout with createRideRunWorkout or createRideRunWorkoutByIntensity instead. The zone is preserved automatically - the step durations are recomputed at the workout's existing intensity zone.

createRideRunWorkout

ChatGPT
Creates a new custom ride or run workout with structured steps using zone-based targets (Endurance/Tempo/Threshold/VO2Max/Anaerobic). For Ride: zones map to power. For Run: zones map to pace or running power based on the user's preference. Supports single steps (WorkoutStep) and repeated interval blocks (WorkoutRepeatStep). Steps execute in stepOrder.

createRideRunWorkoutByIntensity

ChatGPT
Creates a simple ride or run workout from one intensity zone plus a target load - no step structure needed. REQUIRED: specify ess (training stress score, more than about 100 is a hard workout) or intensityTime (seconds at intensity), or both. The act type must match the user's sport: Runner users only Run, Cyclist users only Ride, Triathlete users both (zones for the other sport do not exist otherwise). For structured workouts with custom warmup/interval/cooldown steps use createRideRunWorkout instead. If a workout with the same date, sport and load already exists, that existing workout is returned instead of a duplicate.

createStrengthOtherWorkout

ChatGPT
Creates a new strength or other workout (strength training, cross-country skiing, hiking, yoga, etc.) for the user on a specified date.

createSwimWorkout

ChatGPT
Creates a new custom swim workout with structured sections. Supports warmup, preparation, main sets, and cooldown with detailed interval specifications including swim strokes, equipment, zones, and rest periods.

getAvailability

ChatGPT
Retrieves user training availability including weekly hours breakdown and daily schedule for each activity type.

getCyclingActivity

ChatGPT
Retrieves a list of completed cycling activities. Returns at most the 40 most recent activities if no date range is specified.

getCyclingActivityDetail

ChatGPT
Retrieves detailed information about a specific cycling activity by its ID. This includes all the basic activity data plus time series metrics data. Use this when you need in-depth analysis of a single activity, not when fetching a list of activities.

getNutritionModel

ChatGPT
Retrieves the user nutrition model with daily calorie and macronutrient requirements (protein, fat, carbohydrates) including lower and upper bounds. Returns data for the past day plus 5 future days based on planned workouts and user physiology.

getOtherActivity

ChatGPT
Retrieves a list of the user's "other" activities with summary data - any sport outside running, cycling, and swimming (e.g. strength training, cross-country skiing, yoga, hiking, walking). Use this when the activity is not a run, ride, or swim. Returns at most the 40 most recent activities when a date range is given, otherwise the 20 most recent. Other activities are duration-only: there is NO time-series/stream data and NO detail tool for them, so do not expect power, pace, HRV, or per-second metrics.

getPlanProgress

ChatGPT
Retrieves user training plan progress showing how well they are adhering to their prescribed training zones. Returns progress data comparing actual training completed versus what was prescribed in the plan, broken down by training zones (Endurance, Tempo, Threshold, VO2Max, Anaerobic). For triathletes, includes activity-specific progress for Ride, Run, and Swim. Always includes weekly compliance summary. Pass fullDetails=true to also get per-workout compliance breakdown.

getPlannedWorkouts

ChatGPT
Retrieves a list of planned workouts for a user between two dates. Default range is next 14 days from today. Use summaryMode=true for lightweight overview of entire plan.

getPrediction

ChatGPT
Retrieves performance predictions from AI Endurance machine learning models including future forecasts, historical data, and model validation metrics.

getRaceGoalEvent

ChatGPT
Retrieves primary and secondary race goal events with performance predictions and priorities.

getRecoveryModel

ChatGPT
Retrieves user recovery model data including cardio recovery, DFA alpha 1, HRV (rMSSD), resting heart rate, external stress score, and orthopedic (joint/muscle) recovery for cycling, running, and swimming. Returns time-series data showing recovery trends.

getRunningActivity

ChatGPT
Retrieves a list of completed running activities. Returns at most the 40 most recent activities if no date range is specified.

getRunningActivityDetail

ChatGPT
Retrieves detailed information about a specific running activity by its ID. This includes all the basic activity data plus time series metrics data. Use this when you need in-depth analysis of a single activity, not when fetching a list of activities.

getSwimmingActivity

ChatGPT
Retrieves a list of completed swimming activities. Returns at most the 40 most recent activities if no date range is specified.

getSwimmingActivityDetail

ChatGPT
Retrieves detailed information about a specific swimming activity by its ID. This includes all the basic activity data plus time series metrics data. Use this when you need in-depth analysis of a single activity, not when fetching a list of activities.

getUser

ChatGPT
Retrieves comprehensive user data from AI Endurance including training zones, preferences, and physiological metrics.

setActivityFlags

ChatGPT
Sets per-activity flags on a cycling or running activity: indoor, virtual (Zwift etc.), erg mode, and read-time analysis exclusions (power/pace curves, digital twin model training, durability, unreliable heart rate data). Only pass the flags to change; others stay untouched. Use when the user says an activity was misdetected (e.g. an indoor ride treated as outdoor) or wants an activity with bad sensor data excluded from analysis. Setting isIndoor also updates the stored activity weather (indoor marker, or a re-fetch when flipped back to outdoor). Get the activity id from getCyclingActivity/getRunningActivity results.

setZones

ChatGPT
Sets training zones for a specific activity type (Run or Ride). For runners and triathletes using running power, automatically manages both pace and power zones. IMPORTANT: Check existing zones with getUser before setting new zones.

skipWorkout

ChatGPT
Skips (removes) a specific workout from the training plan. The workout will be marked as skipped.

Capabilities

InteractiveWrites

Example Prompts

Click any prompt to copy it.

App Stats

26

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily