Wellness Nourish
@davidmosiah
About Wellness Nourish
No overview available yet
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"nourish": {
"command": "npx",
"args": [
"-y",
"wellness-nourish"
]
}
}
}Tools
46Return agent-facing install, safety, resource, and first-call guidance.
Describe supported nutrition workflows, providers, and recommended first tools.
Report local storage, fixture, USDA, and Open Food Facts readiness without returning secrets.
Personalized 3-step setup walkthrough for the human user. Adapts to current state (USDA key set? OFF enabled? local-dir writable?). Call this first when the user asks 'how do I use this?'
Returns synthetic example payloads of nourish_search_food, nourish_estimate_meal, and nourish_daily_summary so agents see the contract before any real call. Shapes are verified against the real pipelines by scripts/demo-contract-test.mjs, so they are safe to write a parser against; `inputs` shows the call that produced each sample.
Describe local storage, secret handling, source licensing, and safety boundaries.
Returns the shared Delx Wellness profile (~/.delx-wellness/profile.json). Read-only. Surfaces calorie/macro targets, dietary preferences, restrictions/allergies, and goals so nourish coach/suggest tools can personalize meals.
Persist a partial patch to the shared Delx Wellness profile. Requires explicit_user_intent: true. Rejects any field containing oauth/token/secret/password/cookie/refresh/api_key/session — the profile is for non-secret wellness context only.
Returns the 11-question onboarding flow for the shared Delx Wellness profile. Read-only. The agent should ask these questions next so wellness-nourish (and the rest of the wellness stack) can personalize responses — non-secret data only, stored at ~/.delx-wellness/profile.json.
Search food providers by query. Use taco or br_local for Brazilian staples, open_food_facts for packaged products, usda for generic foods, or all.
Lookup a packaged food barcode in Open Food Facts.
Decode a barcode from an image path, base64 image, or data URI without logging intake.
Decode a packaged-food barcode image, then lookup the product in Open Food Facts.
Fetch a USDA food by source_id, an Open Food Facts food by barcode source_id, or a TACO food by source_id.
Estimate nutrition for a short meal text using local deterministic defaults. Accepts text or meal_text; preserve unresolved and confidence.
Estimate meal nutrition from an agent-provided photo observation; always requires user confirmation before logging.
Route agent-provided food image observations across barcode, nutrition label OCR, or meal-photo estimation without logging.
Log an intake entry only after explicit user intent. Pass explicit_user_intent: true after the user asks to save/log/register; accepts text or meal_text plus structured food data.
Summarize today, goal gaps, wearable context, and a safe next action for Telegram-style coaching.
Suggest a next meal from today's intake, goals, personal memory, and optional wearable context.
Review the day after a meal log and explain what changed plus the next correction or action.
Suggest light pre-workout nutrition using goals, current intake, and optional WHOOP/Garmin context.
Check late-day protein, calories, and hydration gaps with a compact Telegram-friendly next step.
Read the most recent shared wellness_context (delx-wellness-context/v1) written by a wearable connector to ~/.delx-wellness/, so coach tools can be recovery/strain-aware without the agent passing it inline. Read-only; never fabricates wearable data. If no connector has persisted a context yet, returns available:false with the expected path. The returned context can be passed straight into nourish_daily_coach / nourish_suggest_next_meal / nourish_pre_workout_nutrition as wearable_context (or set auto_wearable:true on those tools to pull it automatically).
Save a personal meal shortcut locally after explicit user intent, for example 'meu cafe normal' -> '2 ovos e banana'.
Read local remembered meals and nutrition preferences for personal Telegram shortcuts.
Delete a local remembered meal by id or label after explicit user intent.
Update a local intake entry by id. Quantity or grams_estimate changes rescale nutrients to keep summaries consistent. Gated: requires explicit user intent — agents must not call this autonomously.
List local intake entries with optional filters: date OR since/until range, meal_type, tag, source_trace, min_confidence, limit. All filters AND together. Returns most-recent-first.
Delete a local intake entry by id. Gated: requires explicit user intent — agents must not call this autonomously.
Delete all local intake entries for a date after explicit user intent.
Delete a single local hydration entry by id after explicit user intent.
Delete all local hydration entries for a date after explicit user intent. Does not touch intake — pair with nourish_clear_day or use nourish_clear_day { include_hydration: true } for both.
Estimate the carbon footprint (kg CO2-equivalent) of a meal, plus optional lower-carbon swap suggestions. Pass `items: [{name, grams}, ...]` for an arbitrary meal, OR `date: YYYY-MM-DD` to compute carbon over that day's logged intake. Data: Agribalyse 3.1 (Etalab Open License) + Our World in Data / Poore & Nemecek 2018 (CC-BY 4.0). Read-only; never mutates state.
Undo the most recently logged intake or hydration entry. The most common Telegram/agent recovery move ('I logged the wrong thing'). Returns what was undone so the agent can confirm. Requires explicit_user_intent. Pass kind: 'intake' | 'hydration' | 'any' (default 'any') to scope the undo.
Log local hydration in milliliters after explicit user intent. Pass explicit_user_intent: true after the user asks to save/log water.
Summarize local hydration for a date.
Read local calorie, macro, and hydration goals.
Set local calorie, macro, and hydration goals after explicit user intent. Use daily: {...} or flat shortcuts like calories_kcal/protein_g; pass explicit_user_intent: true after confirmation.
Compute per-day progress vs configured goals (kcal, protein, carbs, fat, water) for today / yesterday / last_7_days / last_30_days. Returns per-day breakdown (consumed, goal, pct, delta_to_goal), period totals, multi-day averages, days_on_target count, and locale-aware next-action recommendations (pt-BR if profile language is Portuguese, otherwise en). Read-only: no logging side effects, no explicit_user_intent required.
Summarize local intake totals, confidence, and source coverage for a date. Pass `compare_to: 'yesterday'` or `compare_to: '7d_avg'` to add a `comparison` block with per-nutrient deltas — useful for trend coaching ('your protein is low again — third day in a row').
Compute a per-nutrient diff between two days' summaries. Returns deltas (date_b - date_a) for calories, protein, carbs, fat, fiber, sugar, sodium plus what changed by meal type. Useful for 'how was today vs yesterday?' coaching.
Log multiple intake entries in a single call. Requires explicit user intent (explicit_user_intent: true). Each item is processed through the same text-estimator pipeline as `nourish_log_intake`, but the entire batch shares one intent flag — perfect for Telegram users who say 'log everything I ate today: breakfast was X, lunch was Y, dinner was Z'. Returns per-item success/failure so a partial failure doesn't lose the rest.
Summarize seven days of local intake totals from a start date.
Export local intake data as JSONL or CSV without provider secrets or tokens. Defaults to the 500 most-recent rows; pass since/until to scope by date or max_rows to widen/narrow. Omitted rows are reported so you can refine instead of dumping months of history into chat (use the `wellness-nourish export` CLI for a full unbounded dump).
Open an interactive ChatGPT/MCP Apps dashboard for today's nutrition summary, safe meal estimation, and next-meal coaching. Read-only; logging still requires explicit user confirmation through existing tools.
Overview
What is Wellness Nourish?
Wellness Nourish is a local-first MCP server for nutrition search, barcode lookup, barcode photo lookup, photo-assisted meal estimation, intake logging, hydration tracking, goal setting, exports, daily and weekly summaries, personal meal memory, and coach-style nutrition workflows. It runs over stdio or Streamable HTTP, requires no OAuth, and keeps tokens on your machine.
How to use Wellness Nourish?
Install via npm and run the stdio MCP server with npm start or via CLI commands such as npx -y wellness-nourish search banana. For Streamable HTTP, run node dist/index.js --http. One‑command setup is available for Hermes (npx -y delx-wellness-hermes setup) and OpenClaw (npx -y delx-wellness-openclaw setup). Configure environment variables like FDC_API_KEY and NOURISH_OFF_ENABLED for optional providers, or use NOURISH_FIXTURE_MODE=1 to demo offline with bundled fixtures.
Key features of Wellness Nourish
- Food search via USDA FoodData Central
- Packaged‑food barcode lookup via Open Food Facts
- Local barcode image decoding with ZXing
- Photo‑assisted meal estimation (agent describes visible items)
- Local estimator with a pt‑BR/Brazilian‑food catalog
- Intake logging with preview mode (
log --preview) - Hydration and goal tracking
- Daily and weekly summaries, exports, meal memory
- Coach‑style nutrition workflows (“what should I eat now?”)
Use cases of Wellness Nourish
- AI agents helping users log meals by text or barcode
- Barcode scanning from photos (supports image paths, base64, data URIs)
- Meal photo estimation with portion confirmation
- Daily coaching and next‑meal suggestions
- Personal meal memory for repeated meals
- Hydration and goal management
FAQ from Wellness Nourish
What makes Wellness Nourish “local‑first”?
Tokens and data never leave your machine. The server runs on your local device, uses local storage for logs and goals, and does not require OAuth or hosted sync.
Does Wellness Nourish require an API key?
No. The primary food search provider (USDA FoodData Central) can be used with an optional FDC_API_KEY. Open Food Facts for barcode lookup requires enabling NOURISH_OFF_ENABLED but no key. Fixture mode (NOURISH_FIXTURE_MODE=1) works completely offline without any keys.
Can Wellness Nourish be used offline?
Yes. With NOURISH_FIXTURE_MODE=1, the server serves bundled fixture data so you can see every response shape without network access.
What transports are supported?
Supports stdio (default for MCP clients) and Streamable HTTP at POST /mcp when started with --http.
Does Wellness Nourish provide medical advice?
No. It is a conservative tracking estimator; all nutrition values are estimates and include confidence scores and warnings. It does not provide hosted sync, autonomous photo upload, recipe generation, or medical advice.
Frequently asked questions
What makes Wellness Nourish “local‑first”?
Tokens and data never leave your machine. The server runs on your local device, uses local storage for logs and goals, and does not require OAuth or hosted sync.
Does Wellness Nourish require an API key?
No. The primary food search provider (USDA FoodData Central) can be used with an optional `FDC_API_KEY`. Open Food Facts for barcode lookup requires enabling `NOURISH_OFF_ENABLED` but no key. Fixture mode (`NOURISH_FIXTURE_MODE=1`) works completely offline without any keys.
Can Wellness Nourish be used offline?
Yes. With `NOURISH_FIXTURE_MODE=1`, the server serves bundled fixture data so you can see every response shape without network access.
What transports are supported?
Supports stdio (default for MCP clients) and Streamable HTTP at `POST /mcp` when started with `--http`.
Does Wellness Nourish provide medical advice?
No. It is a conservative tracking estimator; all nutrition values are estimates and include confidence scores and warnings. It does not provide hosted sync, autonomous photo upload, recipe generation, or medical advice.
Basic information
More Other MCP servers
FastMCP v2 🚀
jlowin🚀 The fast, Pythonic way to build MCP servers and clients.
ghidraMCP
LaurieWiredMCP Server for Ghidra
Awesome Mlops
visengerA curated list of references for MLOps
MaxKB
1Panel-dev🔥 MaxKB is an open-source platform for building enterprise-grade agents. 强大易用的开源企业级智能体平台。
AutoBrowser MCP
autobrowser-aiBrowser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser
Comments