Skip to content

v0.7.0 — Raw HRV Data Access

Choose a tag to compare

@schimmmi schimmmi released this 15 May 06:48
· 14 commits to main since this release

What's New

📊 get_hrv_trend — Raw HRV in Milliseconds

Until now, all HRV data in this MCP server was returned as Oura score proxies (0–100). This release adds direct access to the real physiological values.

What it does:

  • Calls /v2/usercollection/sleep (the detailed sleep endpoint, not the daily summary)
  • Extracts average_hrv in real milliseconds — the nightly RMSSD average
  • Returns lowest resting heart rate per night (not an averaged score)
  • Includes sleep stage durations (total, deep, REM)
  • Computes trend automatically: first-half average vs. second-half average with Δ in ms

Example output:

| Datum      | HRV Ø (ms) | Ruhepuls (bpm) | Schlaf gesamt | Tiefschlaf | REM  |
|------------|------------|----------------|---------------|------------|------|
| 2026-05-01 | 14         | 58             | 6h12m         | 39m        | 76m  |
| 2026-05-14 | 16         | 61             | 6h38m         | 27m        | 88m  |

Gesamt-Ø: 12.9 ms · Erste Hälfte Ø: 11.9 ms · Zweite Hälfte Ø: 13.9 ms · Trend: 📈 steigend (+2.0 ms)

Use cases:

  • Supplement/intervention tracking (correlation with mineral supplementation, protocol changes)
  • Longitudinal HRV trend analysis without relying on Oura's black-box scoring
  • Cortisol/recovery pattern investigation with real physiological baselines

Changes

  • src/oura_mcp/tools/debug_tools.py: Added get_hrv_trend() method
  • src/oura_mcp/core/server.py: Tool registration + handler
  • README.md: v0.7.0 feature section