
Whoop Mcp Server
io.github.rajdeepmondaldotcom由 GitHub 账号 rajdeepmondaldotcom 发布v0.0.12更新于 Oct 24, 2026
WHOOP recovery, sleep, strain, and workouts for any AI. Analysis tools, demo mode, fast setup.
概览
一个本地 MCP 服务器,把 WHOOP 的恢复、睡眠、负荷和训练数据接入 AI 助手,计算趋势与相关性并用自然语言回答健康问题。
- 可以做什么
- 获取 WHOOP 记录:睡眠、训练、周期、恢复、个人资料及旧版活动 ID 映射,可选原始数据和周视图。分析健康数据:每日摘要、健康总览、恢复与负荷趋势、相关性、时段对比和个人纪录。将完整历史记录导出为本地 JSON 和 CSV 文件。查看连接状态并启动 WHOOP 账户授权流程。提供 ChatGPT 所需的 search 和 fetch 工具,以及就绪度、周回顾、睡眠教练和训练计划等现成提示词。
- 适用场景
- 适合希望让助手基于自己的 WHOOP 数据回答问题的人,例如今天是否该高强度训练、什么在影响恢复、本季度与之前相比如何,而不必自己看图表。
- 运行要求
- 通过 uv 或 pipx 在本地运行(Python 包)。需要 WHOOP 账户和会员资格,以及 Claude Desktop、Claude Code、Cursor、Windsurf、VS Code 或 ChatGPT 等 MCP 客户端。安装向导会创建你自己的免费 WHOOP 开发者应用,需要 WHOOP_CLIENT_ID 和 WHOOP_CLIENT_SECRET 并保存在本地。需访问 api.prod.whoop.com。设置 WHOOP_MCP_DEMO=1 可在无账户时使用生成的演示数据。
安装
在 SourceWeft 中
- 打开 控制台中的 Whoop Mcp Server,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
whoop-mcp-server
Your WHOOP shows you charts. It can't answer "should I train hard today" or "what actually hurts my recovery". This server can.
It connects your WHOOP data to Claude, ChatGPT, and any MCP client. You ask in plain English. It computes the answer from your own records and lets the AI explain it.
[CI] [Python 3.10+] [License: MIT] [MCP] [Glama]
Runs on your machine. Read-only. The only network peer is api.prod.whoop.com. No telemetry. MIT.
What you need
- A WHOOP account. Any membership works.
- uv or pipx, to install one command line tool.
- An MCP client: Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, or ChatGPT.
One constraint to know before you start. WHOOP has no shared developer app, so during setup you create your own free one. It takes about two minutes of clicking, and it is the reason this is private by design: your tokens belong to your app, on your machine, and your health data never routes through anyone else's server. Including mine.
Set it up
Install the tool:
(pipx install whoop-mcp-server works the same.)
Then run the one command that does everything:
Here is what happens, in order, so nothing surprises you:
-
Your WHOOP app. The wizard opens WHOOP's developer dashboard and tells you exactly what to click: create a team, create an app, enable every scope including
offline, set the redirect URL to exactlyhttp://localhost:8765/callback. The form requires a privacy policy URL. Use this repo's:https://github.com/rajdeepmondaldotcom/whoop-mcp-server/blob/main/PRIVACY.md. Copy the Client ID and Secret, paste them into the terminal. They're stored locally with 0600 permissions. -
Authorize. Your browser opens WHOOP's consent screen. Approve it. Tokens land in
~/.whoop-mcpand refresh themselves from then on. You never do this again. -
Proof. The wizard makes a live API call and prints your actual latest recovery. If anything is misconfigured, you find out here, in the terminal, not later in a chat window.
-
Your clients. It detects Claude Desktop, Cursor, Windsurf, VS Code, and Claude Code, and writes their configs for you. Existing config is backed up before any edit. If Claude Desktop is running, the wizard asks to quit it first, because Desktop silently overwrites config edits made while it's open. Then it launches the configured command once and confirms the server answers. "Done" means verified, not hopeful.
Restart your client. Ask it: "How did I sleep last night?" Then ask the better question: "Give me the full picture of my health this quarter."
Two useful asides. If you want to see the tools work before connecting anything, whoop-mcp-server serve --demo serves 150 days of realistic generated data through the same pipeline. And if anything misbehaves later, whoop-mcp-server doctor names what's wrong and the fix.
What you can ask
24 tools cover every public user-readable endpoint in WHOOP's API, plus the analysis layer that turns records into answers.
Dates are plain English everywhere: yesterday, last 30 days, this week, 2 years ago, 2026-05.
ChatGPT's required search and fetch tools are implemented too, plus 4 resources and 4 ready-made prompts (morning_readiness, weekly_review, sleep_coach, training_planner).
More questions worth asking: docs/PROMPTS.md.
Works with
ChatGPT setup
ChatGPT connects to remote MCP servers, so expose the HTTP transport and tunnel it:
Then in ChatGPT: Settings, Apps & Connectors, Advanced settings, enable Developer mode, create a connector with https://<your-tunnel>/mcp and no auth.
Be careful here: a no-auth tunnel means anyone with the URL can read your health data. Keep the URL private and the tunnel short-lived. Claude's stdio setup never exposes anything.
Why the answers hold up
The model is maybe 20% of this product. The other 80% is making the numbers right. Models are bad at arithmetic over 90 days of records, so this server computes first and lets the model explain.
- Trend lines are fit to date-sorted series. WHOOP returns records newest-first. Fit arrival order instead and every trend reads backwards.
- Direction respects what the metric means. Rising HRV is improvement. Rising resting heart rate is not.
- Records land on calendar days using their own timezone offset. A sleep belongs to the morning you woke up, even when you travel.
- WHOOP rotates both OAuth tokens on every refresh. Refreshes here are serialized, saved before use, and shared across concurrent requests. Re-running auth rescues a live server without a restart.
- The client honors WHOOP's rate-limit headers, retries with backoff, and caps pagination. When a result is truncated or approximate, the output says so instead of pretending it's complete.
What it can't do: WHOOP's public API has no endpoints yet for Peak features like the stress monitor and healthspan. When WHOOP ships them, they land here. The overnight sensor stream isn't enabled for every account, and the tool reports that instead of failing. Bulk export intentionally fetches the collection endpoints; raw sleep streams are available per sleep with get_sleep_stream(include_raw=true).
105 tests, all offline against a faked WHOOP API. CI on Python 3.10 to 3.13.
CLI
Configuration
Nothing required after whoop-mcp-server setup. Overrides, in priority order: process env, ./.env, ~/.whoop-mcp/.env, ~/.whoop-mcp/config.json.
Privacy
Read-only against WHOOP. Tokens stored locally with 0600 permissions. The only writes are local files you ask for (export_data) and the OAuth flow you trigger. One thing worth knowing: aggregates like trends and correlations can reveal more about you than single records. Connect this only to AI clients you trust with health data. Full policy: PRIVACY.md. Vulnerabilities: SECURITY.md.
Contributing
The whole test suite runs offline. CONTRIBUTING.md lists the invariants that keep the data honest. The short version of the architecture: client.py talks to WHOOP, transform.py cleans the records, summaries.py and analytics.py do the math, server.py exposes the tools. oauth.py and tokens.py own auth. demo.py is the generated account.
Troubleshooting
License
MIT. See LICENSE. Not affiliated with or endorsed by WHOOP. WHOOP is a trademark of WHOOP, Inc.
来源:README.md,提交 e7a4d5d
工具
0版本历史
1- v0.0.12最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分