Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.davidmosiah/wellness-nourish

NPM · WELLNESS-NOURISH · SCANNED AUG 4

Local-first nutrition MCP for AI agents: food, barcode, photo, intake, hydration, goals.

Available components

+40 this week 64 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security70
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects sharp 0.34.5, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (129 of 130), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability82
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 5256 tokens (~103/item across 51 items; 46 tools + 5 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
  • Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage76
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 28% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
  • Supports UI / widget rendering.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · wellness-nourish

# add to Claude Code
claude mcp add davidmosiah-wellness-nourish -- npx -y wellness-nourish
# add to Codex CLI
codex mcp add davidmosiah-wellness-nourish -- npx -y wellness-nourish
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "davidmosiah-wellness-nourish": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "wellness-nourish"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add davidmosiah-wellness-nourish --command npx --arg -y --arg wellness-nourish
# ~/.hermes/config.yaml
mcp_servers:
  davidmosiah-wellness-nourish:
    command: "npx"
    args: ["-y", "wellness-nourish"]
// mcp.json
{
  "mcpServers": {
    "davidmosiah-wellness-nourish": {
      "command": "npx",
      "args": [
        "-y",
        "wellness-nourish"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Aug 26 +5
    • CVE-2026-69207 affects this package: high security
    • Stability: unverified → 0.30 functional
  • 3 Aug 26 +38
    • GHSA-f88m-g3jw-g9cj affects this package: high security
    • Provenance: unverified → fail security
    • Known CVEs: unverified → fail security
    • Install scripts: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Schema quality: unverified → good functional
    • MCP protocol: unverified → pass functional
    • Maintenance: unverified → pass functional
    • Schema quality: unverified → 100 functional
    • License: unverified → pass functional
    • Tool coverage: unverified → 100 functional
    • First check of Capabilities: pass functional
    • Licence: MIT functional
  • 2 Aug 26 −3
    • Malware scan: unverified → pass security
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
    • Dependency health: unverified → partial functional
  • 1 Aug 26 +18
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 −43
    • Malware scan: pass → unverified security
    • Schema quality: 100 → unverified functional
    • Tool coverage: 100 → unverified functional
  • 30 Jul 26 +25
    • Schema quality: unverified → 100 functional
    • Tool coverage: unverified → 100 functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 28 functional
    • First check of Schema quality: unverified functional
    • First check of Schema quality: fail functional
  • 27 Jul 26 24

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Aug 2026 · Analysed npm/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Vulnerabilities 2 findings
ID CVE Severity Vector Fix available
GHSA-8j4g-w8fx-2239 CVE-2026-69207 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes
GHSA-f88m-g3jw-g9cj high yes
Dependencies 129 packages

129 packages in the resolved dependency tree · 128 deprecated · 31 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 46 exposed · ~4,896 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
nourish_after_log_review ~164

Review the day after a meal log and explain what changed plus the next correction or action.

NameTypeReqDescription
auto_wearablebooleanIf true and no wearable_context is passed inline, try to read the most recent shared wellness_context from ~/.delx-wellness/ (written by a wearable connector). The coach reports whether a context was…
datestring
focusstring
localestring
meal_typestring
recent_intake_idstring
response_formatstring
wearable_contextobject
workout_contextstring

No output schema declared.

No examples provided.

nourish_agent_manifest ~38

Return agent-facing install, safety, resource, and first-call guidance.

NameTypeReqDescription
clientstring
response_formatstring

No output schema declared.

No examples provided.

nourish_analyze_food_image ~114

Route agent-provided food image observations across barcode, nutrition label OCR, or meal-photo estimation without logging.

NameTypeReqDescription
barcodestring
barcode_observationstring
detected_barcodesarray
detected_itemsarray
image_descriptionstring
localestring
meal_typestring
nutrition_label_textstring
product_namestring
response_formatstring

No output schema declared.

No examples provided.

nourish_bulk_log_intake ~170

Log multiple intake entries in a single call. Each item is processed through the same text-estimator pipeline as `nourish_log_intake`, but the entire batch shares one explicit_user_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.

NameTypeReqDescription
explicit_user_intentbooleanPass true only after the user explicitly asked to save, log, set, or delete this personal nutrition data.
itemsarrayyesArray of meals to log atomically (1-20). Each item gets its own intake entry. The `explicit_user_intent` flag covers the entire batch.
response_formatstring

No output schema declared.

No examples provided.

nourish_capabilities ~29

Describe supported nutrition workflows, providers, and recommended first tools.

NameTypeReqDescription
response_formatstring

No output schema declared.

No examples provided.

nourish_carbon_summary ~204

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.

NameTypeReqDescription
datestringCompute carbon for all logged intake entries on this date (defaults to today in the active timezone).
include_swap_suggestionsbooleanIf true, return up to 3 lower-carbon swap suggestions for the highest-emission items in the meal.
itemsarrayCompute carbon for an explicit list of meal items. Wins over `date` when both are present.
response_formatstring

No output schema declared.

No examples provided.

nourish_chatgpt_dashboard ~89

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.

NameTypeReqDescription
datestringLocal date to summarize as YYYY-MM-DD. Defaults to today.
focusstring
localestring
response_formatstring

No output schema declared.

No examples provided.

nourish_clear_day ~93

Delete all local intake entries for a date after explicit user intent.

NameTypeReqDescription
datestringyes
explicit_user_intentbooleanPass true only after the user explicitly asked to save, log, set, or delete this personal nutrition data.
include_hydrationbooleanIf true, also clear all hydration entries for the date in addition to intake.
response_formatstring

No output schema declared.

No examples provided.

nourish_clear_hydration_day ~97

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.

NameTypeReqDescription
datestringyes
explicit_user_intentbooleanPass true only after the user explicitly asked to save, log, set, or delete this personal nutrition data.
response_formatstring

No output schema declared.

No examples provided.

nourish_compare_days ~109

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.

NameTypeReqDescription
date_astringyesFirst date (the 'baseline' to compare against).
date_bstringyesSecond date (the 'newer' / comparison date).
response_formatstring

No output schema declared.

No examples provided.

nourish_connection_status ~34

Report local storage, fixture, USDA, and Open Food Facts readiness without returning secrets.

NameTypeReqDescription
response_formatstring

No output schema declared.

No examples provided.

nourish_daily_coach ~167

Summarize today, goal gaps, wearable context, and a safe next action for Telegram-style coaching.

NameTypeReqDescription
auto_wearablebooleanIf true and no wearable_context is passed inline, try to read the most recent shared wellness_context from ~/.delx-wellness/ (written by a wearable connector). The coach reports whether a context was…
datestring
focusstring
localestring
meal_typestring
recent_intake_idstring
response_formatstring
wearable_contextobject
workout_contextstring

No output schema declared.

No examples provided.

nourish_daily_summary ~152

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').

NameTypeReqDescription
compare_tostringOptional baseline to add a `comparison` block: 'yesterday' = previous day, '7d_avg' = average of the prior 7 days. 'none' (default) skips the comparison.
datestringDate to summarize (defaults to today in active timezone).
response_formatstring

No output schema declared.

No examples provided.

nourish_decode_barcode_image ~74

Decode a barcode from an image path, base64 image, or data URI without logging intake.

NameTypeReqDescription
image_base64string
image_data_uristring
image_mime_typestring
image_pathstring
response_formatstring

No output schema declared.

No examples provided.

nourish_delete_intake ~49

Delete a local intake entry by id. Gated: requires explicit user intent — agents must not call this autonomously.

NameTypeReqDescription
idstringyes
response_formatstring

No output schema declared.

No examples provided.

nourish_delete_water ~80

Delete a single local hydration entry by id after explicit user intent.

NameTypeReqDescription
explicit_user_intentbooleanPass true only after the user explicitly asked to save, log, set, or delete this personal nutrition data.
idstringyesHydration entry id (e.g. water_<uuid>).
response_formatstring

No output schema declared.

No examples provided.

nourish_demo ~46

Returns realistic example payloads of nourish_search_food, nourish_estimate_meal, and nourish_daily_summary so agents see the contract before any real call.

NameTypeReqDescription
response_formatstring

No output schema declared.

No examples provided.

nourish_estimate_meal ~102

Estimate nutrition for a short meal text using local deterministic defaults. Accepts text or meal_text; preserve unresolved and confidence.

NameTypeReqDescription
localestring
meal_textstringAlias for text for agents that naturally call this parameter meal_text.
meal_typestring
response_formatstring
textstringMeal text to estimate, for example 'pão de queijo, café preto, banana'.

No output schema declared.

No examples provided.

nourish_estimate_meal_photo ~69

Estimate meal nutrition from an agent-provided photo observation; always requires user confirmation before logging.

NameTypeReqDescription
detected_itemsarray
image_descriptionstringyes
localestring
meal_typestring
response_formatstring

No output schema declared.

No examples provided.

nourish_evening_checkin ~165

Check late-day protein, calories, and hydration gaps with a compact Telegram-friendly next step.

NameTypeReqDescription
auto_wearablebooleanIf true and no wearable_context is passed inline, try to read the most recent shared wellness_context from ~/.delx-wellness/ (written by a wearable connector). The coach reports whether a context was…
datestring
focusstring
localestring
meal_typestring
recent_intake_idstring
response_formatstring
wearable_contextobject
workout_contextstring

No output schema declared.

No examples provided.

nourish_export_data ~218

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).

NameTypeReqDescription
export_formatstring
max_rowsintegerMax data rows to return in the response (most recent first). Defaults to 500. Omitted rows are reported as a count so the agent can refine by date or fall back to the `wellness-nourish export` CLI fo…
response_formatstring
sincestringOnly include entries on or after this date (inclusive, YYYY-MM-DD). Use to keep the response small instead of dumping months of history into chat.
untilstringOnly include entries on or before this date (inclusive, YYYY-MM-DD).

No output schema declared.

No examples provided.

nourish_forget_memory ~72

Delete a local remembered meal by id or label after explicit user intent.

NameTypeReqDescription
explicit_user_intentbooleanPass true only after the user explicitly asked to save, log, set, or delete this personal nutrition data.
id_or_labelstringyes
response_formatstring

No output schema declared.

No examples provided.

nourish_get_food ~59

Fetch a USDA food by source_id, an Open Food Facts food by barcode source_id, or a TACO food by source_id.

NameTypeReqDescription
response_formatstring
sourcestringyes
source_idstringyes

No output schema declared.

No examples provided.

nourish_get_goals ~28

Read local calorie, macro, and hydration goals.

NameTypeReqDescription
response_formatstring

No output schema declared.

No examples provided.

nourish_goal_progress ~148

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.

NameTypeReqDescription
periodstringWindow to evaluate: today (default), yesterday, last_7_days, or last_30_days. All bucketed in the active timezone.
response_formatstring

No output schema declared.

No examples provided.

nourish_hydration_summary ~35

Summarize local hydration for a date.

NameTypeReqDescription
datestring
response_formatstring

No output schema declared.

No examples provided.

nourish_list_intake ~204

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.

NameTypeReqDescription
datestringSingle-day filter. Mutually exclusive with since/until.
limitintegerMax entries to return (most recent first). Defaults to all matching.
meal_typestringFilter to a single meal type.
min_confidencenumberOnly return entries whose confidence is >= this value (e.g. 0.7).
response_formatstring
sincestringStart of date range (inclusive). Use with `until` for multi-day queries.
source_tracestringFilter by how the entry was created.
tagstringFilter to entries that have this tag (case-sensitive).
untilstringEnd of date range (inclusive).

No output schema declared.

No examples provided.

nourish_list_memory ~29

Read local remembered meals and nutrition preferences for personal Telegram shortcuts.

NameTypeReqDescription
response_formatstring

No output schema declared.

No examples provided.

nourish_log_intake ~217

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.

NameTypeReqDescription
confidencenumber
custom_foodobject
explicit_user_intentbooleanPass true only after the user explicitly asked to save, log, set, or delete this personal nutrition data.
food
food_refobject
grams_estimatenumber
meal_textstringAlias for text; use when the agent planned a meal_text argument.
meal_typestring
notesstring
nutrientsobject
quantitynumber
response_formatstring
tagsarray
textstringMeal text to estimate and log after confirmation.
timestampstring
unitstring
wellness_context_refsarray

No output schema declared.

No examples provided.

nourish_log_water ~118

Log local hydration in milliliters after explicit user intent. Pass explicit_user_intent: true after the user asks to save/log water.

NameTypeReqDescription
amount_mlnumberyesWater amount in milliliters. Must be greater than 0.
datestring
explicit_user_intentbooleanPass true only after the user explicitly asked to save, log, set, or delete this personal nutrition data.
notesstring
response_formatstring
timestampstring

No output schema declared.

No examples provided.

nourish_lookup_barcode ~46

Lookup a packaged food barcode in Open Food Facts.

NameTypeReqDescription
barcodestringyesNumeric packaged-food barcode with 6 to 18 digits.
response_formatstring

No output schema declared.

No examples provided.

nourish_lookup_barcode_image ~71

Decode a packaged-food barcode image, then lookup the product in Open Food Facts.

NameTypeReqDescription
image_base64string
image_data_uristring
image_mime_typestring
image_pathstring
response_formatstring

No output schema declared.

No examples provided.

nourish_onboarding ~83

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.

NameTypeReqDescription
localestring
response_formatstring

No output schema declared.

No examples provided.

nourish_pre_workout_nutrition ~170

Suggest light pre-workout nutrition using goals, current intake, and optional WHOOP/Garmin context.

NameTypeReqDescription
auto_wearablebooleanIf true and no wearable_context is passed inline, try to read the most recent shared wellness_context from ~/.delx-wellness/ (written by a wearable connector). The coach reports whether a context was…
datestring
focusstring
localestring
meal_typestring
recent_intake_idstring
response_formatstring
wearable_contextobject
workout_contextstring

No output schema declared.

No examples provided.

nourish_privacy_audit ~33

Describe local storage, secret handling, source licensing, and safety boundaries.

NameTypeReqDescription
response_formatstring

No output schema declared.

No examples provided.

nourish_profile_get ~64

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.

NameTypeReqDescription
response_formatstring

No output schema declared.

No examples provided.

nourish_profile_update ~128

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.

NameTypeReqDescription
explicit_user_intentbooleanPass true only after the user explicitly asked to save, log, set, or delete this personal nutrition data.
patchobjectyesPartial WellnessProfileDocument patch. Top-level keys: profile, goals, devices, training, nutrition, preferences, safety, notes.
response_formatstring

No output schema declared.

No examples provided.

nourish_pull_wearable_context ~138

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).

NameTypeReqDescription
response_formatstring

No output schema declared.

No examples provided.

nourish_quickstart ~63

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?'

NameTypeReqDescription
response_formatstring

No output schema declared.

No examples provided.

nourish_remember_meal ~146

Save a personal meal shortcut locally after explicit user intent, for example 'meu cafe normal' -> '2 ovos e banana'.

NameTypeReqDescription
aliasesarray
default_meal_typestring
explicit_user_intentbooleanPass true only after the user explicitly asked to save, log, set, or delete this personal nutrition data.
labelstringyesPersonal shortcut, for example 'meu cafe normal'.
meal_textstringyesCanonical meal text that Nourish should estimate when this shortcut is used.
notesstring
response_formatstring
tagsarray

No output schema declared.

No examples provided.

nourish_search_food ~70

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.

NameTypeReqDescription
limitinteger
providerstring
querystringyes
response_formatstring

No output schema declared.

No examples provided.

nourish_set_goals ~225

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.

NameTypeReqDescription
calories_kcalnumberFlat shortcut for daily.calories_kcal.
carbohydrates_gnumberFlat shortcut for daily.carbohydrates_g.
dailyobjectNested daily nutrient goals, for example { calories_kcal, protein_g, carbohydrates_g, fat_g }.
explicit_user_intentbooleanPass true only after the user explicitly asked to save, log, set, or delete this personal nutrition data.
fat_gnumberFlat shortcut for daily.fat_g.
fiber_gnumberFlat shortcut for daily.fiber_g.
hydration_mlnumberDaily hydration target in milliliters.
protein_gnumberFlat shortcut for daily.protein_g.
response_formatstring
sugar_gnumberFlat shortcut for daily.sugar_g.

No output schema declared.

No examples provided.

nourish_suggest_next_meal ~166

Suggest a next meal from today's intake, goals, personal memory, and optional wearable context.

NameTypeReqDescription
auto_wearablebooleanIf true and no wearable_context is passed inline, try to read the most recent shared wellness_context from ~/.delx-wellness/ (written by a wearable connector). The coach reports whether a context was…
datestring
focusstring
localestring
meal_typestring
recent_intake_idstring
response_formatstring
wearable_contextobject
workout_contextstring

No output schema declared.

No examples provided.

nourish_undo_last ~165

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.

NameTypeReqDescription
explicit_user_intentbooleanPass true only after the user explicitly asked to save, log, set, or delete this personal nutrition data.
kindstringWhich most-recent entry to undo: 'intake' = last logged meal, 'hydration' = last logged water, 'any' = whichever was most recent across both stores. Defaults to 'any'.
response_formatstring

No output schema declared.

No examples provided.

nourish_update_intake ~115

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.

NameTypeReqDescription
grams_estimatenumber
idstringyes
meal_typestring
notesstring
quantitynumber
response_formatstring
tagsarray
timestampstring
unitstring

No output schema declared.

No examples provided.

nourish_weekly_summary ~40

Summarize seven days of local intake totals from a start date.

NameTypeReqDescription
response_formatstring
start_datestring

No output schema declared.

No examples provided.