Connection check
verified live · 27h ago
anatome
Log workouts and meals by telling your AI. 873 exercises, muscle diagrams, food lookup.
Tools
36
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
27h ago
Tools & capabilities
36 toolsRead from the running server on 27h ago.
ai_meal_plan
days*goalhealthconfirm*diet_typedaily_calories
Draft a meal plan. Not medical advice. confirm:true required. Pass health constraints so the draft can honour them. Draft a meal plan. Not medical advice. confirm:true required. Pass health constraints so the draft can honour them.
ai_parse_meal
text*locale
Parse free-text meal description ('2 eggs and toast with butter') into structured items with grams + macros. Parse free-text meal description ('2 eggs and toast with butter') into structured items with grams + macros.
ai_photo_macros
image_urlimage_base64
Analyze a meal image and estimate foods + macros. Pass exactly one of image_url or image_base64. Vision model, capped separately from the text AI budget (free tier 1/mo). Analyze a meal image and estimate foods + macros. Pass exactly one of image_url or image_base64. Vision model, capped separately from the text AI budget (free tier 1/mo).
ai_workout_plan
goalhealthconfirm*experiencedays_per_week*
Draft a workout plan. Not medical advice. confirm:true required. Pass health constraints so the draft can honour them. Draft a workout plan. Not medical advice. confirm:true required. Pass health constraints so the draft can honour them.
delete_meal
can modify data
meal_id*
Delete a logged meal by id (soft delete, 30-day recovery window). Requires X-App-User-Id. Delete a logged meal by id (soft delete, 30-day recovery window). Requires X-App-User-Id.
delete_workout
can modify data
workout_id*
Delete a logged workout and its sets by id (soft delete, 30-day recovery window). Delete a logged workout and its sets by id (soft delete, 30-day recovery window).
export_data
read-only
confirmdomains
Export the signed-in user's data as JSON. Pass `domains` (e.g. meals,workouts) or confirm:true for a full copy. Identity comes from the token, never a caller-supplied user id. Export the signed-in user's data as JSON. Pass `domains` (e.g. meals,workouts) or confirm:true for a full copy. Identity comes from the token, never a caller-supplied user id.
generate_muscle_image
viewgenderlayers*
Render an SVG diagram of the human body with muscles highlighted in arbitrary colors. Returns SVG. Render an SVG diagram of the human body with muscles highlighted in arbitrary colors. Returns SVG.
get_body_metrics
read-only
tofromlimitmetric_type
List the current app user's body metrics / measurements (weight, height, bicep, body fat, etc.), most recent first. Filter by metric_type (e.g. 'weight', 'bicep') and/or a date ran… List the current app user's body metrics / measurements (weight, height, bicep, body fat, etc.), most recent first. Filter by metric_type (e.g. 'weight', 'bicep') and/or a date range. Requires an app user context.
get_cardio_activities
read-only
limitdate_todate_from
List the current app user's cardio activities (most recent first). List the current app user's cardio activities (most recent first).
get_events
read-only
limitsinceentities
What changed since a cursor, including DELETES, which a list read cannot show. Returns {seq, entity, id, action}. Pass the last seq back as `since` on the next call to receive only… What changed since a cursor, including DELETES, which a list read cannot show. Returns {seq, entity, id, action}. Pass the last seq back as `since` on the next call to receive only entries after it; omit `since` for a first sync. seq is a global counter: gaps in your feed are other accounts' events, not lost data. Judge completeness from has_more, not seq.
get_exercise
read-only
idnamerandom
Fetch one exercise by name, id, or random. Fetch one exercise by name, id, or random.
get_meals
read-only
date_todate_from
List the current app user's meals for a date range. List the current app user's meals for a date range.
get_muscle_recovery
read-only
include_bodyweight
Per-muscle 7-day recovery % (Fitbod parity) — the 'what should I train today?' input. Recommends fresh muscles. Pass include_bodyweight=true to add the user's bodyweight to bodywei… Per-muscle 7-day recovery % (Fitbod parity) — the 'what should I train today?' input. Recommends fresh muscles. Pass include_bodyweight=true to add the user's bodyweight to bodyweight exercises so recovery reflects real load.
get_nutrition_daily
read-only
date_todate_from
Per-day calories, macros, fiber/sugar/sodium/alcohol, water, targets and adherence % over a date range (default: last 7 days). The 'how am I tracking today?' tool. Requires X-App-U… Per-day calories, macros, fiber/sugar/sodium/alcohol, water, targets and adherence % over a date range (default: last 7 days). The 'how am I tracking today?' tool. Requires X-App-User-Id.
get_profile
read-only
Get the current app user's fitness profile (height, weight, macro + water goals, diet, active sports). Requires an app user context. Get the current app user's fitness profile (height, weight, macro + water goals, diet, active sports). Requires an app user context.
get_progress
read-only
todaysfromsportbucketmethod
+8
Any progression metric for the current user — pick one in `metric`. training_load is acute:chronic (>1.5 ramping too fast, <0.8 detraining); muscle_recovery is per-muscle freshness… Any progression metric for the current user — pick one in `metric`. training_load is acute:chronic (>1.5 ramping too fast, <0.8 detraining); muscle_recovery is per-muscle freshness; correlate takes metric_a vs metric_b. Only completed sets count.
get_routine
read-only
slug*
Fetch a single curated routine by slug with all days + slots fully expanded (exercises, sets, reps ranges, rest, superset groupings). The 'give me a full program' tool. Fetch a single curated routine by slug with all days + slots fully expanded (exercises, sets, reps ranges, rest, superset groupings). The 'give me a full program' tool.
get_water
read-only
datedate_todate_from
List the current app user's water intake entries for a date range. Requires X-App-User-Id. List the current app user's water intake entries for a date range. Requires X-App-User-Id.
get_workouts
read-only
limitdate_todate_from
List the current app user's workouts (most recent first). List the current app user's workouts (most recent first).
instantiate_routine
routine_id*start_date*cadence_daysidempotency_key
Schedule the signed-in user's routine into planned workouts from start_date. Coach assignment of another user is REST-only. Schedule the signed-in user's routine into planned workouts from start_date. Coach assignment of another user is REST-only.
list_muscles
read-only
List all 23 supported muscle slugs with anatomical names. List all 23 supported muscle slugs with anatomical names.
list_routines
read-only
goallimitdifficultysplit_typedays_per_week
Browse the curated workout routine library (PPL, upper/lower, full-body, 5x5, etc.). Filter by difficulty, goal, split_type, days_per_week. Returns minimal list. Browse the curated workout routine library (PPL, upper/lower, full-body, 5x5, etc.). Filter by difficulty, goal, split_type, days_per_week. Returns minimal list.
log_body_metric
date*unit*notesvalue*metric_type*idempotency_key
Log a body measurement. metric_type: weight (kg), height (cm), body_fat (%), muscle_mass (kg), waist/chest/bicep/forearm/hip/thigh/calf/neck/shoulder (cm), bmi, resting_hr (bpm). L… Log a body measurement. metric_type: weight (kg), height (cm), body_fat (%), muscle_mass (kg), waist/chest/bicep/forearm/hip/thigh/calf/neck/shoulder (cm), bmi, resting_hr (bpm). Logging weight enables bodyweight-inclusive volume analytics.
log_cardio
date*notessport*titleavg_hrcalories
+3
Log a cardio activity (run/bike/swim/etc.) for the current app user. Supports duration, distance, HR, power, calories. Log a cardio activity (run/bike/swim/etc.) for the current app user. Supports duration, distance, HR, power, calories.
log_meal
date*fatsname*carbsproteincalories*
+2
Log a meal (calories + macros + optional ingredients) for the current app user. Log a meal (calories + macros + optional ingredients) for the current app user.
log_water
date*amount_ml*idempotency_key
Log water intake (ml) for the current app user. Log water intake (ml) for the current app user.
log_workout
date*setstitleprimary_sportidempotency_key
Log a workout with exercise sets (strength or cardio unified). Requires an app user context. Log a workout with exercise sets (strength or cardio unified). Requires an app user context.
lookup_barcode
read-only
barcode*
Lookup a food product by EAN/UPC barcode. Lookup a food product by EAN/UPC barcode.
my_training_context
read-only
domainsworkout_limit
Returns a slice of the signed-in user's training picture. Default domains are workouts and today's nutrition. Pass `domains` to add checkin, notes or profile, or `domains=all`. Ide… Returns a slice of the signed-in user's training picture. Default domains are workouts and today's nutrition. Pass `domains` to add checkin, notes or profile, or `domains=all`. Identity comes from the token, not a caller-supplied user id.
resolve_exercise
read-only
exercise*
Resolve an exercise name into primary/secondary muscle layers for rendering. Resolve an exercise name into primary/secondary muscle layers for rendering.
search_exercises
read-only
q*levellimitcursorfieldsmuscle
+1
Search 873 exercises by name with muscle/equipment/level filters. Rows are lean (name, ext_id, equipment, level, muscles) — enough to pick one; get_exercise returns instructions an… Search 873 exercises by name with muscle/equipment/level filters. Rows are lean (name, ext_id, equipment, level, muscles) — enough to pick one; get_exercise returns instructions and media. Paginates: pass next_cursor back as `cursor`.
search_foods
read-only
q*localepage_size
Search food products by name (Open Food Facts + USDA). Returns macros per 100g. Search food products by name (Open Food Facts + USDA). Returns macros per 100g.
update_meal
datefatsnamecarbsfibersugar
+8
Correct a previously logged meal — name, macros, nutrients, portion, date or meal_type. Pass only the fields you want to change. Requires X-App-User-Id. Correct a previously logged meal — name, macros, nutrients, portion, date or meal_type. Pass only the fields you want to change. Requires X-App-User-Id.
update_sets
can modify data
rperepsnotesdeleteweightset_ids*
+2
Correct sets already logged, by set id (log_workout returns them). Relabel the exercise, fix weight/reps/rpe, mark completed, add notes, or delete. Selection and change are separat… Correct sets already logged, by set id (log_workout returns them). Relabel the exercise, fix weight/reps/rpe, mark completed, add notes, or delete. Selection and change are separate, so a subset can be relabelled. Adding a set is log_workout, not this.
upsert_profile
goalheightweightlanguagetimezonediet_type
+11