MCP App Store
by KeenEthics

Overview

Liftory is a training and nutrition coaching app for athletes, personal trainers and nutrition coaches. Connect your Liftory account to plan training, follow nutrition and coach clients from Claude. For athletes: create a training plan from a plain description (for example "a 3-day full-body plan for my home gym") using Liftory's exercise catalog in five languages; review your current training and nutrition plans and your recent workouts; read and answer messages from your coach. For personal trainers and nutrition coaches: see the clients you coach with their activity and adherence; create and review training and nutrition plans for a client; read and answer client conversations. Works in Claude on the web, desktop and mobile, and in Claude Code: a coach can work through client conversations like an inbox (summarize what is waiting, draft replies, send them once approved) and have training and nutrition plans drafted for clients, reviewed and saved in one session. You stay in control. You sign in with your own Liftory account and approve the connection on Liftory's consent page. Every tool that changes something (creating a plan, activating a menu, sending a message) is marked as a write, so Claude asks before running it. A coach can only reach clients who currently grant them coaching access. You can disconnect at any time in the Liftory app under Settings, Connected assistants.

Tools

activate_nutrition_plan

ChatGPT
Makes an existing archived or draft nutrition plan the one being followed; the person's other plans are archived. Returns whether it succeeded and, when it did not, Liftory's reason. Ids in the result are internal identifiers for tool calls, not shown to the user.

add_time_off

ChatGPT
Blocks a whole day or some hours on one date of the signed-in coach's bookable week, or adds an extra bookable window on that date. Returns the entry. Ids in the result are internal identifiers for tool calls, not shown to the user.

browse_muscle_pool

ChatGPT
Lists catalog exercises for a muscle group from easiest to hardest, optionally including exercises that work it as a secondary muscle or only those of one training modality. Same fields as search_exercise; at most 25 results per call. Ids in the result are internal identifiers for tool calls, not shown to the user.

create_nutrition_plan

ChatGPT
Saves a nutrition plan for the signed-in user, or for a coached client given clientId. Meals, options and foods reference each other by name. Nothing is saved when a foodId is unknown or a reference does not resolve; those are returned instead. With activate (the default) it becomes the plan being followed and the person's other plans are archived. Ids in the result are internal identifiers for tool calls, not shown to the user.

create_plan

ChatGPT
Saves a new training plan for the signed-in user, or for a coached client given clientId. Every exerciseId and techniqueId is checked first; when any is unknown nothing is saved and the unknown ids are returned. With activate set in the draft the plan becomes the one being followed; otherwise it is saved as scheduled. Ids in the result are internal identifiers for tool calls, not shown to the user.

delete_meal

ChatGPT
Permanently deletes one of the signed-in user's meals from their meal library. Meals a coach shared are read-only. Nutrition plans built from the meal are not changed. Returns whether it succeeded and, when it did not, the reason. Ids in the result are internal identifiers for tool calls, not shown to the user.

delete_nutrition_plan

ChatGPT
Permanently deletes a draft, template or archived nutrition plan. The plan being followed cannot be deleted. Returns whether it succeeded and, when it did not, Liftory's reason. Ids in the result are internal identifiers for tool calls, not shown to the user.

delete_service

ChatGPT
Removes one of the signed-in coach's services. Purchases already made are not changed.

delete_time_off

ChatGPT
Removes one blocked day, blocked hours or extra window from the signed-in coach's bookable week.

get_body_progress

ChatGPT
Returns the trend of the body checks the signed-in user logged in the app, or a coached client's when that client shares body data with them: the weekly average of the weigh-ins, the recent change in percent per week, and each measurement's first and latest value; photos are not included. Hint codes: FewWeighIns, WeightTrendingDown, WeightTrendingUp, WeightStable. Read only; nothing is asked for or stored. Ids in the result are internal identifiers for tool calls, not shown to the user.

get_client

ChatGPT
Returns one coached client's coaching status, recent activity, adherence, workout counts and the trainer's latest note. Fails when the signed-in user does not coach that client. Ids in the result are internal identifiers for tool calls, not shown to the user.

get_coach_setup

ChatGPT
Returns the signed-in coach's business setup: professional profile, services with serviceIds, bookable week, upcoming time off, card payment status through Stripe and Coach Agreement status, plus the steps still missing in setup order (agreement, payments, profile, services, hours). Fails for an account that is not a coach. Ids in the result are internal identifiers for tool calls, not shown to the user.

get_last_nutrition_plan

ChatGPT
Returns the nutrition plan the signed-in user, or a coached client given clientId, is following, or their newest one when none is active: meals, options, foods with amounts, daily targets, notes and weekly limits. Returns null when there is none. Ids in the result are internal identifiers for tool calls, not shown to the user.

get_last_plan

ChatGPT
Returns the most recently created training plan of the signed-in user, or of a coached client given clientId: name, days with their exercises, sets, reps, rest and technique, and the reasons it was built. Returns null when there is none. An optional week returns one week of a long plan. Ids in the result are internal identifiers for tool calls, not shown to the user.

get_nutrition_adherence

ChatGPT
Returns a coached client's adherence to their nutrition plan in rolling seven-day windows (default 8, at most 12), oldest first: meals logged, skipped and expected in each.

get_nutrition_log

ChatGPT
Returns what the signed-in user, or a coached client given clientId, logged against their nutrition plan for a period (default: the last 7 days, at most 31): per day the meals eaten with the option chosen, foods left out and amounts recorded, the meals skipped, and extras logged beside the plan, with totals of logged, skipped and expected meals.

get_nutrition_plan

ChatGPT
Returns one nutrition plan by planId, of the signed-in user or of a coached client given clientId, in the same shape as get_last_nutrition_plan. Returns null when there is no such plan. Ids in the result are internal identifiers for tool calls, not shown to the user.

get_nutrition_progress

ChatGPT
Returns how the signed-in user, or a coached client given clientId, ate against their own menu in rolling seven-day windows (default 8): meals logged and expected, and estimated kcal, protein, carbs and fat per logged day from the logged foods, next to the menu's targets; with hint codes (NoMenu, LogMoreToJudge, IntakeBelowTarget, IntakeAboveTarget, ProteinShort, OnTarget). Ids in the result are internal identifiers for tool calls, not shown to the user.

get_plan

ChatGPT
Returns one training plan by planId, of the signed-in user or of a coached client given clientId, in the same shape as get_last_plan. Returns null when there is no such plan. An optional week returns one week of a long plan. Ids in the result are internal identifiers for tool calls, not shown to the user.

get_training_progress

ChatGPT
Returns the training progress of the signed-in user, or of a coached client given clientId, over a window (default 8 weeks), computed by Liftory from the logged workouts: per exercise the sessions, the estimated one-rep max or reps trend (Progressing, Stalled, Regressing, TooFewSessions), the latest top set and the planned rep range; weekly working sets per muscle group; and hint codes (ConsistencyFirst, DeloadCandidate, AddLoad, Stalled, AddReps, VolumeBelowRange, VolumeAboveRange). Ids in the result are internal identifiers for tool calls, not shown to the user.

get_workout_history

ChatGPT
Returns logged workouts of the signed-in user, or of a coached client given clientId, for a period (default: the last 30 days): the most recent workouts with their exercises and sets (default 10, at most 30), totals for the whole period, and for a client their adherence to the current plan. Ids in the result are internal identifiers for tool calls, not shown to the user.

list_clients

ChatGPT
Lists the clients the signed-in trainer coaches, sorted by name, with each client's clientId, coaching status and recent training activity. Paged with limit (default 50, at most 100) and offset. Empty for a user who coaches no one. Ids in the result are internal identifiers for tool calls, not shown to the user.

list_conversations

ChatGPT
Lists the signed-in user's Liftory conversations (with their trainer, their clients or the AI trainer), most recent first, with each sessionId, the other participant and unread counts. Returns up to limit conversations (default 20, at most 50). Ids in the result are internal identifiers for tool calls, not shown to the user.

list_libraries

ChatGPT
Lists the exercise libraries of the catalog (for example gym or home training), each with a description and its number of exercises. A library name is a valid library filter for search_exercise.

list_meals

ChatGPT
Lists the signed-in user's meal library: their own meals, the Liftory starter meals and the meals their coach shared, each with its mealId, libraries, whether a coach shared it, its calories, protein, carbohydrates and fat, and the meal itself in the shape a nutrition plan option takes, mealId included. A plan option that carries the mealId stays linked to the meal, and for a coached client the meal is copied into the client's meals when the plan is saved. Filters: library and words in the meal or food names; paged with limit (default 20, at most 40) and offset. Ids in the result are internal identifiers for tool calls, not shown to the user.

list_nutrition_plans

ChatGPT
Lists the nutrition plans of the signed-in user, or of a coached client given clientId, newest first, with each planId, name, status, number of meals and daily targets; with templates set, the signed-in user's templates and their libraries instead. A template read with get_nutrition_plan is a draft that create_nutrition_plan accepts. Paged with limit (default 20, at most 50) and offset. Ids in the result are internal identifiers for tool calls, not shown to the user.

list_techniques

ChatGPT
Lists the training techniques Liftory supports (such as supersets and drop sets), one per line as id, label, description and behaviour flags. The ids are the techniqueId values a planned exercise can carry. Ids in the result are internal identifiers for tool calls, not shown to the user.

present_day

ChatGPT
Checks one training day without saving it: validates each exerciseId against the catalog and returns the day with localized exercise names and muscle groups, plus any exerciseIds missing from the catalog. Ids in the result are internal identifiers for tool calls, not shown to the user.

read_messages

ChatGPT
Returns the most recent messages of one conversation, oldest first (default 30, at most 100), and marks the conversation as read unless markRead is false.

save_meal

ChatGPT
Saves a meal to the signed-in user's meal library: a new meal without mealId, or a replacement of one of their meals given its mealId; a mealId with only libraries refiles that meal. Meals a coach shared are read-only, and saving one without its mealId makes an own copy. Nothing is saved when a foodId is unknown or the meal has no name or groups; those are returned instead. Ids in the result are internal identifiers for tool calls, not shown to the user.

save_service

ChatGPT
Creates a service the signed-in coach sells, or changes one given its serviceId while unchanged fields stay as stored: name, description, not for sale, free or priced, billing per session, plan or month, sessions included, session length and where it happens. Returns the service. Ids in the result are internal identifiers for tool calls, not shown to the user.

search_exercise

ChatGPT
Searches the Liftory exercise catalog in English, Spanish, French, Italian or German and returns matching exercises with their exerciseId, muscles, equipment, difficulty (1-10) and whether they are counted in repetitions or time. Filters: library, muscle group and difficulty range; paged with offset; at most 25 results per call. Ids in the result are internal identifiers for tool calls, not shown to the user.

search_food

ChatGPT
Searches the Liftory food catalog in the user's language and returns matching foods with their foodId, food group, and calories, protein, carbohydrates and fat per 100 g. Ids in the result are internal identifiers for tool calls, not shown to the user.

search_knowledge

ChatGPT
Searches Liftory's knowledge base on training programming, volume, progression, nutrition and safety with a natural-language question, and returns the most relevant passages with their source section.

send_message

ChatGPT
Sends a message as the signed-in user in one of their conversations. The other participant receives it like a message written in the Liftory app.

set_weekly_hours

ChatGPT
Sets the signed-in coach's whole bookable week to the windows given (day, start, end, slot spacing, services the window is reserved for); windows not given are removed. Returns the week and how many windows were added, changed and removed. Ids in the result are internal identifiers for tool calls, not shown to the user.

update_coach_profile

ChatGPT
Changes fields of the signed-in coach's professional profile (bio, professional type, specialties, languages, discovery, price range, location, delivery mode, gym, experience, links, availability line); fields left out are unchanged. Returns the profile. Ids in the result are internal identifiers for tool calls, not shown to the user.

update_nutrition_plan

ChatGPT
Replaces an existing nutrition plan of the signed-in user, or of a coached client given clientId, with an edited version. Meals, options, foods, planned days and weekly limits whose names are unchanged retain their identity, so days already logged against them stay valid; renamed or new ones are new. The plan's status is unchanged. Nothing is saved when a foodId is unknown or a reference does not resolve; those are returned instead. Ids in the result are internal identifiers for tool calls, not shown to the user.

update_nutrition_rules

ChatGPT
Replaces the notes (markdown) printed under a nutrition plan and changes nothing else, so its meals, foods and the days already logged against them stay valid. Ids in the result are internal identifiers for tool calls, not shown to the user.

validate_nutrition_plan

ChatGPT
Checks a nutrition plan draft the way create_nutrition_plan does, without saving anything: returns the unknown foodIds, the problems that would block saving (such as names that match nothing) and warnings. Ids in the result are internal identifiers for tool calls, not shown to the user.

whoami

ChatGPT
Returns the signed-in Liftory user's display name, email and roles, and whether they coach clients. Every other tool acts as this user.

activate_nutrition_plan

Claude

browse_muscle_pool

Claude

create_nutrition_plan

Claude

create_plan

Claude

delete_nutrition_plan

Claude

get_client

Claude

get_last_nutrition_plan

Claude

get_last_plan

Claude

get_nutrition_plan

Claude

get_plan

Claude

get_workout_history

Claude

list_clients

Claude

list_conversations

Claude

list_libraries

Claude

list_techniques

Claude

present_day

Claude

read_messages

Claude

search_exercise

Claude

search_food

Claude

search_knowledge

Claude

send_message

Claude

update_nutrition_rules

Claude

validate_nutrition_plan

Claude

whoami

Claude

Similar Apps