Deutsch
MUSCLA

Muscla for Claude, ChatGPT and other AI assistants

Connect your Muscla account to your AI assistant and talk there about your workouts, sets, weights and food, with your real numbers, the same ones the app shows. If you allow it, the assistant can also log for you: meals, water, weigh-ins, a workout you forgot, a whole plan.

You need a Muscla account with sync turned on: the assistant sees what Muscla syncs with your account.

Connector URL

https://mcp.muscla.app/mcp

How to connect

What the assistant may do

You choose per kind of data — training, bodyweight, food — whether the assistant may read it and whether it may also add, change and delete entries (only together with reading). Every entry an assistant adds or changes shows in the app with its name ("via Claude"). Each write tool tells the assistant to show you first what it will enter and to wait for your yes, and assistants such as Claude and ChatGPT ask your permission by default before they run a tool that writes. You can change or delete every entry in the app.

Disconnect

In the app: Profile → AI assistants → the assistant → Disconnect. It takes effect at once. There you can also change what each assistant may see and enter.

Try asking

Tools

ToolWhat it does
get_overviewOverview. Start here: the unit, today, what the user shared, and a summary of training (workouts, streak, week plan, strength score), bodyweight (latest, 30-day change, goal) and today's food against its targets.Reads
list_workoutsList workouts. Workouts, newest first: date, name, minutes, counted sets, volume, PRs and each exercise's top set. Filter by dates, an exercise (name or id) or a routine. Pass `next` as `cursor` for older ones.Reads
get_workoutGet a workout. One workout in full: every counted set (weight × reps, time, RIR/RPE; `wu` marks warm-ups, which never count), each exercise's estimated 1RM and whether it was a PR.Reads
get_exercise_historyExercise history. One exercise over time: per workout the top set, estimated 1RM (Epley, up to 12 reps), volume and sets; the best values, sessions since the best, and the 12-week trend. Name (fuzzy) or id.Reads
get_progressTraining progress. Week by week (Monday first): workouts, counted sets per muscle group (push, pull, legs, core; hard sets too when the user logs effort), volume; the most trained exercises' e1RM change, the strength score and PRs. Default: the last 12 weeks.Reads
get_training_planTraining plan. The user's routines (exercises with sets, reps, weight, rest in seconds), the weekly schedule and the next 14 days (`changed` marks a day moved or set to rest by hand).Reads
search_exercisesSearch exercises. Muscla's exercise catalog and the user's own exercises: id, name, muscles, equipment, and `done` for ones the user has trained. Names are English; filter by muscle or equipment.Reads
get_body_metricsBodyweight. Weigh-ins with the 7-day average, the average change per week and the goal weight. Default: the last 90 days.Reads
get_nutritionNutrition. Days of food: totals against the day's targets (kcal, protein, carbs, fat, fiber, water; more on training days) and, with `entries`, what was eaten per meal for up to the last 7 days (`estimate` marks estimated values). Default: today; at most 31 days.Reads
search_foodsSearch foods. Foods with values per 100 g or ml and portions: the user's own foods and favorites first, then Muscla's food database. The ids identify a food exactly. With `restaurant` (a chain such as "McDonald's"): that chain's dishes, the most popular first without a query; `restaurant: "list"` lists the chains.Reads
get_my_communityMy community. The user's own Muscla community: their profile (name, city, country), how many follow them, whom they follow and open follow requests, what they share with whom (workouts, PRs, food), and their last 10 posts with likes and comments counted (workout posts when training is shared with this assistant, meal posts when food is), and their own places in the strength lists of their city and country (lifts in kg with training shared; the DOTS score with bodyweight shared too; verified ones too: by video, witnesses or a competition), and with training shared their groups with their place in each running challenge (workouts, training days, volume in kg or PRs). Only the user's own data: nothing about other people.Reads
get_micronutrientsVitamins and minerals. Vitamins, minerals, fiber, sugar, saturated fat and salt of a day (or the 7 days up to it) against reference values for adults (EFSA; by the user's sex), per day. Only entries that know a value count: `coverage` is the share of the kcal the value comes from (below 1, the real amount is likely higher). Not medical advice.Reads
get_weekly_checkWeekly check. The app's weekly check of the nutrition goals: the weight trend of the last three weeks against the goal's band (% of bodyweight a week), the kcal eaten over two weeks, the maintenance that follows, and — only when the trend is off and the data suffice — a new rest-day kcal goal (at most 250 kcal away; after one is taken over, the next waits a week: `adjusted`). Days with planned food still open do not count until it is eaten or removed. Weigh-ins only when bodyweight is shared. Suggest a change only as the app does; set it with set_nutrition_goals after the user agrees.Reads
get_meal_planMeal plan. Planned food per day and meal (with ids for eat_planned_food and remove_planned_food), what each day adds up to planned and already eaten, against its targets. Planned food is not eaten until marked so. Default: today and the next 6 days; at most 31 days.Reads
get_shopping_listShopping list. What to buy for the planned days, as the app lists it: each food once with its amount added up, recipes as their ingredients, quick entries by name, ticked-off lines (`checked`) last, and the user's own items (`own`). Default: today and the next 6 days.Reads
log_foodLog food. Adds what was eaten to a meal of a day: foods by their id from search_foods with grams or a portion (exact values), or a name with kcal and macros (saved as an estimate). Default: today.Writes
update_food_entryChange a food entry. Changes one diary entry (ids from get_nutrition with entries): the amount, meal or day; for a quick entry also its name and numbers.Writes
delete_food_entryDelete food entries. Deletes diary entries by id (from get_nutrition with entries); all or none.Writes
log_waterLog water. Adds water to a day (add_ml) or sets the day's total (total_ml). Default: today.Writes
log_bodyweightLog bodyweight. Logs a weigh-in in the profile's unit (see get_overview), one per day: a second one that day replaces the first. Default: today.Writes
set_nutrition_goalsSet nutrition goals. Changes the nutrition goals: mode (build, cut, keep), kcal on a rest day, extra kcal on training days, protein per kg of bodyweight, fat as % of kcal, water. Values not given stay.Writes
plan_foodPlan food. Plans food for a meal of a day (today up to 30 days ahead), items as in log_food. Planned food shows in the app's meal plan and shopping list and counts only once marked eaten (eat_planned_food or the app).Writes
eat_planned_foodMark planned food as eaten. Moves planned entries (ids from get_meal_plan) into the diary as eaten, on their planned day and meal, under the same id. One already eaten is reported, not logged twice; a day still ahead cannot be eaten yet.Writes
remove_planned_foodRemove planned food. Removes planned entries by id (from get_meal_plan); all or none. Eaten food stays.Writes
add_to_shopping_listAdd to the shopping list. Adds the user's own items to the shopping list (beside what the meal plan needs): a name and, if wanted, an amount as text ("1 kg"). At most 30 at once.Writes
log_workoutLog a workout. Adds a past workout (today or earlier): exercises by id from search_exercises (or their exact name) with their sets, weights in the profile's unit. Default start 12:00; give the routine if it followed one.Writes
create_routineCreate a routine. Adds a routine to the plan: exercises by id from search_exercises with sets, reps (or a rep range), weight in the profile's unit, seconds or minutes, and rest. set_week_schedule puts it on days.Writes
update_routineChange a routine. Renames a routine or replaces its exercises (the whole list; get_training_plan shows the current one), or changes its progression.Writes
set_week_scheduleSet the week. Replaces which routine is trained on which weekday; days left out are rest days.Writes

Privacy

What you share goes to your assistant's provider (for example Anthropic for Claude, OpenAI for ChatGPT). Muscla does not decide what they keep; their own privacy policies apply. Muscla stores which assistant you connected, what you allowed and when, and when it was last used. Access tokens are stored only as hashes. No ads, no selling of data. Muscla's numbers are self-tracked and not medical advice.

Limits

60 requests a minute and 2,000 a day per assistant; long ranges are answered in pages.

Support

support@muscla.app