dev.anatome/anatome
dev.anatome/anatome · v2.6.0
Log workouts and meals by telling your AI. 873 exercises, muscle diagrams, food lookup.
MCPremoteno credentialsFood & drinkSports
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 36 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
A 92/100
What it does: 36 tools · 20 read, 16 write (incl. delete/pay)
Test call list_muscles: worked (1,535 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +2
- Read/write annotations: +5
- Safe test call: +20
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://anatome.dev/mcpTools
36 tools listed at last check
search_exercisesSearch 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`.get_exerciseFetch one exercise by name, id, or random.resolve_exerciseResolve an exercise name into primary/secondary muscle layers for rendering.list_musclesList all 23 supported muscle slugs with anatomical names.generate_muscle_imageRender an SVG diagram of the human body with muscles highlighted in arbitrary colors. Returns SVG.list_routinesBrowse the curated workout routine library (PPL, upper/lower, full-body, 5x5, etc.). Filter by difficulty, goal, split_type, days_per_week. Returns minimal list.get_routineFetch 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.instantiate_routineSchedule the signed-in user's routine into planned workouts from start_date. Coach assignment of another user is REST-only.search_foodsSearch food products by name (Open Food Facts + USDA). Returns macros per 100g.lookup_barcodeLookup a food product by EAN/UPC barcode.log_workoutLog a workout with exercise sets (strength or cardio unified). Requires an app user context.get_workoutsList the current app user's workouts (most recent first).log_mealLog a meal (calories + macros + optional ingredients) for the current app user.get_mealsList the current app user's meals for a date range.log_waterLog water intake (ml) for the current app user.log_body_metricLog 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.get_body_metricsList 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.upsert_profileUpsert the current app user's fitness profile. Set `timezone` first: every daily total, streak and adherence window is bucketed by it and defaults to UTC. `weight` doubles as the fallback bodyweight for bodyweight-inclusive volume when no dated weight metric exists.get_profileGet the current app user's fitness profile (height, weight, macro + water goals, diet, active sports). Requires an app user context.log_cardioLog a cardio activity (run/bike/swim/etc.) for the current app user. Supports duration, distance, HR, power, calories.get_cardio_activitiesList the current app user's cardio activities (most recent first).ai_parse_mealParse free-text meal description ('2 eggs and toast with butter') into structured items with grams + macros.ai_photo_macrosAnalyze 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_meal_planDraft a meal plan. Not medical advice. confirm:true required. Pass health constraints so the draft can honour them.ai_workout_planDraft a workout plan. Not medical advice. confirm:true required. Pass health constraints so the draft can honour them.get_muscle_recoveryPer-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_dailyPer-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_waterList the current app user's water intake entries for a date range. Requires X-App-User-Id.update_mealCorrect 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.delete_mealDelete a logged meal by id (soft delete, 30-day recovery window). Requires X-App-User-Id.update_setsCorrect 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.delete_workoutDelete a logged workout and its sets by id (soft delete, 30-day recovery window).export_dataExport 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.get_eventsWhat 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,my_training_contextReturns 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.get_progressAny 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.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/dev.anatome/anatome)