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.
@davidmosiah
基本情報
概要はまだありません
以下の設定を使って、このサーバーを MCP 対応クライアントに追加してください。
{
"mcpServers": {
"nourish": {
"command": "npx",
"args": [
"-y",
"wellness-nourish"
]
}
}
}Return 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.
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.
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.
log --preview)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.
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.
Yes. With `NOURISH_FIXTURE_MODE=1`, the server serves bundled fixture data so you can see every response shape without network access.
Supports stdio (default for MCP clients) and Streamable HTTP at `POST /mcp` when started with `--http`.
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.
🔥 MaxKB is an open-source platform for building enterprise-grade agents. 强大易用的开源企业级智能体平台。
PickFu MCP is a Model Context Protocol (MCP) server that connects AI assistants, developers, marketers, product managers, and AI agents to PickFu's consumer research platform. It enables users to create surveys, conduct
不止于 CSS

Model Context Protocol Servers
A search tool helps dev to solve the naming things problem.
コメント