MCP App Store
by KeenEthics

Overview

LiftTrack is a strength training app for Garmin users that lets you build custom workouts on your phone, sync them to your Garmin watch, and track your progress over time. It's purpose-built for weightlifters — with features like an unlimited exercise library, superset support, rest timers, RPE logging, warmup calculators, and AI-powered workout creation. If you don't have the app yet, download LiftTrack on iOS or Android at lifttrackapp.com. Once connected, ChatGPT can access your real workout templates and completed sessions, so you stay in one chat while your data does the work. Goals you can accomplish Plan your week — Ask "What did I do last week?" or "What's in my Push template?" and get answers from your actual workouts and templates so ChatGPT can suggest what to do next. Stay on program — Have ChatGPT remind you what's in a given workout, what weight and sets you did last time, or what you're supposed to do today. Review and adjust — Ask for summaries by week or month ("How many sessions did I do?" "How did my squat progress?") and use that to adjust volume or intensity.

Tools

create_workout

ChatGPT
Create a workout template with exercises, sets, loads, rest modes, and optional supersets. Exercise names must be exact display names from the catalog or the user's custom exercises. Each exercise: name, target (reps|time), load (weight|percent), working_rest_mode (timed|off|lap), working_rest_seconds (required when working_rest_mode is 'timed'; omit otherwise), optional warmup_sets[], optional warmup_rest_mode (required when warmup_sets is present; same allowed values as working_rest_mode), optional warmup_rest_seconds (required when warmup_rest_mode is 'timed'), working_sets[] (min 1), and an optional superset label. working_rest_mode 'off' means continue straight to the next set/exercise with no rest. 'lap' means the watch pauses until the user presses the lap button. The same rest setting applies between sets within the exercise and after the exercise's last set (the inter-exercise rest). Each set has reps (when target=reps) or seconds (when target=time), and weight (when load=weight) or percent (when load=percent), plus optional rpe. weight is in the user's units (0 = bodyweight). percent is the percentage of training max itself, e.g. 65 for 65%, not a computed weight. The server computes the weight from the user's training max, and the call fails with a clear error if the exercise has no training max set. superset is an optional short label (case-insensitive, max 16 chars). Exercises sharing a label run as one superset on the watch — at least two exercises must share a label, max 16 distinct labels per workout. Optional folder_name is an exact folder name; it places the workout in that folder, or creates the folder if no folder has that name. Example with a two-exercise superset: {"name":"Push","exercises":[{"name":"Barbell Bench Press","target":"reps","load":"weight","working_rest_mode":"timed","working_rest_seconds":90,"working_sets":[{"reps":5,"weight":185}],"superset":"A"},{"name":"Cable Row","target":"reps","load":"weight","working_rest_mode":"lap","working_sets":[{"reps":8,"weight":80}],"superset":"A"}]}

delete_workout

ChatGPT
Permanently delete a workout template. This cannot be undone. Deleting a workout also removes it from any schedules and from the user's Garmin device. App default workouts cannot be deleted. Args: workout_name: Exact workout template name (case insensitive). folder_name: Optional folder name to disambiguate duplicate names. The value "My Workouts" identifies a workout not in any folder. If several workouts share the name, the call fails and lists each match with its folder without deleting any of them.

get_activities

ChatGPT
Get completed workout sessions. For each activity: name, date/time, duration, exercises with actual sets performed vs target sets. Args: start_date: Start of date range (ISO format YYYY-MM-DD). Defaults to 30 days ago. end_date: End of date range (ISO format YYYY-MM-DD). Defaults to today. workout_name: Optional filter to only show activities for a specific workout. limit: Max results to return (default 20, max 100).

get_coach_profile

ChatGPT
Get the user's saved Coach Profile: experience level, primary goal, training days per week, session length, weekly endurance hours, available equipment, liked and disliked exercises, and free text goals and limitations notes. Returns an empty object when the user has not set up a profile yet.

get_exercise_history

ChatGPT
Get performance history for a specific exercise across sessions. Shows per-session sets, volume, estimated 1RM, and heaviest set, plus trends over time. This is the most useful tool for coaching conversations like 'How's my bench progressing?' Args: exercise_name: The exercise display name (e.g. 'Barbell Bench Press'). limit: Number of recent sessions to include (default 10, max 50).

get_folders

ChatGPT
List the user's workout folders with exact name and workout count.

get_help_article

ChatGPT
Read a complete LiftTrack Help Center article or FAQ by its identifier. Returns the full instructions or explanation and the source URL.

get_program_detail

ChatGPT
Get one saved program's complete compact plan. Returns every program week without pagination. Within each week, repeated uses of the same workout_id are grouped into one item with all assigned day labels in days. The same workout_id in multiple weeks means the same saved workout is reused.

get_programs

ChatGPT
List the user's saved programs at the same summary level as LiftTrack's program cards: name, status, total weeks, current week when running, and days per week. Status is not_started, active, paused, or complete. Internal program lifecycle ids are never returned.

get_schedule

ChatGPT
Get upcoming scheduled workouts. Args: days_ahead: How many days ahead to look (default 14, max 60).

get_training_maxes

ChatGPT
Get training max (1RM estimate) values used for percentage-based programming. Returns all training maxes, or filter by exercise name. Args: exercise_name: Optional exercise display name to filter (e.g. 'Barbell Back Squat').

get_user_settings

ChatGPT
Get the user's workout settings: unit preference (lbs/kg), weight rounding, and other preferences. Call this early in a conversation so you have context for all subsequent responses.

get_weekly_training_status

ChatGPT
Get a coaching summary for one Monday-Sunday training week: workouts completed vs goal, calendar days left including today, strength/hypertrophy/endurance set counts, credited sets per muscle vs the user's four-week average, and trained or missing movement patterns. Week boundaries and days_left use the client-reported timezone when available, otherwise the optional timezone argument, otherwise UTC. The response includes the resolved timezone in week.timezone. Args: week_start: Optional Monday in YYYY-MM-DD format. Defaults to the current week in the resolved timezone. timezone: Optional IANA zone id (e.g. 'America/Denver'), used when the client reports no timezone.

get_workout_detail

ChatGPT
Get full detail of a single workout template: exercises with sets (weight x reps), rest times, superset grouping, RPE targets, notes, and percentage-of-TM info. All weights shown in the user's preferred unit.

get_workout_templates

ChatGPT
List all workout templates with name, folder, exercise count, and exercise name summary. Use folder_name to filter by a specific folder.

schedule_workout

ChatGPT
Schedule a saved workout template on one calendar date. The workout appears on that date in the LiftTrack app and, when the user's Garmin account is linked, on their Garmin calendar and watch. If the workout is already on that date (scheduled once, by the weekly routine, or by a program), nothing is added and the existing entry is reported. Args: workout_name: Exact workout template name (case insensitive). date: YYYY-MM-DD, from today through 30 days ahead. workout_folder_name: Optional folder name to disambiguate duplicate names.

search_exercises

ChatGPT
Search the exercise catalog by name or muscle group. Returns display name, muscles, and equipment. Max 20 results. Every exercise in a workout must come from this catalog or the user's custom exercises. Args: query: Free text search against exercise name (e.g. 'bench press', 'squat'). muscle_group: Filter by primary muscle group (e.g. 'CHEST', 'QUADS', 'LATS', 'GLUTES', 'SHOULDERS', 'TRICEPS', 'BICEPS', 'ABS', 'HAMSTRINGS', 'TRAPS', 'CALVES').

search_help_center

ChatGPT
Search LiftTrack's Help Center articles and FAQs for instructions, feature explanations, and troubleshooting. Returns relevant text passages with article titles and source URLs.

set_training_max

ChatGPT
Set the training max for an exercise, creating it or updating an existing value. The training max is the estimated one rep max used to compute workout weights for percentage-based loads. Updating an existing training max recalculates the weight of every workout where the exercise uses percentage of training max. Args: exercise_name: Exact exercise display name from the catalog or the user's custom exercises. training_max: The training max value, in the user's units (lb or kg per their settings).

unschedule_workout

ChatGPT
Remove a scheduled workout from one calendar date. This also removes it from the user's Garmin calendar. Only workouts scheduled for a single date can be removed; occurrences created by the weekly routine or a program are refused and can only be changed in the LiftTrack app. If a workout with that name stays on that date (from the weekly routine, a program, or a same named workout in another folder), the result reports what holds it in still_scheduled_by. The workout template itself is not changed. Args: workout_name: Exact workout template name (case insensitive). date: YYYY-MM-DD of the scheduled occurrence, today or later. Past occurrences are kept as the user's training record. workout_folder_name: Optional folder name to disambiguate duplicate names.

update_workout

ChatGPT
Change an existing workout template. workout_name is the exact current name; optional workout_folder_name disambiguates duplicate names and does not change folder membership. Omitted fields keep their current values. name renames the workout. exercises replaces the entire exercise list, including all exercises and sets to retain. Progression links are preserved for exercises that keep their name. Each exercise uses an exact catalog or custom exercise display name, target (reps|time), load (weight|percent), working sets, and rest configuration, with optional warmup sets, supersets, RPE, and notes. The input schema defines the fields and constraints. Notes appear on the watch in the workout step description. A rename-only request contains workout_name and name, plus workout_folder_name if needed; it does not require exercises.

validate_exercise_names

ChatGPT
Check that exercise names exist in the exercise catalog or the user's custom exercises. Names must be exact display names (case-insensitive). Returns all_valid plus every invalid name with up to 3 close catalog matches as suggestions.

create_workout

Claude

delete_workout

Claude

get_activities

Claude

get_coach_profile

Claude

get_exercise_history

Claude

get_folders

Claude

get_program_detail

Claude

get_programs

Claude

get_schedule

Claude

get_training_maxes

Claude

get_user_settings

Claude

get_weekly_training_status

Claude

get_workout_detail

Claude

get_workout_templates

Claude

search_exercises

Claude

set_training_max

Claude

update_workout

Claude

validate_exercise_names

Claude

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

40

Tools

3

Prompts

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily