跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 WHOOP,然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
AnythingMCP 已收录在 Claude 的连接器目录中:一键添加到 Claude (在新标签页中打开),然后登录并选择 Claude 可以使用哪些 MCP 服务器。
摘要
通过 WHOOP Developer API v2 和 OAuth 读取 WHOOP 会员的恢复、HRV、静息心率、睡眠和小睡(含睡眠阶段)、每个周期的日负荷、带心率区间的训练、个人资料和身体数据。只读。
试试这样问
WHOOP 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → WHOOP、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
WHOOP + Claude
通过 WHOOP Developer API v2 和 OAuth 读取 WHOOP 会员的恢复、HRV、静息心率、睡眠和小睡(含睡眠阶段)、每个周期的日负荷、带心率区间的训练、个人资料和身体数据。只读。
前提条件
完整的设置说明已内置在连接器中 (在 store 中选择连接器时可见)。所需环境变量:
WHOOP_CLIENT_ID, WHOOP_CLIENT_SECRET
步骤 1 — 获取凭证
设置大约需要 10 分钟,只需做一次。你需要一个 WHOOP 账户。
- 打开 WHOOP Developer Dashboard(https://developer-dashboard.whoop.com),用 WHOOP 账户登录。按提示创建一个团队(一个团队最多可容纳 5 个应用)。
- 点击 Create App。在 Scopes 下勾选
read:profile、read:body_measurement、read:cycles、read:recovery、read:sleep和read:workout。连接器还会请求offline,WHOOP 需要它才能签发刷新令牌。 - 在 Redirect URIs 下添加回调地址:AnythingMCP Cloud 上为
https://cloud.anythingmcp.com/api/mcp-oauth/callback,自行托管 AnythingMCP 时为<your AnythingMCP URL>/api/mcp-oauth/callback。 - 保存,并把 Client ID 和 Client Secret 复制到
WHOOP_CLIENT_ID和WHOOP_CLIENT_SECRET。安装连接器,点击 Authorize with Provider,并用 AI 需要读取其数据的 WHOOP 账户允许访问。 - 运行
whoop_get_profile检查连接。
访问令牌有效期约一小时,会自动续期;WHOOP 在每次续期时都会更换刷新令牌。
可读取的内容:已连接会员的个人资料和身体数据(身高、体重、最大心率);生理周期,一个周期就是一个 WHOOP 日,从醒来到下一次醒来,包括日负荷、能量消耗和心率;每个周期的恢复情况,包括恢复分数、HRV、静息心率,以及 WHOOP 4.0 或更新设备上的 SpO2 和皮肤温度;睡眠和小睡,包括各睡眠阶段的时长、睡眠需求、睡眠表现、一致性、效率和呼吸频率;以及训练,包括运动项目、负荷、心率、能量消耗、距离、海拔和在各心率区间的时长。
查找某一天:AI 列出周期(最新的周期在进行中时没有 end),并从周期 ID 找到对应的恢复和睡眠。分析趋势时,它会列出某个 start 和 end 之间的恢复、睡眠或训练记录。
只读:所有工具都只读。WHOOP API 不提供任何写入数据的方式,因此没有需要确认的操作,安装时也没有被关闭的工具。日志条目、压力监测、心率数据流和 WHOOP Coach 不属于公开 API。
格式:只有 score_state 为 SCORED 的记录才带有分数;PENDING_SCORE 表示 WHOOP 仍在计算,UNSCORABLE 表示永远不会有分数(例如没有佩戴手环时)。时间为 UTC,timezone_offset 是会员所在地的时差,AI 会先应用它再确定当地日期。以 _milli 结尾的时长单位为毫秒。负荷采用 WHOOP 的 0 到 21 分制,kilojoule 表示能量(除以 4.184 得到千卡),百分比为 0 到 100,心率单位为每分钟心跳次数。
限制:列表工具每次调用最多返回 25 条记录,最新的在前,还有更多记录时会返回 next_token。WHOOP 默认允许每个应用每分钟 100 次、每天 10,000 次请求;超出后返回 429。
常见错误:401 表示授权已过期或被撤销(请再次点击 Authorize with Provider),某类数据返回 403 或空结果通常表示未授予相应的权限范围,404 表示 ID 未知。
步骤 2 — 安装 adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
步骤 3 — 在 Claude 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
推荐路径:在 claude.ai web 上工作,无需触碰任何配置文件。
- 在 Claude 中打开 Customize → Connectors。
- 点击 +,然后点击 Add custom connector。
- 输入名称(例如
WHOOP)和远程 MCP 服务器 URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID,然后点击 Add。 - 点击 Connect,登录 AnythingMCP(OAuth)并允许访问。
下面所有工具都会出现在你的聊天中,开始输入提示。
可用工具
| Tool | What it does |
|---|---|
whoop_get_profile | The signed-in WHOOP member: user_id, email, first and last name |
whoop_get_body_measurement | The member's body measurements as stored in WHOOP: height_meter, weight_kilogram and the max_heart_rate WHOOP calculated |
whoop_list_cycles | Physiological cycles (one WHOOP day, from waking to waking), newest first: id, start, end (missing for the current cycle), timezone_offset… |
whoop_get_cycle | One physiological cycle by id: start, end, score_state and score (strain, kilojoule, average and max heart rate) |
whoop_get_cycle_sleep | The main sleep that belongs to a cycle (the sleep before that WHOOP day), with stages, sleep need, performance, consistency and efficiency |
whoop_get_cycle_recovery | The recovery of a cycle: recovery_score (0 to 100 %), resting_heart_rate, hrv_rmssd_milli, and on WHOOP 4.0 or newer spo2_percentage and… |
whoop_list_recoveries | Recoveries, newest first (by the start of their cycle): cycle_id, sleep_id, score_state and score with recovery_score (0 to 100 %)… |
whoop_list_sleeps | Sleeps and naps, newest first: id (UUID), cycle_id, start, end, nap, score_state and score with time in bed and per stage (light, slow… |
whoop_get_sleep | One sleep or nap by its UUID, with the full score (stage summary, sleep need, performance, consistency, efficiency, respiratory rate) |
whoop_list_workouts | Workouts, newest first: id (UUID), sport_name, start, end, score_state and score with strain, average and max heart rate, kilojoule… |
whoop_get_workout | One workout by its UUID: sport, times, strain, heart rate, kilojoule, distance, altitude and heart rate zone durations |
示例提示
- “我今天的恢复分数是多少?我的 HRV 和静息心率与 30 天平均值相比如何?”
- “这周我每晚睡了多久?其中有多少是 REM 睡眠和慢波睡眠?”
- “列出我过去两周的训练,包括运动项目、负荷以及在心率区间 4 和 5 的时长。”
- “在日负荷超过 15 之后的那些早上,我的恢复情况怎么样?”
- “这个月我有没有小睡?每次多久?”
FAQ
Claude Code 和 Claude Desktop 一样工作吗? 是的,两者都指向 https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID。
下一步
这份指南对你有帮助吗?