protogrid

Search / dev.anatome/anatome

anatome

R0· no sign-in

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

v2.6.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality88good
Trust79of 100
Uptime, 30 days97%
Latency p50792 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "anatome": {
      "type": "http",
      "url": "https://anatome.dev/mcp"
    }
  }
}
claude mcp add --transport http anatome https://anatome.dev/mcp
[mcp_servers.anatome]
url = "https://anatome.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "anatome": {
      "type": "remote",
      "url": "https://anatome.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "anatome": {
      "type": "http",
      "url": "https://anatome.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=anatome&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYW5hdG9tZS5kZXYvbWNwIn0%3D"
}
{
  "servers": {
    "anatome": {
      "type": "http",
      "url": "https://anatome.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "anatome": {
      "httpUrl": "https://anatome.dev/mcp"
    }
  }
}
extensions:
  "anatome":
    enabled: true
    name: "anatome"
    type: streamable_http
    uri: "https://anatome.dev/mcp"
    timeout: 300

Quality 88 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations36 of 36 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints16 of 36 tools declare all four hints; missing: get_routine (destructiveHint); get_body_metrics (destructiveHint); get_cardio_activities (destructiveHint); …
  • pass
    tools.token_costabout 4,700 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

36 tools, about 4,700 tokens to load them all · tool set 1be1b15f6135 · checked 2026-10-20 11:40 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 79 / 100

no-repository
provenance55
liveness99
freshness85
hygiene80

+dns-namespace +website +reachable +uptime-97% ~updated-69d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://anatome.dev/mcp streamable-httpnoneyes97%792 ms2025-06-182026-10-20

Tools (36)

ai_meal_planDraft a meal plan. Not medical advice. confirm:true required. Pass health constraints so the draft can honour them.
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_workout_planDraft a workout plan. Not medical advice. confirm:true required. Pass health constraints so the draft can honour them.
delete_mealdestructiveDelete a logged meal by id (soft delete, 30-day recovery window). Requires X-App-User-Id.
delete_workoutdestructiveDelete a logged workout and its sets by id (soft delete, 30-day recovery window).
export_dataread-onlyExport 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_imageRender an SVG diagram of the human body with muscles highlighted in arbitrary colors. Returns SVG.
get_body_metricsread-onlyList 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_activitiesread-onlyList the current app user's cardio activities (most recent first).
get_eventsread-onlyWhat 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_exerciseread-onlyFetch one exercise by name, id, or random.
get_mealsread-onlyList the current app user's meals for a date range.
get_muscle_recoveryread-onlyPer-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_dailyread-onlyPer-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_profileread-onlyGet the current app user's fitness profile (height, weight, macro + water goals, diet, active sports). Requires an app user context.
get_progressread-onlyAny 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_routineread-onlyFetch 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_waterread-onlyList the current app user's water intake entries for a date range. Requires X-App-User-Id.
get_workoutsread-onlyList the current app user's workouts (most recent first).
instantiate_routineSchedule the signed-in user's routine into planned workouts from start_date. Coach assignment of another user is REST-only.
list_musclesread-onlyList all 23 supported muscle slugs with anatomical names.
list_routinesread-onlyBrowse 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_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.
log_cardioLog a cardio activity (run/bike/swim/etc.) for the current app user. Supports duration, distance, HR, power, calories.
log_mealLog a meal (calories + macros + optional ingredients) for the current app user.
log_waterLog water intake (ml) for the current app user.
log_workoutLog a workout with exercise sets (strength or cardio unified). Requires an app user context.
lookup_barcoderead-onlyLookup a food product by EAN/UPC barcode.
my_training_contextread-onlyReturns 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_exerciseread-onlyResolve an exercise name into primary/secondary muscle layers for rendering.
search_exercisesread-onlySearch 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_foodsread-onlySearch food products by name (Open Food Facts + USDA). Returns macros per 100g.
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.
update_setsdestructiveCorrect 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_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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "dev.anatome/anatome",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://anatome.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "2.6.0",
  "websiteUrl": "https://anatome.dev",
  "description": "Log workouts and meals by telling your AI. 873 exercises, muscle diagrams, food lookup."
}