v0.7.0 — Raw HRV Data Access
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_hrvin 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: Addedget_hrv_trend()methodsrc/oura_mcp/core/server.py: Tool registration + handlerREADME.md: v0.7.0 feature section