accueil / serveurs / Médias / dev.anatome/anatome
dev.anatome/anatome
serveur MCP (Model Context Protocol) · anatome 2.7.1
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que dev.anatome/anatome est sûr ?
Au dernier audit MCP Hub, le serveur MCP « dev.anatome/anatome » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 36 outils
- ai_meal_plan≈ 216 tokens
Draft a meal plan. Not medical advice. confirm:true required. Pass health constraints so the draft can honour them.
Paramètres, retour & exemple (6)
Paramètresdays· number · requisgoal· string · optionnelhealth· object · optionnelconfirm· boolean · requisdiet_type· string · optionneldaily_calories· number · optionnel
Exemple d'appel{"name": "ai_meal_plan", "arguments": {"days": 1, "confirm": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ai_parse_meal≈ 106 tokens
Parse free-text meal description ('2 eggs and toast with butter') into structured items with grams + macros.
Paramètres, retour & exemple (2)
Paramètrestext· string · requislocale· string · optionnel
Exemple d'appel{"name": "ai_parse_meal", "arguments": {"text": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ai_photo_macros≈ 182 tokens
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).
Paramètres, retour & exemple (2)
Paramètresimage_url· string · optionnel
Public URL of the image. Mutually exclusive with image_base64.image_base64· string · optionnel
Base64-encoded image bytes, no data: prefix. Mutually exclusive with image_url.
Exemple d'appel{"name": "ai_photo_macros", "arguments": {"image_url": "texte", "image_base64": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ai_workout_plan≈ 214 tokens
Draft a workout plan. Not medical advice. confirm:true required. Pass health constraints so the draft can honour them.
Paramètres, retour & exemple (5)
Paramètresgoal· string · optionnelhealth· object · optionnelconfirm· boolean · requisexperience· string · optionneldays_per_week· number · requis
Exemple d'appel{"name": "ai_workout_plan", "arguments": {"confirm": true, "days_per_week": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_meal≈ 115 tokens
Delete a logged meal by id (soft delete, 30-day recovery window). Requires X-App-User-Id.
Paramètres, retour & exemple (1)
Paramètresmeal_id· string · requis
Exemple d'appel{"name": "delete_meal", "arguments": {"meal_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"deleted": "texte"}} - delete_workout≈ 116 tokens
Delete a logged workout and its sets by id (soft delete, 30-day recovery window).
Paramètres, retour & exemple (1)
Paramètresworkout_id· string · requis
Exemple d'appel{"name": "delete_workout", "arguments": {"workout_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"deleted": "texte"}} - export_data≈ 145 tokens
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.
Paramètres, retour & exemple (2)
Paramètresconfirm· boolean · optionnel
Required true for a full dump when domains is omitted.domains· string · optionnel
Comma-separated subset, e.g. 'meals,workouts'.
Exemple d'appel{"name": "export_data", "arguments": {"confirm": true, "domains": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - generate_muscle_image≈ 168 tokens
Render an SVG diagram of the human body with muscles highlighted in arbitrary colors. Returns SVG.
Paramètres, retour & exemple (3)
Paramètresview· string · optionnel · front | back | dualgender· string · optionnel · male | femalelayers· array · requis
Exemple d'appel{"name": "generate_muscle_image", "arguments": {"layers": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"svg": "texte", "format": "texte", "muscles_rendered": []}} - get_body_metrics≈ 160 tokens
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.
Paramètres, retour & exemple (4)
Paramètresto· string · optionnelfrom· string · optionnellimit· number · optionnelmetric_type· string · optionnel
Exemple d'appel{"name": "get_body_metrics", "arguments": {"to": "texte", "from": "texte", "limit": 1, "metric_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"items": []}} - get_cardio_activities≈ 120 tokens
List the current app user's cardio activities (most recent first).
Paramètres, retour & exemple (3)
Paramètreslimit· number · optionneldate_to· string · optionneldate_from· string · optionnel
Exemple d'appel{"name": "get_cardio_activities", "arguments": {"limit": 1, "date_to": "texte", "date_from": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"items": []}} - get_events≈ 205 tokens
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.
Paramètres, retour & exemple (3)
Paramètreslimit· number · optionnelsince· string · optionnel
Cursor from the previous call's last seq. Omit for a first sync.entities· string · optionnel
Optional comma-separated filter, e.g. 'workout,meal'.
Exemple d'appel{"name": "get_events", "arguments": {"limit": 1, "since": "texte", "entities": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_exercise≈ 83 tokens
Fetch one exercise by name, id, or random.
Paramètres, retour & exemple (3)
Paramètresid· string · optionnelname· string · optionnelrandom· boolean · optionnel
Exemple d'appel{"name": "get_exercise", "arguments": {"id": "texte", "name": "texte", "random": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_meals≈ 99 tokens
List the current app user's meals for a date range.
Paramètres, retour & exemple (2)
Paramètresdate_to· string · optionneldate_from· string · optionnel
Exemple d'appel{"name": "get_meals", "arguments": {"date_to": "texte", "date_from": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"items": []}} - get_muscle_recovery≈ 192 tokens
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.
Paramètres, retour & exemple (1)
Paramètresinclude_bodyweight· boolean · optionnel
If true, add the user's bodyweight to bodyweight exercises (requires a logged weight or profile.weight).
Exemple d'appel{"name": "get_muscle_recovery", "arguments": {"include_bodyweight": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"muscles": [], "window_days": 1, "threshold_volume": 1}} - get_nutrition_daily≈ 185 tokens
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.
Paramètres, retour & exemple (2)
Paramètresdate_to· string · optionnel
YYYY-MM-DD (defaults to the user's today, in their timezone)date_from· string · optionnel
YYYY-MM-DD
Exemple d'appel{"name": "get_nutrition_daily", "arguments": {"date_to": "texte", "date_from": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"to": "texte", "days": [], "from": "texte", "limits": "texte", "targets": "texte"}} - get_profile≈ 84 tokens
Get the current app user's fitness profile (height, weight, macro + water goals, diet, active sports). Requires an app user context.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_profile", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_progress≈ 444 tokens
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.
Paramètres, retour & exemple (14)
Paramètresto· string · optionnel
YYYY-MM-DDdays· number · optionnel
training_load windowfrom· string · optionnel
YYYY-MM-DDsport· string · optionnel
training_load and cardio_prsbucket· string · optionnel · day | week | monthmethod· string · optionnel
training_load: auto | power | hr | rpemetric· string · requis · prs | volume | one_rep_max | streaks | adherence | training_load | weight_trend | body_deltawindow· number · optionnel
weight_trend smoothing windowgoal_id· string · optionnel
goal_trajectoryexercise· string · optionnel
Required for prs; optional filter for volume, one_rep_max and compare_periods.group_by· string · optionnel · exercise | muscle
volume onlymetric_a· string · optionnel
correlatemetric_b· string · optionnel
correlateinclude_bodyweight· boolean · optionnel
Add the user's bodyweight to bodyweight exercises (pull-ups, dips). prs, volume and muscle_recovery.
Exemple d'appel{"name": "get_progress", "arguments": {"metric": "prs"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_routine≈ 106 tokens
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.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Exemple d'appel{"name": "get_routine", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_water≈ 96 tokens
List the current app user's water intake entries for a date range. Requires X-App-User-Id.
Paramètres, retour & exemple (3)
Paramètresdate· string · optionneldate_to· string · optionneldate_from· string · optionnel
Exemple d'appel{"name": "get_water", "arguments": {"date": "texte", "date_to": "texte", "date_from": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_workouts≈ 113 tokens
List the current app user's workouts (most recent first).
Paramètres, retour & exemple (3)
Paramètreslimit· number · optionneldate_to· string · optionneldate_from· string · optionnel
Exemple d'appel{"name": "get_workouts", "arguments": {"limit": 1, "date_to": "texte", "date_from": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"items": []}} - instantiate_routine≈ 150 tokens
Schedule the signed-in user's routine into planned workouts from start_date. Coach assignment of another user is REST-only.
Paramètres, retour & exemple (4)
Paramètresroutine_id· string · requisstart_date· string · requis
YYYY-MM-DDcadence_days· number · optionnelidempotency_key· string · optionnel
Exemple d'appel{"name": "instantiate_routine", "arguments": {"routine_id": "texte", "start_date": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_muscles≈ 66 tokens
List all 23 supported muscle slugs with anatomical names.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_muscles", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_routines≈ 190 tokens
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.
Paramètres, retour & exemple (5)
Paramètresgoal· string · optionnel · strength | hypertrophy | general | endurance | weight_losslimit· number · optionneldifficulty· string · optionnel · beginner | intermediate | advancedsplit_type· string · optionnel · full_body | upper_lower | push_pull_legs | push_pull | bro | customdays_per_week· number · optionnel
Exemple d'appel{"name": "list_routines", "arguments": {"goal": "strength", "limit": 1, "difficulty": "beginner", "split_type": "full_body", "days_per_week": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - log_body_metric≈ 223 tokens
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.
Paramètres, retour & exemple (6)
Paramètresdate· string · requisunit· string · requisnotes· string · optionnelvalue· number · requismetric_type· string · requisidempotency_key· string · optionnel
Exemple d'appel{"name": "log_body_metric", "arguments": {"date": "texte", "unit": "texte", "value": 1, "metric_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "date": "texte", "value": 1, "metric_type": "texte"}} - log_cardio≈ 218 tokens
Log a cardio activity (run/bike/swim/etc.) for the current app user. Supports duration, distance, HR, power, calories.
Paramètres, retour & exemple (9)
Paramètresdate· string · requisnotes· string · optionnelsport· string · requistitle· string · optionnelavg_hr· number · optionnelcalories· number · optionneldistance_m· number · optionnelidempotency_key· string · optionnelduration_seconds· number · optionnel
Exemple d'appel{"name": "log_cardio", "arguments": {"date": "texte", "sport": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "date": "texte", "sport": "texte", "distance_m": 1, "duration_s": 1}} - log_meal≈ 212 tokens
Log a meal (calories + macros + optional ingredients) for the current app user.
Paramètres, retour & exemple (8)
Paramètresdate· string · requisfats· number · optionnelname· string · requiscarbs· number · optionnelprotein· number · optionnelcalories· number · requismeal_type· string · optionnelidempotency_key· string · optionnel
Exemple d'appel{"name": "log_meal", "arguments": {"date": "texte", "name": "texte", "calories": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "date": "texte", "fats": 1, "name": "texte", "carbs": 1, "protein": 1, "calories": 1}} - log_water≈ 136 tokens
Log water intake (ml) for the current app user.
Paramètres, retour & exemple (3)
Paramètresdate· string · requisamount_ml· number · requisidempotency_key· string · optionnel
Exemple d'appel{"name": "log_water", "arguments": {"date": "texte", "amount_ml": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "ml": 1, "date": "texte"}} - log_workout≈ 254 tokens
Log a workout with exercise sets (strength or cardio unified). Requires an app user context.
Paramètres, retour & exemple (5)
Paramètresdate· string · requissets· array · optionneltitle· string · optionnelprimary_sport· string · optionnelidempotency_key· string · optionnel
Exemple d'appel{"name": "log_workout", "arguments": {"date": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "date": "texte", "title": "texte"}} - lookup_barcode≈ 112 tokens
Lookup a food product by EAN/UPC barcode.
Paramètres, retour & exemple (1)
Paramètresbarcode· string · requis
Exemple d'appel{"name": "lookup_barcode", "arguments": {"barcode": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"found": true, "barcode": "texte", "message": "texte"}} - my_training_context≈ 219 tokens
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.
Paramètres, retour & exemple (2)
Paramètresdomains· string · optionnel
Comma-separated subset. Accepted: workouts, nutrition, checkin, notes, profile, or 'all'. Default: workouts,nutrition.workout_limit· number · optionnel
Exemple d'appel{"name": "my_training_context", "arguments": {"domains": "texte", "workout_limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"date": "texte", "domains": "texte", "profile": "texte", "recent_notes": "texte", "latest_checkin": "texte", "nutrition_today": "texte", "recent_workouts": "texte"}} - resolve_exercise≈ 87 tokens
Resolve an exercise name into primary/secondary muscle layers for rendering.
Paramètres, retour & exemple (1)
Paramètresexercise· string · requis
Exemple d'appel{"name": "resolve_exercise", "arguments": {"exercise": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_exercises≈ 253 tokens
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`.
Paramètres, retour & exemple (7)
Paramètresq· string · requislevel· string · optionnellimit· number · optionnelcursor· string · optionnel
next_cursor from the previous response. Omit for the first page.fields· string · optionnel
Extra fields, comma-separated, or `all`.muscle· string · optionnelequipment· string · optionnel
Exemple d'appel{"name": "search_exercises", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"results": [], "next_cursor": "texte", "total_matched": 1}} - search_foods≈ 132 tokens
Search food products by name (Open Food Facts + USDA). Returns macros per 100g.
Paramètres, retour & exemple (3)
Paramètresq· string · requislocale· string · optionnelpage_size· number · optionnel
Exemple d'appel{"name": "search_foods", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "items": []}} - update_meal≈ 288 tokens
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.
Paramètres, retour & exemple (14)
Paramètresdate· string · optionnelfats· number · optionnelname· string · optionnelcarbs· number · optionnelfiber· number · optionnelsugar· number · optionnelsodium· number · optionnel
mgalcohol· number · optionnel
g of ethanolmeal_id· string · requisprotein· number · optionnelcalories· number · optionnelmeal_type· string · optionnelsaturated_fat· number · optionnelidempotency_key· string · optionnel
Exemple d'appel{"name": "update_meal", "arguments": {"meal_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "date": "texte", "fats": 1, "name": "texte", "carbs": 1, "protein": 1, "calories": 1}} - update_sets≈ 252 tokens
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.
Paramètres, retour & exemple (8)
Paramètresrpe· number · optionnelreps· number · optionnelnotes· string · optionneldelete· boolean · optionnelweight· number · optionnelset_ids· array · requisexercise· string · optionnel
Catalog name, ext_id, or the user's own words for a custom movement.completed· boolean · optionnel
Exemple d'appel{"name": "update_sets", "arguments": {"set_ids": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"deleted": 1, "missing": [], "updated": 1}} - upsert_profile≈ 348 tokens
Upsert 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.
Paramètres, retour & exemple (17)
Paramètresgoal· string · optionnelheight· number · optionnel
cmweight· number · optionnel
kglanguage· string · optionneltimezone· string · optionnel
IANA zone name, e.g. 'Europe/Warsaw'.diet_type· string · optionnelunit_system· string · optionnel · metric | imperialactive_sports· array · optionnelmeals_per_day· number · optionneldaily_fats_goal· number · optionneldaily_carbs_goal· number · optionneldaily_fiber_goal· number · optionnel
g/day to reachdaily_sugar_limit· number · optionnel
g/day to stay underdaily_calorie_goal· number · optionneldaily_protein_goal· number · optionneldaily_sodium_limit· number · optionnel
mg/day to stay underdaily_water_goal_ml· number · optionnel
Exemple d'appel{"name": "upsert_profile", "arguments": {"goal": "texte", "height": 1, "weight": 1, "language": "texte", "timezone": "texte", "diet_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».