Wellness Cycle Coach

io.github.davidmosiah由 GitHub 帳號 davidmosiah 發布v0.3.5更新於 Oct 25, 2026

Local-first cycle coach MCP for phase-aware nutrition and training context.

已驗證STDIO僅桌面位置與生活AI 與機器學習

概覽

AI 產生的概覽

在本機執行、不保存狀態的 MCP 伺服器,把月經開始日期換算成週期階段,並提供分階段的營養、訓練與補水建議。

可以做什麼
  • 依傳入的月經開始日期估算目前週期階段、週期天數與信心程度,並以平均週期長度預測下次月經。
  • 取得目前階段的營養、訓練與補水建議,或一次呼叫取得合併的完整報告。
  • 依歷史紀錄篩檢週期不規則或多囊性卵巢症候群相關情況,並查詢任一指定階段的建議。
  • 檢視伺服器本身資訊:執行時契約、能力清單、連線狀態、隱私稽核、資料清單、快速上手與範例回應。
  • 讀取、引導填寫並更新可選的本機健康偏好設定檔(僅非敏感資訊)。
適用情境
適合希望助理把健身、營養或恢復建議對應到使用者目前月經週期階段的情境,包括週期不規則或多囊性卵巢症候群的情況;也適合要求月經資料留在本機、不交由服務端保存的使用者。
執行需求
以本機程序透過 npx(Node.js)執行,預設使用 stdio;可選的 Streamable HTTP 模式僅綁定回環位址,透過 WELLNESS_CYCLE_COACH_HOST、WELLNESS_CYCLE_COACH_PORT 與 WELLNESS_CYCLE_COACH_TRANSPORT 設定。不需帳號、API 金鑰或網路存取,月經日期以工具參數傳入。
安裝前請注意
月經資料屬敏感健康資訊:伺服器聲稱不保存狀態且不發出外部請求,但日期仍會經過助理及其模型供應商。設定檔工具會把非敏感偏好寫入使用者家目錄下的本機檔案,且需使用者明確同意。輸出不構成醫療建議、診斷、生育追蹤或避孕指引。README 稱 0.5.0 為候選版本,並不代表已發布。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Wellness Cycle Coach,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Wellness Cycle Coach

Menstrual cycle coach MCP for AI agents — now with PCOS-aware mode.
Built so AI finally serves the 50% of users agents have ignored — without ever storing cycle data.

[npm version] [npm downloads] [License MIT] [Site]

[GitHub stars] [Built for MCP] [Hermes] [OpenClaw]

🌙 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:


HTTP (v2 stateless)

Default is stdio. Optional Streamable HTTP — no session id, JSON responses, loopback only:

bash
npx -y [email protected] --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.

Overview

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.

Try It In 60 Seconds

bash
npx -y [email protected] doctor
# Or use the MCP directly via your client:# {#   "mcpServers": {#     "wellness-cycle-coach": {#       "command": "npx",#       "args": ["-y", "[email protected]"]#     }#   }# }

Then in your agent:

json
{  "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.

Tools (17)

ToolPurpose
cycle_agent_manifestRuntime contract
cycle_capabilitiesPhases, upstream connectors, metrics
cycle_connection_statusHealth + stateless reminder
cycle_privacy_auditWhat's logged (nothing) vs sent out (nothing)
cycle_data_inventoryPhase taxonomy + metric catalog
cycle_estimate_phaseCurrent phase + cycle day + confidence
cycle_predict_next_periodAverage cycle length + next-period date
cycle_phase_guidanceRecommendations for any specific phase
cycle_recommend_nutritionPhase-aware nutrition for current phase
cycle_recommend_trainingPhase-aware training for current phase
cycle_full_reportSingle-call combined report
cycle_irregular_checkPCOS / irregular-cycle screening from history
cycle_quickstartMinimal getting-started walkthrough
cycle_profile_getRead the shared Delx Wellness profile (read-only)
cycle_profile_updatePersist opt-in profile prefs (requires explicit user intent)
cycle_onboarding11-question onboarding flow for the shared profile
cycle_demoSample request/response for quick exploration

The 4-phase model

PhaseWhenEnergyNutrition emphasisTraining
menstrualdays 1 → period end (~5)LowerIron + magnesium + omega-3Restorative (yoga, walking, mobility)
follicularpost-period → ovulation - 2Rising / peakComplex carbs + lean protein + fermented foodsBuild (strength, sprints, new skills)
ovulatoryovulation ± 1 dayPeakAntioxidants + zincPeak (PRs, plyometrics)
lutealovulation + 2 → next periodFallingB vitamins + magnesium + complex carbsEndurance + technique

Why stateless?

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.

Cross-connector wedge

Apple Health Cycle → period dates       ┐Garmin women's health → cycle context   ├─→ wellness-cycle-coach → phase + guidanceFitbit female health → period dates     ┘                                  │                                                                            │                                                                            ↓                                                            wellness-nourish coach                                                            (phase-aware meal planning)                                                                            │                                                            whoop-mcp / garminmcp / ouramcp                                                            (recovery-aware late-luteal load adjustments)

Privacy

  • ✅ Stateless for cycle data — period dates are never persisted; they stay in process memory for the duration of the call and evaporate.
  • ✅ Opt-in local preferences — the 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.
  • ✅ Offline-capable — pure-function computation. No outbound calls.
  • ✅ Tool-arg-only cycle data — the agent passes period history in via the MCP request and it stays in process memory.

Run wellness-cycle-coach doctor to inspect.

What this is NOT

  • Not medical advice or diagnosis.
  • Not a fertility tracker or contraception aid (consult a clinician).
  • Not a replacement for talking to a healthcare provider about painful, abnormal, or absent periods.
  • PCOS / irregular cycles supported via cycle_irregular: true (v0.3.3), but this is NOT a substitute for clinical care — see clinician for fertility, contraception, or symptom-management decisions.
  • Not specialized for perimenopause or post-pill (yet — see CONTRIBUTING.md).

Roadmap

  • v0.2 — adapters for apple-health-mcp / garminmcp / fitbitmcp so agents can pull period history with one MCP call.
  • v0.3 — symptom logging surface + symptom-aware guidance adjustments (cramps → magnesium emphasis, mood drop → B-vitamin emphasis).
  • v0.4 — non-English locale support starting with pt-BR.

📧 Contact & Support

License

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.

Skill or MCP

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:

bash
npx -y [email protected] call cycle_connection_status --json '{}'

Copy skill/SKILL.md into your agent skills dir.

0.5.0 — candidate (2026-11-02)

This is a release candidate, not evidence of an npm publication. Existing installations are not updated automatically.

Migration and security boundaries

  • HTTP transport accepts loopback only. LAN addresses and wildcard binds are rejected; use stdio or a local loopback client instead.
  • Wellness profiles are validated, limited to 256 KiB, and protected with a cooperative lock. Oversized or invalid existing profiles must be corrected before use. Symbolic links, including dangling links and legacy profile paths, are rejected. These checks do not guarantee safety against a hostile local filesystem or non-cooperating processes.
  • MCP inputs have a 10,000-element budget and HTTP bodies are limited to 1 MiB; compressed request bodies are rejected. Previously accepted oversized requests may now fail; reduce request sizes rather than disabling validation.
  • Dependency fixes are included. Upgrade explicitly after publication and restart the connector; old installations retain their previous behavior.

來源:README.md,提交 a93629e

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.3.5最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分