WHOOP

WHOOP

Read a WHOOP member's recovery, HRV, resting heart rate, sleep and naps with stages, day strain per cycle, workouts with heart rate zones, profile and body measurements through the WHOOP Developer API v2 with OAuth. Read-only.

7-day free trial · No credit card · EU-hosted

Ask WHOOP anything

Try a real prompt against WHOOP via AnythingMCP — Claude calls the tools, returns the answer. Press Enter on your own message to install on Cloud.

Install WHOOP on Cloud
WHOOP · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

Setup in 2 minutes

  1. 1Start a free trial on cloud.anythingmcp.com.
  2. 2Click WHOOP in the connector store. Paste credentials when prompted.
  3. 3Mint an MCP API key and point your AI client at the generated MCP URL.
Install WHOOP now

Guides for WHOOP

Step-by-step setup for the most popular AI clients.

Setting up WHOOP

From the connector definition itself: where to find the credentials, what they need to be allowed to do, and which API this adapter talks to.

WHOOP

This connector reads a member's data from the WHOOP Developer API v2 (https://api.prod.whoop.com/developer), as the WHOOP member who authorizes it: profile, body measurements, physiological cycles with day strain, recovery (HRV, resting heart rate, SpO2, skin temperature), sleep and naps with stages, and workouts with heart rate zones. Everything is read-only: the WHOOP API offers no way to write data, and journal entries, the stress monitor, heart rate streams and the WHOOP Coach are not part of the public API.

Setup (one-time, about 10 minutes)

  1. Open the WHOOP Developer Dashboard at https://developer-dashboard.whoop.com and sign in with a WHOOP account. Create a team when asked (a team can hold up to 5 apps).
  2. Click Create App. Under Scopes tick read:profile, read:body_measurement, read:cycles, read:recovery, read:sleep and read:workout. The connector also asks for offline, which WHOOP needs to issue a refresh token.
  3. Under Redirect URIs add https://cloud.anythingmcp.com/api/mcp-oauth/callback on AnythingMCP Cloud, or <your AnythingMCP URL>/api/mcp-oauth/callback when you host AnythingMCP yourself.
  4. Save, copy the Client ID and Client Secret into WHOOP_CLIENT_ID and WHOOP_CLIENT_SECRET, install the connector, click Authorize with Provider and allow access with the WHOOP account whose data the AI should read. Access tokens last about an hour and are renewed automatically; WHOOP replaces the refresh token on every renewal.
  5. Run whoop_get_profile to check the connection.

Workflow

  • Who is connected: whoop_get_profile; height, weight and max heart rate: whoop_get_body_measurement.
  • Today and recent days: whoop_list_cycles (a cycle is one WHOOP day, from waking up to waking up the next day; the newest cycle has no end while it is running). For one day go from the cycle id to whoop_get_cycle, whoop_get_cycle_recovery and whoop_get_cycle_sleep.
  • Recovery trend: whoop_list_recoveries with start and end (each recovery carries cycle_id and sleep_id).
  • Sleep: whoop_list_sleeps for nights and naps (nap: true), whoop_get_sleep for one by id.
  • Training: whoop_list_workouts, then whoop_get_workout for one by id.

Reading the answers

  • Only records with score_state: SCORED carry a score. PENDING_SCORE means WHOOP is still computing it (try again later), UNSCORABLE means it never will be (for example the strap was not worn).
  • Times (start, end, created_at) are UTC in ISO 8601; timezone_offset (e.g. -05:00) is the member's local offset at that time. Convert before naming a local time or a calendar day.
  • Durations end in _milli and are milliseconds: divide by 3,600,000 for hours. hrv_rmssd_milli is the heart rate variability in milliseconds.
  • Strain is WHOOP's 0 to 21 scale; kilojoule is energy (divide by 4.184 for kilocalories). Percentages are 0 to 100. Heart rates are beats per minute.
  • Ids: cycles have integer ids; sleeps and workouts have UUIDs.

Paging: list tools return up to limit records (at most 25, default 10) in records, newest first, and a next_token while more exist. Pass it as next_token with the same start and end; stop when it is missing. Narrow long histories with start and end instead of paging through everything.

Limits: 100 requests per minute and 10,000 per day per app by default; over that WHOOP answers 429.

Errors: 401 means the authorization expired or was revoked (click Authorize with Provider again), 403 or an empty answer for one kind of data usually means its scope was not granted, 404 an unknown id.

Your AI is two clicks away from WHOOP.

Install the connector, paste your credentials, ask your AI a question. 7-day free trial, no credit card.