Skip to main content
Status: live. 10 read-only MCP tools на Whoop API v2.

Як це працює

Whoop інтеграція – Shared App OAuth. Brama тримає один Whoop developer app; ти просто натискаєш Connect, проходиш Whoop consent, і агент отримує read-only доступ до твоїх Whoop-даних. Brama персистить access + refresh токени зашифрованими (envelope encryption, ключ поза базою). Whoop ротує refresh-токен при кожному оновленні; Brama персистить ротовані токени автоматично – повторний consent при звичайній роботі не потрібен.
Раніше підключені tenant’и: інтеграція мігрувала з Full BYO (per-tenant dev app) на Shared App 2026-05-30. Якщо ти підключав Whoop до цього – підключи знову через Connect (попередні токени були видані твоїм власним Whoop-app і не сумісні з новим Brama-app).

Підключення

1. Connect

app.brama.workIntegrations → Whoop → натисни Connect Whoop. Тебе перенаправить на Whoop consent screen – підтвердиш доступ до recovery / sleep / cycles / workout / profile / body measurements (read-only). Brama отримає токени, зашифрує їх і поверне тебе на сторінку інтеграції зі статусом active.

2. Запит

У своєму MCP клієнті (Claude Desktop, Gemini CLI – див. Connect a client):
Який у мене recovery score сьогодні за Whoop?
Агент викличе brama_whoop_get_recovery_summary і поверне recovery score, HRV та resting heart rate.

MCP tools (live)

Усі 10 tools – read-only, на Whoop API v2. Нічого не змінюють у Whoop.

Recovery

brama_whoop_get_recovery_summary

Останні recovery-записи tenant’а: recovery_score (0–100), HRV (RMSSD, ms), resting heart rate (bpm), дата.Параметри: limit (optional – default 1, max 25) – скільки останніх записів повернути.

brama_whoop_get_recovery_for_cycle

Recovery-запис для конкретного фізіологічного циклу.Параметри: cycle_id (required, int64) – з brama_whoop_get_cycle_summary чи brama_whoop_get_recovery_summary.

Sleep

brama_whoop_get_sleep_summary

Останні sleep-записи: performance / efficiency / consistency (%), тривалість у ліжку та за стадіями (light / REM / slow-wave), respiratory rate, кількість disturbances.Параметри: limit (optional – default 1, max 25).

brama_whoop_get_sleep_by_id

Конкретна sleep-активність за UUID – повний розклад стадій + sleep_needed.Параметри: sleep_id (required, UUID) – з brama_whoop_get_sleep_summary.

Cycles

brama_whoop_get_cycle_summary

Останні фізіологічні цикли (від початку сну до наступного початку сну): day strain (0–21), kilojoules, avg / max heart rate.Параметри: limit (optional – default 1, max 25).

brama_whoop_get_cycle_by_id

Конкретний цикл за int64 ID.Параметри: cycle_id (required, int64).

Workouts

brama_whoop_get_workouts

Останні тренування: strain (шкала 0–21), avg / max heart rate, спалені kilojoules, дистанція, altitude.Параметри: limit (optional – default 3, max 25).

brama_whoop_get_workout_by_id

Конкретне тренування за UUID – з тривалістю за heart-rate зонами.Параметри: workout_id (required, UUID) – з brama_whoop_get_workouts.

Profile

brama_whoop_get_profile

Whoop user profile tenant’а: user_id, email, first_name, last_name.Параметри: немає.

brama_whoop_get_body_measurements

Body measurements: height (m), weight (kg), max heart rate (bpm).Параметри: немає.

Безпека

  • Shared App – Brama тримає один OAuth app; client_id / secret лежать у env (не в твоєму tenant blob’і). Твої access + refresh токени належать тільки тобі.
  • Токени зашифровані at rest, ключі поза базою; на диск не пишуться, у пам’яті лише на час запиту; у логи не потрапляють.
  • Whoop ротує refresh-токен при кожному оновленні – Brama персистить ротовані токени, тому повторний consent при звичайній роботі не потрібен.
  • Кожен tenant ізольований – твої Whoop-дані недосяжні іншим tenant’ам.
  • Read-only – tools нічого не змінюють у Whoop.

Питання

Питання? Напиши viktor@brama.work.