Skip to content
Anatome logo

Anatome MCP server

Which servers in the official MCP registry are Anatome's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-21

← Back to Anatome

Whose server it is
  • Registry namedev.anatome/anatomeverified in the MCP registry

The registry name sits under anatome.dev. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-21
  • Stateanswerschecked 2026-10-21
  • Tools36
  • Server calls itselfanatome
  • Server version2.7.1
  • Protocol version2025-06-18

On 2026-10-21 the server answered initialize and tools/list without a sign-in. First answer in 807 ms.

Should an agent connect itNot proven either way yet
  • Whether its tools do the product's job has not been judged yet.
  • Checked on 2 of the 7 days it takes to judge reliability.

Once connected

  • update_meal, delete_meal, update_sets, delete_workout change data without a sign-in: anyone with the address can call them.
  • Parameters are untyped or undescribed in 30 of 36 tools: check arguments before calling.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 2, the first on 2026-10-21
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 2 so far
  • Answeredmeasuring2 of the 7 daily checks it takes to print a share
  • Median first answer916 ms
  • Space in an agent's context≈ 4,201 tokensthe definitions of all its tools (36), which an agent carries on every turn
  • Tool definitionsB · 86 of 100
  • Typed results20 of 36 toolsdeclared outputSchema: results come typed, read once
  • Parameters without a description: in 30 of 36

What an agent can do with it

  • not sure · log sets and meals within an AI assistant conversation
  • not sure · estimate macros by photographing a meal
  • not sure · suggest a dinner from photographed fridge contents

Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?

Worth a look

  • Tools that change data, on a server that answers without a sign-in: update_meal, delete_meal, update_sets, delete_workout

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (30%), doing the product's job (25%), definitions (20%), context (10%) and use (15%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers36 tools · read 2026-10-21
  • 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 returns instructions and media. Paginates: pass next_cursor back as `cursor`.

  • 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 program' tool.

  • 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, resting_hr (bpm). Logging weight enables bodyweight-inclusive volume analytics.

  • 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') and/or a date range. Requires an app user context.

  • 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. `weight` doubles as the fallback bodyweight for bodyweight-inclusive volume when no…

  • 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 tier 1/mo).

  • 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 bodyweight to bodyweight exercises so recovery reflects real load.

  • 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?' tool. Requires X-App-User-Id.

  • 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 and change are separate, so a subset can be relabelled. Adding a set is…

  • 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-supplied user id.

  • 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 call to receive only entries after it; omit `since` for a first sync. seq is a…

  • 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, or `domains=all`. Identity comes from the token, not a caller-supplied user id.

  • 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 per-muscle freshness; correlate takes metric_a vs metric_b. Only completed…

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "anatome": {
      "type": "http",
      "url": "https://anatome.dev/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http anatome https://anatome.dev/mcp

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://anatome.dev/mcp as a custom connector in the settings.

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.