Skip to content

About

Turn Hermes into a local-first wellness agent with guided setup, onboarding, wellness skills and MCP connector presets.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

21 stars

Watchers

0 watching

Forks

Repository files navigation

Delx Wellness for Hermes

Delx Wellness for Hermes β€” One-command local-first wellness profile pack

Turn Hermes into your personal wellness agent in one command.
WHOOP Β· Oura Β· Garmin Β· Strava Β· Fitbit Β· Google Health Β· Withings Β· Apple Health Β· Samsung Health Β· Polar Β· Nutrition β€” all local, all read-only.

npm version npm downloads License MIT Site

Connector registry Built for MCP Runs on Hermes GitHub stars

What is this? A one-command installer and daily wellness operator that wires 15 wellness MCP connectors + a recovery-aware SOUL.md + onboarding + skills into a dedicated Hermes profile. No fork, no hosted vault, no token leaves your machine.

🎯 Agent-readiness audited β€” the wearable connectors score 90–97/100 on mcp-scorecard's 10 checks. See the scored registry.

Delx Wellness Hermes profile workflow demo


⚑ Quick Start

If Hermes is already installed:

npx -y delx-wellness-hermes setup
hermes -p delx-wellness -z "$(npx -y delx-wellness-hermes operator --prompt-only)"

That's it. The installer creates ~/.hermes/profiles/delx-wellness, installs the wellness skills, wires the 11 default connectors (the other 4 opt-in providers are one flag away β€” see Demo), runs a smoke test against Nourish (no OAuth required), and prints the next commands for model setup and per-provider auth.

If this profile does not have a model configured yet:

hermes -p delx-wellness model
npx -y delx-wellness-hermes doctor --profile delx-wellness --run-hermes --test-chat

If you are new to Hermes, install Hermes first:

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash -s -- --skip-setup
npx -y delx-wellness-hermes setup
hermes -p delx-wellness -z "$(npx -y delx-wellness-hermes operator --prompt-only)"

🎬 Demo

setup wires the 11 default connectors out of the box. The 4 opt-in providers (Eight Sleep, Wellness Air, Cycle Coach, CGM) are off by default β€” pass --connectors to wire all 15 catalogued presets in one command. Real captured output (paths shortened to ~):

$ npx -y delx-wellness-hermes setup \
    --connectors whoop,garmin,oura,strava,fitbit,google_health,withings,apple_health,samsung_health,polar,eight_sleep,nourish,wellness_air,wellness_cycle_coach,wellness_cgm

Delx Wellness for Hermes setup

Profile: delx-wellness
Path: ~/.hermes/profiles/delx-wellness

Installed:
- ~/.hermes/profiles/delx-wellness/config.yaml
- ~/.hermes/profiles/delx-wellness/wellness-profile.json
- ~/.hermes/profiles/delx-wellness/skills/delx-wellness
- ~/.hermes/profiles/delx-wellness/SOUL.md
- ~/.hermes/profiles/delx-wellness/AGENTS.md
- ~/.hermes/profiles/delx-wellness/ONBOARDING.md

Checks:
- ok profile_home: Hermes profile home exists at ~/.hermes/profiles/delx-wellness
- ok soul: SOUL.md is installed
- ok onboarding: ONBOARDING.md is installed
- ok wellness_profile: wellness-profile.json is installed
- ok config: config.yaml is readable
- ok skills_external_dir: Delx Wellness skills directory is registered
- ok mcp_connectors: Configured custom MCP connectors: whoop, garmin, oura, strava, fitbit, google_health, withings, apple_health, samsung_health, polar, eight_sleep, nourish, wellness_air, wellness_cycle_coach, wellness_cgm

Onboarding:
- 4 required questions
- 11 total context prompts

Next steps:
- Install Hermes from https://github.com/NousResearch/hermes-agent.
- Then run: npx -y delx-wellness-hermes doctor --profile delx-wellness --run-hermes
- Start Hermes with: hermes -p delx-wellness

With Hermes already installed, setup also runs the profile/connector checks and prints the model + chat verification commands instead.

That run writes 15 MCP server entries into ~/.hermes/profiles/delx-wellness/config.yaml, each as a local npx -y <connector-package> command β€” nothing hosted, no token in the config:

mcp_servers:
  whoop:
    command: npx
    args: [-y, whoop-mcp-unofficial]
  garmin:
    command: npx
    args: [-y, garmin-mcp-unofficial]
  # … oura, strava, fitbit, google_health, withings, apple_health,
  #    samsung_health, polar, eight_sleep, wellness_air,
  #    wellness_cycle_coach, wellness_cgm …
  nourish:
    command: npx
    args: [-y, wellness-nourish]

Preview any selection without writing via --dry-run. Prefer a minimal install? --connector-mode lite wires just Garmin + Nourish.

Sanitized expected dry-run shape (pins + connector catalog, no secrets): docs/setup-transcript.md.


🎯 Why use it

  • πŸš€ One profile, not ten configs. Stop wiring connectors by hand β€” one command sets up the whole stack in a Hermes profile.
  • 🧭 Daily operator included. Run one command for a recovery, nutrition and missing-setup plan that starts with available local data.
  • πŸ’¬ Built for daily use. Real on Hermes terminal, Telegram and other MCP clients β€” not a one-off demo.
  • πŸ₯— Works immediately. Nourish (local nutrition) is wired without OAuth, so you can chat about food the moment setup finishes.
  • 15 connector presets ready. WHOOP, Garmin, Oura, Strava, Fitbit, Google Health, Withings, Apple Health, Samsung Health, Polar, Eight Sleep, Nourish, Air, Cycle Coach and CGM presets included.
  • 🧠 Onboarding-aware. The agent gets your goals, schedule, equipment, dietary restrictions and conservative-decision rules before it gives advice.
  • πŸ”’ Local-first credentials. Each provider's tokens live inside its own connector's local setup β€” nothing routed through a hosted vault.

πŸ—οΈ How it fits together

flowchart LR
    User[πŸ‘€ You]
    H[Hermes CLI<br/>or Telegram bridge]

    subgraph Profile[" delx-wellness profile (~/.hermes/profiles/delx-wellness) "]
      direction TB
      SOUL[SOUL.md<br/>Recovery-aware operating model]
      AGENTS[AGENTS.md]
      ONB[ONBOARDING.md]
      SK[Skills:<br/>onboarding Β· daily-brief<br/>training Β· sleep Β· nutrition]
    end

    subgraph MCP[" Local MCP presets "]
      direction TB
      W[whoop-mcp]
      O[oura-mcp]
      G[garmin-mcp]
      S[strava-mcp]
      F[fitbit-mcp]
      GH[google-health-mcp]
      Wi[withings-mcp]
      AH[apple-health-mcp]
      SH[samsung-health-mcp]
      P[polar-mcp]
      N[nourish 🟒]
    end

    User --> H
    H --> Profile
    Profile --> MCP
    MCP --> Providers[(Provider APIs<br/>or local files)]

    style Profile fill:#0F172A,stroke:#10B981,color:#fff
    style MCP fill:#0F172A,stroke:#0EA5A3,color:#fff
    style H fill:#0F172A,stroke:#7C3AED,color:#fff
Loading

One profile Β· 15 presets, 11 wired by default Β· zero hosted vault. Nourish works immediately; OAuth providers are one auth command away, and export connectors need a local file path.


πŸ”§ What setup does

setup is the guided path. It:

  • creates or updates ~/.hermes/profiles/delx-wellness
  • installs SOUL.md, AGENTS.md and ONBOARDING.md
  • installs DAILY_OPERATOR.md with the copyable daily operator prompt
  • installs Delx Wellness skills for onboarding Β· daily brief Β· daily operator Β· training Β· sleep Β· nutrition Β· setup
  • writes local MCP presets for WHOOP, Garmin, Oura, Strava, Fitbit, Google Health, Withings, Apple Health, Samsung Health, Polar and Nourish
  • runs Hermes profile checks when hermes is available
  • smoke-tests nourish through Hermes (it does not require OAuth)
  • prints the next commands for model setup, chat verification and connector auth

Preview before writing:

npx -y delx-wellness-hermes setup --dry-run

Preview the operator prompt:

npx -y delx-wellness-hermes operator
npx -y delx-wellness-hermes operator --prompt-only

Copy DAILY_OPERATOR.md into the active profile without running setup again:

npx -y delx-wellness-hermes operator --write

Personal Recado cron assets

For a personal Hermes cron that sends one daily Telegram note from WHOOP + Nourish, use the versioned templates:

  • templates/recado_context.py reads the local WHOOP digest plus recent Nourish intake.jsonl entries and prints a read-only context block.
  • templates/recado_prompt.txt keeps the Telegram answer short, causal and explicit about missing food data.

Useful runtime overrides:

RECADO_USER_NAME=David \
RECADO_NOURISH_PROFILE=david \
RECADO_LOCAL_TZ=America/Fortaleza \
RECADO_FOOD_LOOKBACK_DAYS=2 \
python3 ~/.hermes/scripts/recado_context.py

Skip the Nourish smoke test:

npx -y delx-wellness-hermes setup --skip-smoke

πŸ› οΈ Manual flow

Use the manual commands when you want to inspect each step:

npx -y delx-wellness-hermes install    --profile delx-wellness --dry-run
npx -y delx-wellness-hermes install    --profile delx-wellness --write
npx -y delx-wellness-hermes onboarding --profile delx-wellness --write
npx -y delx-wellness-hermes doctor     --profile delx-wellness --run-hermes

βœ… Validate MCP and chat

MCP-only checks verify profile files, skills and connector presets:

npx -y delx-wellness-hermes doctor --profile delx-wellness --run-hermes
hermes -p delx-wellness mcp list
hermes -p delx-wellness mcp test nourish

Full chat readiness requires a model/provider configured for the profile:

hermes -p delx-wellness model
npx -y delx-wellness-hermes doctor --profile delx-wellness --run-hermes --test-chat

--test-chat makes a short Hermes model call, so it may use provider quota. MCP-only checks do not require model access.


πŸ“‹ Onboarding worksheet

The onboarding worksheet gives the agent the context a real wellness product should ask for β€” before it recommends training, sleep, recovery or nutrition decisions:

Category What gets captured
Locale Language Β· timezone Β· units
Body Optional age Β· height Β· weight Β· gender context
Goals Primary goal Β· secondary goals
Devices Connected wearables and apps
Training Schedule Β· sports Β· upcoming events Β· equipment Β· workout duration
Nutrition Habits Β· restrictions Β· macro goals
Health Injuries Β· pain Β· medical constraints Β· conservative decision rules
Style Response format for Telegram or terminal use

The user never needs to paste tokens or secrets into chat.


πŸ”Œ Connector presets

Default local MCP presets installed by setup:

Provider Package OAuth needed at setup
WHOOP whoop-mcp-unofficial βœ…
Garmin garmin-mcp-unofficial βœ…
Oura oura-mcp-unofficial βœ…
Strava strava-mcp-unofficial βœ…
Fitbit fitbit-mcp-unofficial βœ…
Google Health google-health-mcp-unofficial βœ…
Withings withings-mcp-unofficial βœ…
Apple Health apple-health-mcp-unofficial β›” (uses local export.zip)
Samsung Health samsung-health-mcp-unofficial β›” (uses local CSV/ZIP export)
Polar polar-mcp-unofficial βœ…
Eight Sleep eight-sleep-mcp-unofficial βœ…
Nourish 🟒 wellness-nourish β›” (works immediately)
Wellness Air wellness-air βœ…
Cycle Coach wellness-cycle-coach β›” (profile-only context)
CGM wellness-cgm-mcp βœ…

Exercise Catalog is kept disabled by default because private catalog access may depend on non-public data.


🌐 Hosted Hub mode

Hosted hub mode is explicit and has no default production URL:

npx -y delx-wellness-hermes setup \
  --mode hosted \
  --hub-url https://your-private-hub.example/mcp \
  --dry-run

πŸ›‘οΈ Public-safe boundary

This package is safe to publish because it contains:

  • βœ… profile templates
  • βœ… public skills
  • βœ… connector package presets
  • βœ… config generation
  • βœ… setup and doctor checks

It must not contain:

  • ❌ real user tokens
  • ❌ OAuth credentials
  • ❌ personal ~/.hermes config
  • ❌ Telegram gateway secrets
  • ❌ private hosted hub API keys
  • ❌ private Exercise Catalog data

Validation and platform scope

The existing CI runs on Ubuntu with Node.js 22. Profile-path validation includes real Linux installer/uninstaller entrypoint regressions using isolated temporary profiles, including traversal and symlink rejection with unchanged protected test data.

Native Windows/macOS filesystem behavior (including case, normalization and path aliases) has not been validated by this regression harness. Windows-specific lexical checks are not a substitute for native OS tests. These checks are not a sandbox and do not establish protection against concurrent same-user filesystem changes (TOCTOU). Explicit custom paths and operator-configured HOME or .hermes relocation remain trusted operator configuration; no universal platform-safety guarantee is claimed.


πŸ§ͺ Development

npm install
npm test
npm pack --dry-run

πŸ”— See also


πŸ‘€ Built by

David Batista β€” founder of Delx, building protocol layers for autonomous AI agents.

Follow on X: @delx369


πŸ“§ Contact & Support

πŸ“œ License

MIT β€” see LICENSE. Community: Code of Conduct.

Hermes is a project of NousResearch. WHOOP, Oura, Garmin, Strava, Fitbit, Google Health, Withings, Apple Health, Samsung Health and Polar are trademarks of their respective owners. This profile pack is not affiliated with, endorsed by, or supported by any of them.

About

Turn Hermes into a local-first wellness agent with guided setup, onboarding, wellness skills and MCP connector presets.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

21 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages