npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

wellness-nourish

v0.6.1

Published

Local-first nutrition MCP server for AI agents: food search, barcode lookup, meal photos, hydration, goals and safe intake logging.

Downloads

2,371

Readme

One-command install — pick your runtime:

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


Overview

Wellness Nourish is a local MCP server for nutrition search, barcode lookup, barcode photo lookup, photo-assisted meal estimation, intake logging, hydration, goals, exports, daily or weekly summaries, personal meal memory, and coach-style nutrition workflows. It runs over stdio by default for MCP clients and can also run a Streamable HTTP endpoint at POST /mcp.

If this nutrition layer helps your agent workflow, please star the repo. Stars make the project easier for other AI builders to discover and help Delx keep shipping local-first wellness infrastructure.

Try It In 60 Seconds

npx -y wellness-nourish doctor
npx -y wellness-nourish search banana
npx -y wellness-nourish log --preview "2 ovos, banana e café preto"

For the full Telegram/Hermes flow:

npx -y delx-wellness-hermes setup
hermes -p delx-wellness

The connector uses USDA FoodData Central as the primary food search provider. Open Food Facts is used for packaged-food barcode lookup and product-name search when enabled. Local barcode image decoding is supported with ZXing. Meal photos are estimated only from an agent-provided visual observation and always require confirmation before logging. The local estimator includes a pt-BR/Brazilian-food catalog for common meals, kitchen units, and shortcuts such as arroz, feijão, frango, ovos, banana, tapioca, picanha, feijoada and salada. It does not provide hosted sync, autonomous photo upload, recipe generation, or medical advice.

Install

npm install
npm run build

Run the MCP server over stdio:

npm start

Run Streamable HTTP locally:

node dist/index.js --http

Optional environment:

FDC_API_KEY=your_usda_key
NOURISH_OFF_ENABLED=1
NOURISH_LOCAL_DIR=~/.wellness-nourish
NOURISH_MCP_PORT=3000

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.

CLI Commands

wellness-nourish status
wellness-nourish doctor
wellness-nourish setup --client claude
wellness-nourish search banana
wellness-nourish barcode 0000000000000
wellness-nourish log --preview --meal breakfast "2 eggs and banana"
wellness-nourish log "2 eggs and banana"
wellness-nourish list 2026-05-05
wellness-nourish edit --entry intake_id --meal snack --notes "corrected"
wellness-nourish today --format markdown
wellness-nourish weekly --format markdown
wellness-nourish goals --set-calories 2200 --set-protein 120 --set-water 2500
wellness-nourish water 500 --date 2026-05-05
wellness-nourish water today --date 2026-05-05
wellness-nourish export --format csv
wellness-nourish clear-day 2026-05-05 --yes
wellness-nourish delete --entry intake_id

No arguments start the stdio MCP server. --http starts HTTP transport, --version prints the package version, and --help prints usage.

log --preview estimates without writing. Mutating MCP tools require explicit user intent; CLI commands are treated as explicit user actions, while destructive clear-day requires --yes.

The local estimator understands common lightweight portions such as g, oz, cup, tbsp, tsp, slice, piece, and serving. It still reports confidence and warnings because these are conservative tracking estimates, not lab-grade nutrition facts.

MCP Client Config Examples

Ready-to-use examples live in examples/:

  • examples/claude-desktop.json
  • examples/codex.json
  • examples/cursor.json
  • examples/windsurf.json
  • examples/hermes.md
  • examples/hermes-skill.md
  • examples/openclaw.md

Claude Desktop style:

{
  "mcpServers": {
    "nourish": {
      "command": "npx",
      "args": ["-y", "wellness-nourish"],
      "env": {
        "FDC_API_KEY": "${FDC_API_KEY}",
        "NOURISH_OFF_ENABLED": "1"
      }
    }
  }
}

Hermes / Telegram Personal Setup

For a personal Hermes server connected to your Telegram bot, let the package write the Hermes config and skill:

npx -y wellness-nourish setup --client hermes --profile david --local-dir /root/.hermes/nourish/david
npx -y wellness-nourish doctor --client hermes --json
hermes mcp test nourish

This adds a nourish MCP server block to ~/.hermes/config.yaml, installs ~/.hermes/skills/nourish-mcp/SKILL.md, and pins the npm package version. After config changes, use /reload-mcp or hermes mcp test nourish.

Hermes setup also writes ~/.hermes/scripts/nourish-mcp-wrapper.sh. The wrapper sources ~/.hermes/secrets/nourish.env when present, so FDC_API_KEY can be managed as a server-side secret without pasting it into chat or relying on a stale shell session.

Recommended Telegram flow:

  1. User says what they ate.
  2. Hermes calls nourish_estimate_meal and replies with calories, protein, confidence and warnings.
  3. For barcode photos, Hermes calls nourish_lookup_barcode_image when it has an image path, base64 image, or data URI.
  4. For mixed food photos, Hermes calls nourish_analyze_food_image with barcode observations, label OCR, detected items, or image description.
  5. For meal photos, Hermes describes visible food and portions, calls nourish_estimate_meal_photo, and asks for portion confirmation.
  6. For "what should I eat now?" questions, Hermes calls nourish_daily_coach or nourish_suggest_next_meal, optionally passing wearable context from WHOOP/Garmin/Oura.
  7. For repeated meals, Hermes can call nourish_remember_meal after explicit user intent so future phrases like "meu café normal" expand locally.
  8. User confirms saving.
  9. Hermes calls nourish_log_intake with explicit_user_intent: true.
  10. User can ask for today, weekly summaries, goals, hydration, edits, deletes or exports.

Local build:

{
  "mcpServers": {
    "nourish": {
      "command": "node",
      "args": ["/absolute/path/to/wellness-nourish/dist/index.js"],
      "env": {
        "NOURISH_LOCAL_DIR": "/absolute/path/to/.wellness-nourish"
      }
    }
  }
}

Provider Attribution

USDA FoodData Central is the primary provider for generic food search and nutrient data. USDA data is public domain or otherwise provided by USDA FoodData Central terms; keep provider attribution with derived results.

Open Food Facts barcode data is licensed under the Open Database License (ODbL). Open Food Facts metadata has share-alike obligations, so agents and downstream tools should preserve attribution and license metadata when exporting or reusing packaged-food records.

Privacy

Intake data is stored locally under ~/.wellness-nourish/intake.jsonl unless NOURISH_LOCAL_DIR is set. Hydration is stored in hydration.jsonl, and goals are stored in goals.json in the same local directory. 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 fixture mode is enabled.

Use nourish-mcp export to print the local JSONL export, nourish-mcp export --format csv for CSV, nourish-mcp delete --entry <id> to delete a specific intake entry, or nourish-mcp clear-day <date> --yes to delete all intake entries for a day.

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.

Development And Tests

npm run typecheck
npm run build
npm run smoke:http
npm run test:cli-ux
npm run test:agent-readiness
npm test

Fixture mode:

NOURISH_FIXTURE_MODE=1 NOURISH_FIXTURE_DIR=fixtures npm run test:cli-ux

Delx Wellness

Project page: https://wellness.delx.ai/nutrition

See also

The full Delx Wellness connector library:

| Provider | Package | Repo | |---|---|---| | WHOOP | whoop-mcp-unofficial | whoop-mcp | | Oura | oura-mcp-unofficial | ouramcp | | Garmin | garmin-mcp-unofficial | garminmcp | | 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 (nutrition) | wellness-nourish | wellness-nourish |

One-command setup for Hermes — preconfigures every connector above plus wellness skills + onboarding: delx-wellness-hermes.