关于 Wellness Nourish
Wellness Nourish 是面向 AI Agent 和 MCP 客户端的本地优先营养 MCP 服务,提供食物查询、膳食估算与记录等功能。数据保存在本机,并支持离线演示。
主要功能
- 01食物搜索与条码查询
- 02照片辅助膳食估算
- 03摄入量与饮水记录
- 04目标、摘要与饮食建议
- 05本地存储及离线演示
适用场景
- 01按名称或条码查询食品营养
- 02根据食物照片估算膳食
- 03记录每日饮食和饮水
- 04结合目标查看每日摘要
MCP 相关
通过 stdio 或无状态 Streamable HTTP 向 MCP 客户端提供营养工具。记录、饮水和目标等修改操作需要明确的用户保存意图。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
46收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| client | enum | 否 | claude | codex | cursor | windsurf | hermes | openclaw | generic |
| response_format | enum | 否 | json | markdown |
详细介绍
Wellness Nourish
本地优先的营养 MCP — 食物搜索、条码查询、摄入记录、饮水记录。无需 OAuth 即可使用。
本地优先的 MCP 服务 — 令牌绝不会离开你的设备。
📈 已发布到 npm,供 AI Agent 和 MCP 客户端使用 — 当前数据请查看上方的下载徽章。
如果 Nourish 对你的 Agent 有帮助,请在此代码库点个 ⭐,让其他 AI 开发者更容易发现它。
0.7.1 新增内容: 离线样例演示可通过已发布的 npm 包运行(随包提供样例 + 从包根目录解析路径)。0.7.0: 面向巴西葡萄牙语食物的 Brazilian TACO 4 餐食估算器(支持 cafezinho、feijão、concha、churrasco 风格餐食),以及 Smithery 安装方式。离线演示:
NOURISH_FIXTURE_MODE=1 npx -y wellness-nourish search banana。说明:CHANGELOG.md · 评估:docs/evals/pt-br-meal-estimator.json(52 个案例)。
公开成果: Nourish 与下载量、星标数和后续行动优先级一同收录在 Delx 开源增长快照中。如果它为你节省了配置时间,请为此仓库点亮星标,让其他 Agent 构建者更快找到本地优先的营养方案。
HTTP(v2 无状态)
默认使用 stdio。可选的 Streamable HTTP — 无会话 ID,返回 JSON,仅限回环地址:
npx -y wellness-nourish --http
# GET http://127.0.0.1:3000/health
# POST http://127.0.0.1:3000/mcp (sessionless)
环境变量:NOURISH_MCP_HOST、NOURISH_MCP_PORT、NOURISH_MCP_TRANSPORT=http。
面向 AI Agent 的本地优先营养 MCP — 食物搜索、条形码查询、照片辅助餐食估算、摄入记录、饮水、目标设置和教练式工作流。无需 OAuth,也无需托管账户。
入门入口
- 安装一个连接器 —
npx -y wellness-nourish setup --client claude - 运行于 Claude · Cursor · ChatGPT · Hermes · OpenClaw — 请参阅客户端示例。
- 本地优先 — 你的令牌和食物日志不会离开你的设备(隐私)。
- 该使用哪个连接器? — 请参阅入门指南。
快速入门(60 秒)
npx -y [email protected] doctor
npx -y [email protected] search banana
npx -y [email protected] barcode 0000000000000
npx -y [email protected] log --preview "2 ovos, banana e café preto"
doctor 会检查就绪状态,search/barcode 会调用食物数据提供方,而 log --preview 会在本地估算餐食,不会写入任何内容。
如何提供帮助
| 操作 | 链接 |
|---|---|
| 如果觉得有用,请点亮星标 | 星标者 |
| 文档新手友好问题 — 2 分钟记录第一餐 | #25 |
| 提交实际错误 / pt-BR 食物遗漏 | 问题 |
| 完整的健康中心 | delx-wellness |
零密钥演示(离线,无需 API 密钥)
NOURISH_FIXTURE_MODE=1 会使用捆绑的 fixtures/,而不是调用 USDA 或 Open Food Facts,因此无需网络访问或密钥,就能查看每种响应的确切结构:
$ NOURISH_FIXTURE_MODE=1 wellness-nourish search banana
Bananas, raw usda 89 kcal/100g
BANANA usda 312 kcal/100g
与你的 Agent 一起试用
以下三个提示词可直接复制粘贴,均由现有工具支持:
- “估算 2 个鸡蛋、一根香蕉和黑咖啡的热量与蛋白质含量。” →
nourish_estimate_meal - “查询条形码 737628064502,告诉我这是什么。” →
nourish_lookup_barcode - “根据我的目标,我今天接下来该吃什么?” →
nourish_daily_coach/nourish_suggest_next_meal
修改数据的工具(记录摄入、饮水、目标、清空当天数据)在用户明确表示要保存之前绝不会运行 — 在 Agent 传入 explicit_user_intent: true 之前,它们会返回 USER_ACTION_REQUIRED。
工具
Nourish 通过 stdio(默认)或 Streamable HTTP(POST /mcp)提供食物搜索、条形码查询(文本 + 图片)、照片辅助餐食估算、摄入记录、补水、目标、导出、每日/每周摘要、个人餐食记忆以及教练式工作流。
- 完整 CLI(20+ 条命令)、安装、客户端配置和 ChatGPT 仪表板 →
docs/cli.md - Hermes / Telegram 个人设置(10 步流程) →
docs/telegram.md - 数据提供方和归属说明(USDA、Open Food Facts、ZXing) →
docs/providers.md - pt-BR 餐食估算评估集(52 个示例) →
docs/evals/pt-br-meal-estimator.json - 可复现的 Telegram/Hermes 演示记录 →
docs/telegram-demo-transcript.json
食物照片决策树
Agent 应根据提取到的最强信号,为 Telegram/Hermes/OpenClaw 食物照片选择处理方式:
- 条形码清晰可见,且可以获取图像字节:调用
nourish_lookup_barcode_image。 - 条形码模糊或未找到产品:请用户提供更清晰的条形码数字,或调用
nourish_analyze_food_image,并提供barcode_observation以及任何 OCR/餐食线索。 - 营养成分表清晰可读:对标签进行 OCR,并调用
nourish_analyze_food_image,提供product_name和nutrition_label_text。 - 图片中是盘装或未包装的食物:描述可见食物/份量,并调用
nourish_analyze_food_image,提供detected_items或image_description。 - 在用户确认产品或餐食、份量和保存意图之前,切勿根据图像响应记录摄入。
图像工具仅接受以下输入形式之一:
{ "image_path": "/tmp/telegram-food-photo.jpg" }
{ "image_base64": "<base64 image bytes>", "image_mime_type": "image/jpeg" }
{ "image_data_uri": "data:image/jpeg;base64,<base64 image bytes>" }
如果条形码解码失败,响应会包含 fallback 和 next_actions,以便 Agent 请用户输入数字、对营养标签进行 OCR,或将照片作为餐食处理,而不会在用户不知情的情况下编造食物信息。
上方截图是在 fixture 模式下,通过真实 MCP 运行并使用临时本地目录生成的:
npm run demo:capture
提交的记录证明了准确的工具调用顺序:nourish_estimate_meal → 用户确认 → nourish_log_intake → nourish_daily_summary。
隐私与离线运行的内容
摄入、补水和目标数据会存储在本地 ~/.wellness-nourish/ 下(可通过 NOURISH_LOCAL_DIR 覆盖)。此连接器不需要托管账户,也不会将本地摄入记录发送给 Delx Wellness。查询数据提供方时可能会访问 USDA FoodData Central 或 Open Food Facts;除非设置 NOURISH_FIXTURE_MODE=1,此时所有操作都会使用随附的 fixtures 离线运行。
Agent 绝不应要求用户在聊天中粘贴 API 密钥、令牌、原始健康数据导出文件或私人饮食记录——请通过环境变量或本地文件配置密钥。详情请参阅 docs/providers.md。
查看完整的 Agent 演示 →
观看 Nourish 在一次可复现运行中与其他连接器协同工作:
npx -y delx-living-body demo
核心问题:“我今天应该进行高强度训练吗?”——该演示结合可穿戴设备的恢复信号和营养信息来回答。它是整个 Delx Wellness 技术栈的共享、可复现验证。
另请参阅
完整的 Delx Wellness 连接器库:
| 提供商 | 软件包 | 仓库 |
|---|---|---|
| WHOOP | whoop-mcp-unofficial | whoop-mcp |
| Oura | oura-mcp-unofficial | ouramcp |
| Garmin | garmin-mcp-unofficial | garmin-mcp |
| Strava | strava-mcp-unofficial | strava-mcp |
| Fitbit | fitbit-mcp-unofficial | fitbitmcp |
| Google Health | google-health-mcp-unofficial | google-health-mcp |
| Withings | withings-mcp-unofficial | withingsmcp |
| Apple Health | apple-health-mcp-unofficial | apple-health-mcp |
| Samsung Health | samsung-health-mcp-unofficial | samsung-health-mcp |
| Polar | polar-mcp-unofficial | polarmcp |
| Nourish(营养) | wellness-nourish | wellness-nourish |
Hermes 一键设置——预配置以上所有连接器,以及 wellness 技能和入门引导:delx-wellness-hermes。
非医疗建议
营养估算仅供参考,适用于个人记录和 Agent 工作流场景。它们不构成诊断、治疗或医疗建议。请向合格的专业人士确认重要的营养决策。
非官方。 与 USDA、Open Food Facts 或任何第三方均无关联,也未获其认可或赞助。所有商标均归其各自所有者所有。
📧 联系与支持
- 📨 [email protected] — 一般问题、集成帮助、合作事宜
- 🤝 行为准则 — CODE_OF_CONDUCT.md
- 🐛 错误报告 / 功能请求 — GitHub Issues
- 🐦 动态 — X 上的 @delx369
- 🌐 网站 — wellness.delx.ai
2 分钟记录第一餐: docs/first-meal-2-minutes.md
穿戴设备上下文数据字段(不编造): docs/wearable-context-schema.md
技能或 MCP
同一个软件包,两种使用方式。MCP 通过 stdio/HTTP 注册工具。技能 可在客户端不支持 MCP 时,通过 CLI 调用相同的工具:
npx -y wellness-nourish call nourish_connection_status --json '{}'
将 skill/SKILL.md 复制到你的 Agent 技能目录中。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。