The agent-first protocol layer for real-world body context.
Give your AI agent your sleep, HRV, workouts and food — all local-first, all read-only.
What is this? A registry of open-source MCP servers that turn your wearables, nutrition, room air quality, menstrual cycle, continuous glucose and smart mattress into context any AI agent can read — with zero data ever leaving your machine.
| 📦 Install one connector | npx -y delx-living-body — one entry, auto-detects the rest |
| 🤖 Run it in your agent | Install matrix → client config for Claude, Cursor, ChatGPT, Codex, Hermes, OpenClaw, Goose |
| 🔒 Local-first privacy | Tokens and data never leave your machine |
| 🧭 Which connector should I use? | Pick by device or goal |
Three connectors carry most of the value. Start with the one that matches your stack:
garmin-mcp— Body Battery, sleep, stress and training readiness from Garmin Connect. Highest agent-readiness score in the registry.npx -y garmin-mcp-unofficial setup --authgoogle-health-mcp— Google Health API v4, Fitbit migration, rollups and reconciled streams.npx -y google-health-mcp-unofficial setupwellness-nourish— food search, barcode lookup, intake and hydration. Zero-credential, runs offline in ~30 seconds.npx -y wellness-nourish doctor
Full catalog (16 connectors): machine-readable in
registry.json· human snapshot inSTATUS.md. Includes WHOOP, Oura, Strava, Fitbit, Withings, Apple Health, Samsung Health, Polar, Eight Sleep, CGM, Cycle Coach and Air. Each is a standalone npm package; they coexist and the agent reconciles overlapping signals (WHOOP, Garmin, Apple Health, Samsung Health and Google Health can all report sleep). A non-wellnessgoogle-ads-mcp-unofficialis also cataloged as an agent tool for the Delx reach surface.
npx -y delx-living-body demoThe demo answers the anchor question "Should I train hard today?" against a synthetic green-day snapshot (recovery 74 · sleep 83 · body battery 68). It composes 3 mock connectors (WHOOP, Oura, Garmin), classifies intent as training_readiness, and returns a green light at high confidence with a rule-based reasoning trace (rec_high, sleep_good).
Zero-secret: no credentials, no network, no LLM calls — just the offline synthesis engine. Source and full canonical output: github.com/davidmosiah/delx-living-body.
The lowest-friction path for generic MCP clients (Claude Desktop, Cursor, ChatGPT, Goose, any standard client) is delx-living-body — a single meta-MCP that auto-detects whichever connectors you already have installed and composes them into one unified surface (living_body_status, living_body_daily_brief, living_body_ask, living_body_health_check). One server entry instead of a dozen; synthesis is rule-based and offline.
npx -y delx-living-bodyThe fastest path for runtime-native agents is a profile pack — one command creates a local-first wellness profile with onboarding, skills, MCP presets and setup checks for every connector:
# Hermes
npx -y delx-wellness-hermes setup
hermes -p delx-wellness -z "$(npx -y delx-wellness-hermes operator --prompt-only)"
# OpenClaw
npx -y delx-wellness-openclaw setup
openclaw --profile delx-wellness agent --local --message "$(npx -y delx-wellness-openclaw operator --prompt-only)"The setup wizard walks you through choosing which providers to wire up, checks the local Nourish preset (no OAuth required), and prints the next commands for model setup and per-provider auth. The Hermes Daily Operator and OpenClaw Daily Operator then turn available context into one daily read, evidence bullets, one training/recovery action, one nutrition action, and a missing-setup checklist. More runnable loops live in Operator Recipes.
Agents should start with
agent_manifest,connection_statusorcapabilitieswhen a connector exposes them (orliving_body_statuswhen running the meta-MCP). For the public thesis behind this stack, read Why local-first wellness agents need MCP.
Every connector is a standalone npm package with a guided setup CLI. Install the ones you want, then drop one config example into your client. Each connector handles its own credentials locally — nothing is shared with the MCP client and no token ever leaves your machine.
Install (pick the connectors you want):
npx -y garmin-mcp-unofficial setup --auth # flagship — Body Battery, readiness
npx -y google-health-mcp-unofficial setup && npx -y google-health-mcp-unofficial auth
npx -y wellness-nourish manifest # zero-credential, ~30s
npx -y whoop-mcp-unofficial setup && npx -y whoop-mcp-unofficial auth
npx -y oura-mcp-unofficial setup && npx -y oura-mcp-unofficial auth
npx -y strava-mcp-unofficial setup && npx -y strava-mcp-unofficial auth
npx -y fitbit-mcp-unofficial setup && npx -y fitbit-mcp-unofficial auth
npx -y withings-mcp-unofficial setup && npx -y withings-mcp-unofficial auth
npx -y polar-mcp-unofficial setup && npx -y polar-mcp-unofficial auth
npx -y apple-health-mcp-unofficial setup --export-path /path/to/export.zip
npx -y samsung-health-mcp-unofficial setup --export-path /path/to/SamsungHealthAfter setup, run npx -y <package> onboarding on any connector once — the answers persist to ~/.delx-wellness/profile.json and every other connector reads them automatically (Shared local profile).
Wire it into your client — drop the matching example into the listed location:
| Client | Example file | Where to paste it |
|---|---|---|
| Claude Desktop | examples/claude-desktop.json |
Into claude_desktop_config.json |
| Claude Code | examples/claude-code.md |
Add with claude mcp add-json |
| Cursor | examples/cursor.json |
Cursor's MCP settings |
| ChatGPT (MCP enabled) | examples/generic-mcp.md |
Standard mcpServers shape — includes the one-entry delx-living-body option |
| Codex | examples/codex.toml |
~/.codex/config.toml or codex mcp add |
| Windsurf | examples/windsurf.json |
Same shape as Cursor |
| Hermes | examples/hermes.md |
YAML + skill files (or use the profile pack above) |
| OpenClaw | examples/openclaw.md |
OpenClaw mcp.servers config (or use the profile pack above) |
| Goose | USING_WITH_GOOSE.md |
goose configure or paste into config.yaml |
| Generic / any host | examples/generic-mcp.md |
Standard mcpServers shape |
| Runtime profile packs | Repository | Page |
|---|---|---|
| Hermes | delx-wellness-hermes |
wellness.delx.ai/hermes |
| OpenClaw | delx-wellness-openclaw |
wellness.delx.ai/openclaw |
Drop the
agent-rules.mdblock into your agent to get readiness-first, non-medical behavior — the agent checks readiness, calls the relevant summary tools, separates observed data from suggestions, and stays non-medical. Seeexamples/from-workbench/for the full operator profile.
Default picks — start with the flagship that matches your stack:
| You have / want | Start with | What you get |
|---|---|---|
| A Garmin | garmin-mcp |
Body Battery, training readiness, sleep, stress, HRV |
| Google Health / migrating Fitbit | google-health-mcp |
Google Health API v4, rollups, reconciled streams |
| To track food (no login) | wellness-nourish |
Food search, barcode lookup, intake, hydration — offline |
| One entry for everything | delx-living-body |
Auto-detects installed connectors; one living_body_daily_brief |
The connectors are designed to coexist. When two providers cover the same signal (e.g. WHOOP and Garmin both report sleep), each tool returns provider-tagged data and your agent reconciles them.
Device-specific scenarios (full picker)
Have a WHOOP? → start with whoop-mcp (recovery, HRV, sleep, strain)
Have a Garmin? → start with garmin-mcp (Body Battery, training readiness, HRV)
Have an Oura? → start with ouramcp (readiness, sleep, activity, HRV)
Have an Eight Sleep? → start with eight-sleep-mcp (sleep trends, bed temperature, alarms)
Have Withings devices? → start with withingsmcp (body measures, sleep, activity, heart)
Have an Apple Health export?→ add apple-health-mcp (local export activity, sleep, HRV, workouts)
Have a Galaxy Watch export? → add samsung-health-mcp (local CSV activity, sleep, HRV, workouts)
Have a Polar device? → start with polarmcp (Nightly Recharge, training load, PPI/HRV)
Run/ride/swim a lot? → add strava-mcp (activities, streams, routes)
Just bought a Fitbit? → add fitbitmcp (activity, sleep, heart, HRV)
Migrating Fitbit to Google?→ add google-health-mcp (Google Health API v4, rollups, reconciled streams)
Tracking food? → add wellness-nourish (food search, barcode lookup, intake, hydration)
Tracking glucose? → add wellness-cgm-mcp (Dexcom glucose, time-in-range, meal response)
Tracking a menstrual cycle?→ add wellness-cycle-coach (phase detection, phase nutrition & training)
Care about room air? → add wellness-air (AQI, PM2.5, CO₂ — pair with sleep data)
Multiple devices? → install several. Each is independent and read-only.
Want one entry for all? → add delx-living-body (auto-detects the above; one unified surface)
Zero-credential quick start: Nourish and Cycle Coach run with no login at all — install one and you have a working tool in ~30 seconds. Start there to feel the workflow before wiring up OAuth providers.
| Provider | Auth type | What to have on hand | Runs offline? |
|---|---|---|---|
| Nourish | None (optional USDA API key) | Nothing — public food data + local intake logs | ✅ Yes |
| Cycle Coach | None (stateless) | Nothing — pass cycle history per call | ✅ Yes |
| Apple Health | Local export file | export.zip / export.xml from the Health app |
✅ Yes (offline file) |
| Samsung Health | Local export file | Samsung Health CSV/ZIP export folder | ✅ Yes (offline file) |
| Air | API key or local IP | AirGradient API key, or the device's LAN IP | ✅ Yes (local-only mode) |
| WHOOP | OAuth 2.0 | Your own WHOOP app client_id / secret |
☁️ Provider API |
| Oura | OAuth 2.0 | Your own Oura app credentials | ☁️ Provider API |
| Fitbit | OAuth 2.0 | Your own Fitbit app credentials | ☁️ Provider API |
| Strava | OAuth 2.0 | Your own Strava app credentials | ☁️ Provider API |
| Withings | OAuth 2.0 (signed) | Your own Withings app credentials | ☁️ Provider API |
| Polar | OAuth 2.0 | Your own Polar AccessLink client credentials | ☁️ Provider API |
| Google Health | Google OAuth 2.0 | Your own Google Cloud OAuth client | ☁️ Provider API |
| Garmin | Local personal-token mode | Garmin Connect login (local helper) | ☁️ Provider API (unofficial) |
| Eight Sleep | Mobile-app password grant | Your Eight Sleep email + password | ☁️ Provider API (unofficial) |
| CGM (Dexcom) | OAuth 2.0 or sandbox | Dexcom credentials, or use sandbox mode | ☁️ Provider API (sandbox offline) |
OAuth completes locally and refresh tokens live in your OS keychain or a ~/.config file you own. The MCP client never sees a secret; tools never return one. Full auth detail per connector: registry.json.
Your wearable data is the most personal context an agent can have — sleep stages, heart rhythm, recovery scores, what you ate. Sending all of that through a hosted vault you don't control is the wrong default.
Delx Wellness flips it:
- 🔒 Tokens stay on your machine. OAuth completes locally; refresh tokens live in your OS keychain or a
~/.configfile you own. - 📖 Read-only by design. Every connector is read-only. There is no "write to your Apple Health" tool, no surprise side effects.
- 🧱 Standalone packages. Each connector is a separate npm package with a clear scope. Audit one without auditing the rest.
- 🤝 Vendor-neutral. You can mix providers, swap one out, or remove all of them without anything breaking on a hosted side.
- 🌐 No phone-home. No analytics, no telemetry, no usage reporting baked into the connectors themselves.
The hosted commercial layer (token vault, billing, rate limits) may stay private — but the connectors that touch your data are open source, on this registry, forever.
- Shared local profile — one onboarding feeds every connector via
~/.delx-wellness/profile.json(mode0600, secret-blocking write filter). Detail: docs/architecture.md. - How it fits together — one agent → one local profile → many connectors → your provider data. Architecture diagram: docs/architecture.md.
Every connector is independently audited by mcp-scorecard across 10 agent-readiness checks (tool descriptions, input schemas, error handling, manifest, transport hygiene and more). The leaders are garmin-mcp-unofficial (🥇 97/100), eight-sleep-mcp-unofficial (🥇 94/100) and the Apple/Samsung Health pair (🥇 91/100); most providers sit at 90+. Re-run any package yourself with npx mcp-scorecard <package>.
Full agent-readiness scorecard
| Connector | Agent-readiness |
|---|---|
garmin-mcp-unofficial |
🥇 97/100 |
eight-sleep-mcp-unofficial |
🥇 94/100 |
apple-health-mcp-unofficial |
🥇 91/100 |
samsung-health-mcp-unofficial |
🥇 91/100 |
whoop-mcp-unofficial |
🥇 90/100 |
oura-mcp-unofficial |
🥇 90/100 |
strava-mcp-unofficial |
🥇 90/100 |
fitbit-mcp-unofficial |
🥇 90/100 |
withings-mcp-unofficial |
🥇 90/100 |
polar-mcp-unofficial |
🥇 90/100 |
google-health-mcp-unofficial |
🥇 90/100 |
wellness-nourish |
🥈 85/100 |
google-ads-mcp-unofficial |
🥈 80/100 |
wellness-air |
🥉 65/100 |
wellness-cycle-coach |
🥉 64/100 |
wellness-cgm-mcp |
🥉 63/100 |
exercise-catalog-mcp |
— (private, not on public npm) |
🥇 90+ · 🥈 75–89 · 🥉 60–74. Scores from npx mcp-scorecard <package>. Re-run any row yourself to verify.
| Layer | Public | Notes |
|---|---|---|
| Local provider connectors | ✅ | Individual MCP servers (WHOOP · Oura · Garmin · Strava · Fitbit · Google Health · Withings · Apple Health · Samsung Health · Polar · Eight Sleep · Nourish · Air · Cycle Coach · CGM) |
| Meta-MCP (install-all) | ✅ | delx-living-body — auto-detects and composes the connectors above |
| Hermes profile pack | ✅ | delx-wellness-hermes — one-command setup |
| Connector registry & docs | ✅ | This repository |
| Normalized schemas | ✅ | Stable shared shapes for cross-provider tools — schemas/ |
| Hosted hub API | ⏳ | May remain private during product-market fit |
| Token vault, billing, rate limits | ⏳ | Sensitive commercial and security surface |
| Real user health data | ❌ | Never committed to GitHub |
Tiers and trust levels are defined in docs/connector-quality-standard.md. Machine-readable catalog: registry.json · current snapshot: STATUS.md.
The connectors stay MIT, local-first and useful without a hosted account. Paid work belongs above the public core: setup concierge, MCP audits, private deployments and custom connector work. See Open Source Support for the boundary and support paths. The current verified npm/GitHub release set lives in the Release Index. Public traction and next-action priorities live in the Open Source Growth Snapshot. Runnable agent loops live in Operator Recipes.
⭐ If this helps your agent workflow, star this hub. Stars make the connector map easier for AI builders to find, and this is the canonical repo for the Delx Wellness ecosystem.
- Connector quality standard — release and trust checklist
- Registry validation — what the
context_readyCI validator enforces and how to extend it - Provider status — current matrix and risks
- Privacy model — local-first privacy boundary and hosted-hub considerations
- Normalized schema — shared cross-provider wellness snapshot shape
- Growth playbook and MCP directory submissions — ecosystem ops
- Not a medical device.
- Not medical advice, diagnosis, treatment or emergency support.
- Not a promise that every future hosted product will be open source.
- Not a place for real user health exports, OAuth tokens, API secrets or private deployment files.
The practical near-term direction: keep provider MCPs independently installable; use this repository as the public connector registry and documentation hub; define shared normalized schemas before building cross-provider tools; keep hosted/commercial infrastructure private until the product direction is proven.
David Batista — founder of Delx, building protocol layers for autonomous AI agents.
Follow on X: @delx369 · Site: wellness.delx.ai
- 📨 support@delx.ai — general questions, integration help, partnerships
- 🐛 Bug reports / feature requests — GitHub Issues
- 🐦 Updates — @delx369 on X
- 🌐 Site — wellness.delx.ai
MIT — see LICENSE.
Delx Wellness is an unofficial, open-source project. WHOOP, Oura, Garmin, Strava, Fitbit, Google Health, Withings, Apple Health, Samsung Health, Polar and Eight Sleep are trademarks of their respective owners. None of the connectors in this registry are affiliated with, endorsed by, or supported by those companies.
