# dev.anatome/anatome

Log workouts and meals by telling your AI. 873 exercises, muscle diagrams, food lookup.

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the content rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 2.6.0
- **Author:** dev.anatome
- **License:** Unknown
- **Endpoints:** streamable-http https://anatome.dev/mcp
- **Source:** https://anatome.dev
- **Endpoint health:** reachable (last checked 2026-09-25T05:25:12.378Z, 5 samples) — uptime is not a security property and is not part of the trust score
- **Compatible clients:** claude-code, cursor, copilot, chatgpt, gemini (basis: transport)

## Trust

60/100 (B), scored on the content rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: clean
- Obfuscation scan: clean
- Evidence age: 1 day

## Security scan

- **Status:** clean
- **Scanned:** 2026-09-25T05:25:12.378Z
- **Version scanned:** live
- **CVEs:** no coverage — this entry has no package coordinates to query OSV against, so "no known CVEs" is NOT asserted for it.

## Tools

36 declared. Observed from a live `tools/list` probe.
- `search_exercises` — 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 ret
- `get_exercise` — Fetch one exercise by name, id, or random.
- `resolve_exercise` — Resolve an exercise name into primary/secondary muscle layers for rendering.
- `list_muscles` — List all 23 supported muscle slugs with anatomical names.
- `generate_muscle_image` — Render an SVG diagram of the human body with muscles highlighted in arbitrary colors. Returns SVG.
- `list_routines` — 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
- `get_routine` — 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 progra
- `instantiate_routine` — Schedule the signed-in user's routine into planned workouts from start_date. Coach assignment of another user is REST-only.
- `search_foods` — Search food products by name (Open Food Facts + USDA). Returns macros per 100g.
- `lookup_barcode` — Lookup a food product by EAN/UPC barcode.
- `log_workout` — Log a workout with exercise sets (strength or cardio unified). Requires an app user context.
- `get_workouts` — List the current app user's workouts (most recent first).
- `log_meal` — Log a meal (calories + macros + optional ingredients) for the current app user.
- `get_meals` — List the current app user's meals for a date range.
- `log_water` — Log water intake (ml) for the current app user.
- `log_body_metric` — 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,
- `get_body_metrics` — 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
- `upsert_profile` — 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. `weig
- `get_profile` — Get the current app user's fitness profile (height, weight, macro + water goals, diet, active sports). Requires an app user context.
- `log_cardio` — Log a cardio activity (run/bike/swim/etc.) for the current app user. Supports duration, distance, HR, power, calories.
- `get_cardio_activities` — List the current app user's cardio activities (most recent first).
- `ai_parse_meal` — Parse free-text meal description ('2 eggs and toast with butter') into structured items with grams + macros.
- `ai_photo_macros` — 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 t
- `ai_meal_plan` — Draft a meal plan. Not medical advice. confirm:true required. Pass health constraints so the draft can honour them.
- `ai_workout_plan` — Draft a workout plan. Not medical advice. confirm:true required. Pass health constraints so the draft can honour them.
- `get_muscle_recovery` — 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 b
- `get_nutrition_daily` — 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?' to
- `get_water` — List the current app user's water intake entries for a date range. Requires X-App-User-Id.
- `update_meal` — 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.
- `delete_meal` — Delete a logged meal by id (soft delete, 30-day recovery window). Requires X-App-User-Id.
- `update_sets` — 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 an
- `delete_workout` — Delete a logged workout and its sets by id (soft delete, 30-day recovery window).
- `export_data` — 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-su
- `get_events` — 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 
- `my_training_context` — 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, o
- `get_progress` — 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 

## Install

**Verdict: review** — Installable, but 2 things to check first: No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
**Cautions** (coverage gaps and advisories — never blocking)
- No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
- No publisher has proved control of this listing; it is indexed, not vouched for.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"anatome\": {\n      \"type\": \"http\",\n      \"url\": \"https://anatome.dev/mcp\"\n    }\n  }\n}"
```

## Blast radius

Moderate to extensive — no credential declaration found, from the publisher, the upstream registry, or the README. Known so far: deletes data; runs on someone else's infrastructure.
- Floor 33, ceiling 57 (tier: unknown)
- `unknown` means the floor and ceiling land in different bands — not measured enough to name one. It does not mean low.
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/dev.anatome%2Fanatome
- Install plan: https://forgeregistry.com/api/v1/packages/dev.anatome%2Fanatome/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/dev.anatome%2Fanatome
- HTML page: https://forgeregistry.com/registry/dev.anatome%2Fanatome
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
