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 天免费 · 无需信用卡 · EU 托管
问 WHOOP 任何事
通过 AnythingMCP 对 WHOOP 试一个真实提示 — Claude 调用工具并返回答案。在你的消息上按 Enter 即可在 Cloud 安装。
在 Cloud 上安装 WHOOPClaude 是 AI,可能会出错。请核对回答。
2 分钟设置
- 1在 cloud.anythingmcp.com 开始免费试用。
- 2在连接器商店点击 WHOOP。提示时粘贴凭据。
- 3生成 MCP API 密钥,将 AI 客户端指向生成的 MCP URL。
配置 WHOOP
直接来自连接器定义:在哪里获取凭据、需要哪些权限,以及该适配器调用的是哪个 API。 由连接器作者以英文提供。
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.