关于 whoop-mcp
whoop-mcp 让 Claude 访问 WHOOP 生物数据,包括恢复、睡眠、负荷和训练记录。数据在本地设备上访问,不会发送到第三方服务器。
主要功能
- 01获取恢复评分和生物指标
- 02查看睡眠时长与阶段
- 03查看每日负荷和心率
- 04浏览近期训练及历史记录
- 05追踪恢复和睡眠趋势
适用场景
- 01查看每日恢复、睡眠和负荷
- 02回顾数日的 HRV 趋势
- 03对照训练与次日恢复情况
- 04根据 WHOOP 数据整理健康概览
MCP 相关
向 Claude 等 MCP 客户端提供工具,以读取 WHOOP 个人资料、恢复、睡眠、负荷、训练和趋势数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @souravpn/whoop-mcpWHOOP_CLIENT_IDOAuth2 Client ID from your WHOOP developer app at developer-dashboard.whoop.comWHOOP_CLIENT_SECRET密钥OAuth2 Client Secret from your WHOOP developer app. Run whoop-mcp-auth-setup once to complete OAuth flow.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
whoop-mcp
一个 Model Context Protocol (MCP) 服务,让 Claude 能够访问你的 WHOOP 生物特征数据——恢复、睡眠、负荷和锻炼。
可以向 Claude 询问:
- “我今天的恢复情况怎么样?”
- “我昨晚睡得怎么样?”
- “我这周的 HRV 趋势如何?”
- “我昨天锻炼的负荷是多少?”
隐私
此应用会在你的设备本地访问 WHOOP 数据。不会向任何第三方服务发送数据。
工具
| 工具 | 返回内容 |
|---|---|
get_recovery | 恢复评分、HRV、静息心率、SpO2 |
get_sleep | 睡眠时长、睡眠阶段(浅睡/深睡/REM)、效率、呼吸频率 |
get_strain | 当日负荷评分、平均/最高心率、卡路里 |
get_latest_workout | 最近一次锻炼——运动项目、时长、负荷、心率区间 |
get_recovery_trend | N 天内的恢复评分(默认 7 天) |
get_sleep_trend | N 天内的睡眠数据(默认 7 天) |
get_workout_history | 最近的锻炼记录(默认 5 条) |
get_profile | 个人资料和身体测量数据 |
设置
1. 创建 WHOOP 开发者应用
- 前往 developer-dashboard.whoop.com
- 使用你的 WHOOP 账号登录
- 创建一个新应用:
- 名称:
whoop-mcp(或任意名称) - 重定向 URI:
http://localhost:8080/callback - Scopes:选择所有只读权限范围和
offline
- 名称:
- 复制你的 Client ID 和 Client Secret
2. 安装
npm install -g @souravpn/whoop-mcp
3. 执行一次性身份验证设置
这会打开浏览器,你登录 WHOOP 后,令牌会保存到 ~/.whoop-mcp-tokens.json:
WHOOP_CLIENT_ID=your_id WHOOP_CLIENT_SECRET=your_secret whoop-mcp-auth-setup
只需执行一次。此后,服务会自动刷新令牌。
4. 添加到 Claude Desktop
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS):
{
"mcpServers": {
"whoop": {
"command": "@souravpn/whoop-mcp",
"env": {
"WHOOP_CLIENT_ID": "your_client_id",
"WHOOP_CLIENT_SECRET": "your_client_secret"
}
}
}
}
重启 Claude Desktop。你应该会在 Settings → Developer 中看到绿色的“running”标记。
5. 测试
打开新聊天并提问:
How's my recovery today?
示例查询
每日状态检查:
What's my recovery, sleep, and strain for today?
趋势分析:
How has my HRV trended over the past 7 days?
锻炼关联分析:
Look at my workouts this week and my recovery scores
the day after each one. Is there a pattern?
完整简报:
Give me a complete health briefing — recovery, last
night's sleep breakdown, and any workouts from yesterday
与 Oura 搭配使用
如果你也使用 Oura Ring,可以同时运行两个 MCP 服务,并让 Claude 交叉对照数据:
{
"mcpServers": {
"whoop": {
"command": "/path/to/whoop-mcp",
"env": { "WHOOP_ACCESS_TOKEN": "your_whoop_token" }
},
"oura": {
"command": "/path/to/oura-mcp",
"env": { "OURA_ACCESS_TOKEN": "your_oura_token" }
}
}
}
然后提问:
Compare my WHOOP and Oura HRV readings for this week.
Do they agree? Which is trending higher?
开发
git clone https://github.com/yourusername/whoop-mcp
cd whoop-mcp
npm install
npm run build
# Test locally
WHOOP_ACCESS_TOKEN=your_token node dist/index.js
项目结构
whoop-mcp/
├── src/
│ ├── index.ts # MCP server + tool definitions
│ └── whoop.ts # WHOOP API client + formatters
├── package.json
├── tsconfig.json
└── README.md
贡献
欢迎提交 PR。以下是一些扩展方向:
- 心率时间序列数据
- 睡眠阶段时间线(每小时的浅睡/深睡/REM)
- 负荷目标建议
- 每周摘要工具
许可证
MIT
致谢
基于 MCP TypeScript SDK 和 WHOOP Developer API 构建。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。