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 CloudClaude is AI and can make mistakes. Please double-check responses.
Setup in 2 minutes
- 1Start a free trial on cloud.anythingmcp.com.
- 2Click WHOOP in the connector store. Paste credentials when prompted.
- 3Mint an MCP API key and point your AI client at the generated MCP URL.
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)
- 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).
- Click Create App. Under Scopes tick
read:profile,read:body_measurement,read:cycles,read:recovery,read:sleepandread:workout. The connector also asks foroffline, which WHOOP needs to issue a refresh token. - Under Redirect URIs add
https://cloud.anythingmcp.com/api/mcp-oauth/callbackon AnythingMCP Cloud, or<your AnythingMCP URL>/api/mcp-oauth/callbackwhen you host AnythingMCP yourself. - Save, copy the Client ID and Client Secret into
WHOOP_CLIENT_IDandWHOOP_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. - Run
whoop_get_profileto 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 noendwhile it is running). For one day go from the cycleidtowhoop_get_cycle,whoop_get_cycle_recoveryandwhoop_get_cycle_sleep. - Recovery trend:
whoop_list_recoverieswithstartandend(each recovery carriescycle_idandsleep_id). - Sleep:
whoop_list_sleepsfor nights and naps (nap: true),whoop_get_sleepfor one by id. - Training:
whoop_list_workouts, thenwhoop_get_workoutfor one by id.
Reading the answers
- Only records with
score_state: SCOREDcarry ascore.PENDING_SCOREmeans WHOOP is still computing it (try again later),UNSCORABLEmeans 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
_milliand are milliseconds: divide by 3,600,000 for hours.hrv_rmssd_milliis the heart rate variability in milliseconds. - Strain is WHOOP's 0 to 21 scale;
kilojouleis 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.