Local-first cycle coach MCP for phase-aware nutrition and training context.
Runs on your machine from its package; the steps are below.
At most: creates or changes data: records, files, settings.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y wellness-cycle-coach
MCP client config
{
"mcpServers": {
"wellness-cycle-coach": {
"command": "npx",
"args": [
"-y",
"wellness-cycle-coach"
]
}
}
}
🌙 Why this exists: Most AI agents treat the body as a single context-free unit. But energy, recovery, training tolerance, nutrient needs and even cognitive bandwidth shift across the menstrual cycle. wellness-cycle-coach gives any agent phase-aware guidance — and never stores cycle data to do it.
⚡ 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 setup
Default is stdio. Optional Streamable HTTP — no session id, JSON responses, loopback only:
npx -y wellness-cycle-coach --http
# GET http://127.0.0.1:3000/health
# POST http://127.0.0.1:3000/mcp (sessionless)
Env: WELLNESS_CYCLE_COACH_HOST, WELLNESS_CYCLE_COACH_PORT, WELLNESS_CYCLE_COACH_TRANSPORT=http.
Pass in period start dates (from any source — Apple Health Cycle, Garmin women's health, Fitbit female health, or direct user input) and get back the user's current phase plus phase-aware recommendations for nutrition, training, and hydration. Stateless — the MCP itself never persists cycle data. Supports PCOS-aware mode via the cycle_irregular flag (v0.3.3) — accepts cycles 21-90 days, caps confidence at 'low', and returns a luteal_extended placeholder when standard 14-day-luteal math no longer applies.
npx -y wellness-cycle-coach doctor
# Or use the MCP directly via your client:
# {
# "mcpServers": {
# "wellness-cycle-coach": {
# "command": "npx",
# "args": ["-y", "wellness-cycle-coach"]
# }
# }
# }
Then in your agent:
{
"name": "cycle_full_report",
"arguments": {
"history": [
{ "start_date": "2026-04-01" },
{ "start_date": "2026-04-29" }
]
}
}
Returns current phase + nutrition emphasize/moderate/avoid + training style/intensity + hydration target + next-period estimate.
| Tool | Purpose |
|---|---|
cycle_agent_manifest | Runtime contract |
cycle_capabilities | Phases, upstream connectors, metrics |
cycle_connection_status | Health + stateless reminder |
cycle_privacy_audit | What's logged (nothing) vs sent out (nothing) |
cycle_data_inventory | Phase taxonomy + metric catalog |
cycle_estimate_phase | Current phase + cycle day + confidence |
cycle_predict_next_period | Average cycle length + next-period date |
cycle_phase_guidance | Recommendations for any specific phase |
cycle_recommend_nutrition | Phase-aware nutrition for current phase |
cycle_recommend_training | Phase-aware training for current phase |
cycle_full_report | Single-call combined report |
cycle_irregular_check | PCOS / irregular-cycle screening from history |
cycle_quickstart | Minimal getting-started walkthrough |
cycle_profile_get | Read the shared Delx Wellness profile (read-only) |
cycle_profile_update | Persist opt-in profile prefs (requires explicit user intent) |
cycle_onboarding | 11-question onboarding flow for the shared profile |
cycle_demo | Sample request/response for quick exploration |
| Phase | When | Energy | Nutrition emphasis | Training |
|---|---|---|---|---|
| menstrual | days 1 → period end (~5) | Lower | Iron + magnesium + omega-3 | Restorative (yoga, walking, mobility) |
| follicular | post-period → ovulation - 2 | Rising / peak | Complex carbs + lean protein + fermented foods | Build (strength, sprints, new skills) |
| ovulatory | ovulation ± 1 day | Peak | Antioxidants + zinc | Peak (PRs, plyometrics) |
| luteal | ovulation + 2 → next period | Falling | B vitamins + magnesium + complex carbs | Endurance + technique |
Menstrual cycle data is medical-record sensitive. The strongest privacy guarantee is to never store it. Other apps (Flo, Clue) live by hoarding cycle data on their servers; this MCP refuses to participate. The agent passes data in, the coach returns guidance, the data evaporates.
Apple Health Cycle → period dates ┐
Garmin women's health → cycle context ├─→ wellness-cycle-coach → phase + guidance
Fitbit female health → period dates ┘ │
│
↓
wellness-nourish coach
(phase-aware meal planning)
│
whoop-mcp / garminmcp / ouramcp
(recovery-aware late-luteal load adjustments)
cycle_profile_* tools can persist non-secret wellness preferences (name, goals, devices, training/nutrition context) to ~/.delx-wellness/profile.json, but only when the user explicitly asks (cycle_profile_update requires explicit_user_intent: true). Secrets (tokens, API keys, biomarkers) are rejected at write time.Run wellness-cycle-coach doctor to inspect.
cycle_irregular: true (v0.3.3), but this is NOT a substitute for clinical care — see clinician for fertility, contraception, or symptom-management decisions.MIT — see LICENSE.
wellness-cycle-coach is independent research-software. Not affiliated with Clue, Flo, Stardust, or any other cycle-tracking app. Not medical advice.
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:
npx -y wellness-cycle-coach call cycle_connection_status --json '{}'
Copy skill/SKILL.md into your agent skills dir.