MCP.Market

bodylog MCP server

by abhaymettu·io.github.abhaymettu/bodylog·v0.1.0·1 stars

Agent-first workout and food log: sets and meals from chat, USDA and Open Food Facts macros, cards.

B78/100grade B
What users say
No reviews yet
Be the first
Safety scan
B78/100

full report

Adoption
New

1 stars10 downloads/wk

Reviews

Write one

Nobody has reviewed bodylog yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

bodylog tools (15)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • edit_food

    Fix a logged food item by id: a new amount (grams, or amount + unit), another food (name, or food_id from lookup_food or an item's candidates), another meal, or the numbers themselves. delete=True removes it.

  • edit_last_set

    Fix the most recent set in the open workout ("that was 10 reps", "that was cable pushdowns"), or delete it.

  • end_session

    End the open workout. duration is what the user says ("1h 5m", "65 min", "1:05"); title is optional ("Push Day"). unit (kg or lb) sets the totals' unit. Returns the summary card as text and PNG images (one per page; long workouts span several) to show the user.

  • exercise_history

    Per-session history for one exercise, newest first: sets, best set, top weight, estimated 1RM, volume.

  • food_card

    Shareable card for a day of food (default today): text plus a PNG. theme: dark, light or clear; style: full (every item) or story (one phone screen). Workouts that day appear on it too.

  • food_day

    One day's food (default today, YYYY-MM-DD): items by meal, totals, goals and what is left, streaks, items not counted, and any workouts that day.

  • import_chat

    Backfill workouts from a pasted chat log (lines like "[2026-09-08 18:07] me: 60kg x 8"). Safe to repeat: time spans that already hold sets are skipped. Lists lines it could not read.

  • log_food

    Log food. Usually pass the user's words as text ("2 eggs, toast and a protein shake", "lunch: 200g chicken, 1 cup rice"); it is split into items and each is matched to USDA FoodData Central or Open Food Facts. For one item: name (or barcode, or a food_id from lookup_food) with grams, or amount + unit (cup, slice, tbsp, oz, ml...). Pass kcal/protein/carbs/fat when the user reads them off a label. m

  • log_set

    Log a set to the current workout, starting one if none is open.

  • lookup_food

    Search foods without logging: a name ("kimchi", "clif bar") or a product barcode. Returns candidates with per-100 g macros, portions and a food_id to pass to log_food or edit_food.

  • prs

    All-time records (heaviest weight, best estimated 1RM, most reps) for one exercise or all of them.

  • session_card

    Summary card (text + PNG pages) for a workout: the open one, else the latest. theme: dark, light, or clear (transparent background, a sticker for a photo); unit: kg or lb for totals (each set keeps the unit it was logged in); style: full (every set, may span pages) or story (one phone-screen image, one line per exercise).

  • set_goals

    Daily targets (kcal, grams of protein/carbs/fat). Omitted ones stay as they are; 0 clears one.

  • streaks

    Current food-logging streak in days (and the best), and training streak in weeks with a workout.

  • weekly_volume

    Training volume, workouts and sets per week (Monday start), oldest first.

Public scan report

scanner v0.1.10 · 2026-11-03 · same rubric, same numbers if you re-run it

no findings
  • Code scan15 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 41 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 78/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How bodylog compares

Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
78/100
higher than 57% of 4,460 AI and agents servers
Tools
15
the typical AI and agents server has 6
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
1
more than 50% of 2,711 AI and agents servers
Downloads a week
10
more than 2% of 1,538 AI and agents servers with a package

What its tools let an agent do: 11 read · 1 create · 3 change

Install bodylog in Claude Code, Cursor or VS Code

claude mcp add bodylog -- uvx bodylog
Add to Cursor

What the publisher says

From the bodylog repository's README, as published. We do not edit it. Read it on GitHub

bodylog

<!-- mcp-name: io.github.abhaymettu/bodylog -->

A workout and food log for personal agents. You tell your agent your sets and your meals in chat, the way you would say them out loud. It stores them, counts calories and macros from real nutrition data, keeps your streaks, and sends back shareable cards.

One package for any agent: an MCP server (bodylog-mcp), a CLI (bodylog), a Python library and a Claude skill. Everything lives in one local SQLite file. No accounts, no cloud, no social features.

More: food, light, food + training on one day (full), workout story, 8-exercise workout, two pages, mixed kg and lb, sticker for a photo.

Install

Python 3.10+.

pip install bodylog          # CLI + library + MCP server
uvx --from bodylog bodylog-mcp   # run the MCP server without installing

Claude Code, as a plugin (skill and MCP server together):

/plugin marketplace add abhaymettu/bodylog
/plugin install bodylog@bodylog

Claude Code, MCP server only:

claude mcp add bodylog -- uvx --from bodylog bodylog-mcp

Any other MCP client:

{
  "mcpServers": {
    "bodylog": {
      "command": "uvx",
      "args": ["--from", "bodylog", "bodylog-mcp"],
      "env": { "FDC_API_KEY": "optional, free at https://api.data.gov/signup/" }
    }
  }
}

Settings, all optional:

The skill is skills/bodylog/SKILL.md. Outside the plugin, copy or symlink skills/bodylog/ into your agent's skills folder.

Food

The CLI prints what the MCP tools return (bodylog eat is log_food). A real run, offline:

$ bodylog eat "2 eggs, toast and a protein shake"
#1 breakfast: 2 × egg, 100 g: 143 kcal, P 12.6 C 0.7 F 9.5
#2 breakfast: toast, 22 g: 64 kcal, P 2 C 12 F 0.9
#3 breakfast: whey protein, 26 g: 92 kcal, P 20.3 C 1.6 F 0.4
$ bodylog eat "greek yogurt with blueberries and a handful of almonds"
#4 breakfast: greek yogurt, 170 g: 100 kcal, P 17.3 C 6.1 F 0.7
#5 breakfast: blueberries, 148 g: 84 kcal, P 1.1 C 21.4 F 0.5
#6 breakfast: 1 handful almonds: not counted (no weight for a handful of almonds; give grams or one of: almond, cup, oz)
$ bodylog food-fix 6 --grams 28
#6 breakfast: 28 g almonds: 162 kcal, P 5.9 C 6 F 14

A bare count uses USDA's portion for that food: a large egg (50 g), a slice of toast, a scoop of whey (the FNDDS "1 scoop, NFS", 26 g). Through MCP, the agent asks one short question about item 6 instead of guessing.

How a food gets its numbers:

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

bodylog: common questions

Is bodylog MCP server safe?
Mostly: it is graded B (78/100). Read the bodylog safety report
How do I install bodylog?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does bodylog need an API key?
Yes. The registry entry asks for FDC_API_KEY.
Is bodylog maintained?
The last commit was 42 days ago (2026-09-23). The latest release is v0.1.0.
What can I use instead of bodylog?
Servers from other publishers that do the same job: Agent-Native Chat MCP server, Basic Memory MCP server and HOL Guard MCP server.
How does bodylog compare with other AI and agents MCP servers?
safety score 78/100 (higher than 57% of 4,460 AI and agents servers); tools 15 (the typical AI and agents server has 6); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to bodylog

Same job from other publishers: the closest match first, then the best rated.

  • Agent-Native Chat
    Minimal chat-first app with durable threads, actions, and the app-agent loop
    A
  • Basic Memory
    Local-first knowledge management with bi-directional LLM sync via Markdown files.
    B
  • HOL Guard
    Local-first AI agent security evidence and approval workflows through HOL Guard's stdio MCP server.
    A
  • Alibaba Cloud DashScope — Qwen
    Alibaba Cloud DashScope MCP: Qwen chat, embeddings, and model discovery on your own account.
    B
  • Agent Recall
    Correction-first agent memory. Precision KPI tracks if agents heed warnings. 5 layers, local-only.
    A