
Wellness Nourish
io.github.davidmosiah由 GitHub 账号 davidmosiah 发布v0.7.0更新于 Oct 28, 2026
Local-first nutrition MCP for AI agents: food, barcode, photo, intake, hydration, goals.
概览
本地优先的营养 MCP 服务器,让助手搜索食物、查询条码、根据照片估算餐食,并记录摄入、饮水和目标。
- 可以做什么
- 按文字或图片搜索食物、查询条码,解码失败时给出回退提示
- 根据照片、营养标签或文字描述估算餐食,含巴西葡语餐食估算
- 记录摄入、饮水和目标,写操作需显式用户保存意图才会执行
- 生成每日与每周汇总、导出数据,并保留个人餐食记忆
- 根据目标给出下一餐建议等教练式提示
- 适用场景
- 适合希望助手在本机协助日常营养管理的场景:估算一餐、查询商品条码、维护饮食与饮水记录,或获取基于目标的建议,且无需托管账户。
- 运行要求
- 以 npm 包形式通过 stdio 在本机运行(需 Node.js,使用 npx);可选仅限回环地址的 HTTP 模式。无需 OAuth 或托管账户。除非启用离线样例模式,查询会访问 USDA FoodData Central 与 Open Food Facts。本地数据存于用户主目录下的路径,可用环境变量覆盖。
安装
在 SourceWeft 中
- 打开 控制台中的 Wellness Nourish,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Wellness Nourish
Local-first nutrition MCP — food search, barcode lookup, intake logging, hydration. Works without OAuth.
Local-first MCP server — tokens never leave your machine.
[npm version] [GitHub release] [npm downloads] [CI] [License MIT] [Site]
[GitHub stars] [Built for MCP] [Verified release index] [Hermes one-command setup] [OpenClaw one-command setup] [Nourish]
📈 Published on npm and used by AI agents and MCP clients — see the live download badge above for current numbers.
If Nourish helps your agent, a ⭐ on this repo makes it easier for other AI builders to find.
⚡ One-command install — pick your runtime:
- Delx Wellness for Hermes:
npx -y delx-wellness-hermes setup- Delx Wellness for OpenClaw:
npx -y delx-wellness-openclaw setupBoth preconfigure this connector and the full Delx Wellness stack into a dedicated profile. Or wire it standalone into Claude Desktop / Cursor / ChatGPT Desktop — see the install section below.
Want runnable agent examples? Use the Delx Wellness hub for prompt packs, MCP client configs and local-first workflow templates.
What's new in 0.7.1: Offline fixture demo works from the published npm package (fixtures shipped + path resolved from package root). 0.7.0: Brazilian TACO 4 meal estimator for pt-BR foods (cafezinho, feijão, concha, churrasco-style meals) plus Smithery install. Offline demo:
NOURISH_FIXTURE_MODE=1 npx -y [email protected] search banana. Notes: CHANGELOG.md · eval:docs/evals/pt-br-meal-estimator.json(52 cases).
Public proof: Nourish is tracked in the Delx Open Source Growth Snapshot alongside downloads, stars and next-action priorities. If this saves you setup time, star this repo so other agent builders can find the local-first nutrition path faster.
HTTP (v2 stateless)
Default is stdio. Optional Streamable HTTP — no session id, JSON responses, loopback only:
Env: NOURISH_MCP_HOST, NOURISH_MCP_PORT, NOURISH_MCP_TRANSPORT=http.
Local-first nutrition MCP for AI agents — food search, barcode lookup, photo-assisted meal estimation, intake logging, hydration, goals and coach-style workflows. No OAuth, no hosted account.
Front door
- Install one connector —
npx -y [email protected] setup --client claude - Run it in Claude · Cursor · ChatGPT · Hermes · OpenClaw — see the client examples.
- Local-first — your tokens and food logs never leave your machine (privacy).
- Which connector should I use? — see the front-door guide.
Quickstart (60 seconds)
doctor checks readiness, search/barcode hit the food providers, and log --preview estimates a meal locally without writing anything.
How you can help
Zero-secret demo (offline, no API key)
NOURISH_FIXTURE_MODE=1 serves the bundled fixtures/ instead of calling USDA or Open Food Facts, so you can see the exact shape of every response with zero network access or keys:
Try it with your agent
Three copy-paste prompts, all backed by existing tools:
- "Estimate the calories and protein in 2 eggs, a banana and black coffee." →
nourish_estimate_meal - "Look up the barcode 737628064502 and tell me what it is." →
nourish_lookup_barcode - "What should I eat next today, given my goals?" →
nourish_daily_coach/nourish_suggest_next_meal
Mutating tools (log intake, water, goals, clear-day) never run without explicit user save intent — they return USER_ACTION_REQUIRED until the agent passes explicit_user_intent: true.
Tools
Nourish exposes food search, barcode lookup (text + image), photo-assisted meal estimation, intake logging, hydration, goals, exports, daily/weekly summaries, personal meal memory, and coach-style workflows over stdio (default) or Streamable HTTP (POST /mcp).
- Full CLI (20+ commands), install, client configs & ChatGPT dashboard →
docs/cli.md - Hermes / Telegram personal setup (10-step flow) →
docs/telegram.md - Data providers & attribution (USDA, Open Food Facts, ZXing) →
docs/providers.md - pt-BR meal-estimator eval set (52 examples) →
docs/evals/pt-br-meal-estimator.json - Reproducible Telegram/Hermes demo transcript →
docs/telegram-demo-transcript.json
Food photo decision tree
Agents should route Telegram/Hermes/OpenClaw food photos by the strongest signal they can extract:
- Barcode is visible and image bytes are available: call
nourish_lookup_barcode_image. - Barcode is blurry or no product is found: ask for sharper barcode digits, or call
nourish_analyze_food_imagewithbarcode_observationplus any OCR/meal clues. - Nutrition facts are readable: OCR the label and call
nourish_analyze_food_imagewithproduct_nameandnutrition_label_text. - It is a plate or unpackaged food: describe visible foods/portions and call
nourish_analyze_food_imagewithdetected_itemsorimage_description. - Never log from an image response until the user confirms the product or meal, serving size and save intent.
Image tools accept exactly one of these input forms:
If barcode decoding fails, the response includes fallback and next_actions so the agent can ask the user for the typed digits, OCR the nutrition label, or route the photo as a meal without silently inventing a food.
The capture above is generated from a real MCP run in fixture mode with a temporary local directory:
The committed transcript proves the exact tool sequence: nourish_estimate_meal → user confirmation → nourish_log_intake → nourish_daily_summary.
Privacy & what runs offline
Intake, hydration and goals are stored locally under ~/.wellness-nourish/ (override with NOURISH_LOCAL_DIR). The connector does not require hosted accounts and does not send local intake logs to Delx Wellness. Provider lookups may contact USDA FoodData Central or Open Food Facts — unless NOURISH_FIXTURE_MODE=1 keeps everything offline against the bundled fixtures.
Agents should never ask users to paste API keys, tokens, raw health exports, or private food logs into chat — configure secrets through environment variables or local files. Full detail in docs/providers.md.
See the full agent demo →
Watch Nourish work alongside the other connectors in one reproducible run:
Anchor question: "Should I train hard today?" — the demo combines wearable recovery signals with nutrition context to answer it. This is the shared, reproducible proof for the whole Delx Wellness stack.
See also
The full Delx Wellness connector library:
One-command setup for Hermes — preconfigures every connector above plus wellness skills + onboarding: delx-wellness-hermes.
Not medical advice
Nutrition estimates are approximate and intended for personal tracking and agent workflow context. They are not diagnosis, treatment, or medical advice. Confirm important nutrition decisions with a qualified professional.
Unofficial. Not affiliated with, endorsed by, or sponsored by USDA, Open Food Facts, or any third party. All trademarks belong to their respective owners.
📧 Contact & Support
- 📨 [email protected] — general questions, integration help, partnerships
- 🤝 Code of Conduct — CODE_OF_CONDUCT.md
- 🐛 Bug reports / feature requests — GitHub Issues
- 🐦 Updates — @delx369 on X
- 🌐 Site — wellness.delx.ai
First meal in 2 minutes: docs/first-meal-2-minutes.md
Wearable context fields (no invention): docs/wearable-context-schema.md
Skill or MCP
Same package, two doors. MCP registers tools on stdio/HTTP. The skill can drive the same tools through the CLI when the client has no MCP:
Copy skill/SKILL.md into your agent skills dir.
0.9.0 — candidate (2026-11-02)
This is a release candidate, not evidence of an npm publication. Existing installations are not updated automatically.
Migration and security boundaries
- HTTP transport accepts loopback only. LAN addresses and wildcard binds are rejected; use stdio or a local loopback client instead.
- Wellness profiles are validated, limited to 256 KiB, and protected with a cooperative lock. Oversized or invalid existing profiles must be corrected before use. Symbolic links, including dangling links and legacy profile paths, are rejected. These checks do not guarantee safety against a hostile local filesystem or non-cooperating processes.
- MCP inputs have a 10,000-element budget and HTTP bodies are limited to 1 MiB; compressed request bodies are rejected. Previously accepted oversized requests may now fail; reduce request sizes rather than disabling validation.
- Dependency fixes are included. Upgrade explicitly after publication and restart the connector; old installations retain their previous behavior.
来源:README.md,提交 587a414
工具
0版本历史
1- v0.7.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分