Personal nutrition tracking — log meals, track macros, and review history through conversation.
Connect Nutrition MCP to Claude, Cursor or any other MCP client and it stops being a tab you switch to. Personal nutrition tracking — log meals, track macros, and review history through conversation. The nutrition mcp mcp server is what makes that connection.
A remote MCP server for personal nutrition tracking — log meals with calories, macros, fiber and total sugar, log water and body weight, review nutrition history, and import an existing food diary from another app, all through conversation. Alcohol tracking is opt-in and off by default.
The toolset is worth reading before you wire it up, because it tells you what the integration is really for:
log_meal — Log a meal with description, type, calories, macros, fiber, total sugar, alcohol, notes — from text or a photo of your platestart_meal_import — Open the in-chat CSV importer: pick an export from another app, map its columns, preview, confirmbulk_import_meals — Write up to 50 imported rows per call — each row validated, duplicates skipped so a re-send is safelookup_barcode — Look up a packaged product's label nutrition by barcode via Open Food Facts (read from a photo or typed)get_meals_today — Get all meals logged todayget_meals_by_date — Get meals for a specific date (YYYY-MM-DD)get_meals_by_date_range — Get meals between two dates (inclusive)search_meals — Search past meals by keyword, grouped into recurring variations (counts, last logged, typical macros)get_nutrition_summary — Daily nutrition totals + goal progress for a date rangeupdate_meal — Update any fields of an existing mealdelete_meal — Delete a meal by IDset_nutrition_goals — Set daily calorie, macro, fiber and water targets to reach, sugar and alcohol limits to stay under, plus an optional target weightBecause this one is hosted, setup is mostly authentication — you point your client at the endpoint and approve access. Nothing runs on your machine, so there is no runtime to keep patched.
Configuration is passed through the environment: SUPABASE_SECRET_KEY, SUPABASE_URL, OAUTH_CLIENT_ID, OAUTH_CLIENT_SECRET, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Nutrition MCP's toolset — log_meal, start_meal_import, bulk_import_meals and 11 more — is a fair guide to whether it matches your workflow. It is maintained by akutishevsky; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| log_meal | Log a meal with description, type, calories, macros, fiber, total sugar, alcohol, notes — from text or a photo of your plate |
| start_meal_import | Open the in-chat CSV importer: pick an export from another app, map its columns, preview, confirm |
| bulk_import_meals | Write up to 50 imported rows per call — each row validated, duplicates skipped so a re-send is safe |
| lookup_barcode | Look up a packaged product's label nutrition by barcode via Open Food Facts (read from a photo or typed) |
| get_meals_today | Get all meals logged today |
| get_meals_by_date | Get meals for a specific date (YYYY-MM-DD) |
| get_meals_by_date_range | Get meals between two dates (inclusive) |
| search_meals | Search past meals by keyword, grouped into recurring variations (counts, last logged, typical macros) |
| get_nutrition_summary | Daily nutrition totals + goal progress for a date range |
| update_meal | Update any fields of an existing meal |
| delete_meal | Delete a meal by ID |
| set_nutrition_goals | Set daily calorie, macro, fiber and water targets to reach, sugar and alcohol limits to stay under, plus an optional target weight |
| get_nutrition_goals | Get the current daily targets and limits |
| get_goal_progress | Get intake vs. targets and limits for a given day (default: today), plus latest weight vs. target |
| Variable | Description | Required |
|---|---|---|
| SUPABASE_SECRET_KEY | Credential the server authenticates with. | Yes |
| SUPABASE_URL | Endpoint or connection string the server talks to. | Yes |
| OAUTH_CLIENT_ID | Configuration value read at startup. | Optional |
| OAUTH_CLIENT_SECRET | Credential the server authenticates with. | Yes |
| GOOGLE_CLIENT_ID | Configuration value read at startup. | Optional |
| GOOGLE_CLIENT_SECRET | Credential the server authenticates with. | Yes |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.