Whoop runs on your own machine — the client starts it, so there is no endpoint to ping. 974 installs a week from npm. Last commit 25 Oct 2026.
MCP server for WHOOP health data — recovery, sleep, workouts, cycles, and trends.
We read the source, 7 d ago · rules 995398eba69f
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
const child = spawn(cmd, args, { detached: true, stdio: "ignore" });
…ateElement(tag); for (const [k, v] of Object.entries(a)) { if (k === "class") n.className = v; else if (k === "html") n.innerHTML = v; else if (k.startsWith("on")) n.addEventListener(k.slice(2), v); else if (v != null) n.setAttribute(k, v); } for (const c of kids.flat()) if (c !=…
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add whoop -e 'WHOOP_CLIENT_ID=<WHOOP_CLIENT_ID>' -e 'WHOOP_CLIENT_SECRET=<WHOOP_CLIENT_SECRET>' -- npx -y whoop-ai-mcp
{
"mcpServers": {
"whoop": {
"command": "npx",
"args": [
"-y",
"whoop-ai-mcp"
],
"env": {
"WHOOP_CLIENT_ID": "<WHOOP_CLIENT_ID>",
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>"
}
}
}
}
[mcp_servers.whoop]
command = "npx"
args = ["-y", "whoop-ai-mcp"]
env = { WHOOP_CLIENT_ID = "<WHOOP_CLIENT_ID>", WHOOP_CLIENT_SECRET = "<WHOOP_CLIENT_SECRET>" }
{
"mcpServers": {
"whoop": {
"command": "npx",
"args": [
"-y",
"whoop-ai-mcp"
],
"env": {
"WHOOP_CLIENT_ID": "<WHOOP_CLIENT_ID>",
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>"
}
}
}
}
{
"servers": {
"whoop": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"whoop-ai-mcp"
],
"env": {
"WHOOP_CLIENT_ID": "<WHOOP_CLIENT_ID>",
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>"
}
}
}
}
Put your own values in place of
<WHOOP_CLIENT_ID> (Your WHOOP Developer App Client ID from developer.whoop.com), <WHOOP_CLIENT_SECRET> (Your WHOOP Developer App Client Secret from developer.whoop.com).
The author’s registry entry marks them as required.
MCP server for the official Whoop API v2: cycles, recovery, sleep, workouts, and profile data
MCP server for WHOOP — gives Claude access to your recovery, sleep, strain, and workout data
Local-first, read-only WHOOP MCP server for recovery, sleep, strain, workouts, and body signals
Read WHOOP recovery, sleep, cycles, workouts and body measurements.
Your WHOOP data in the assistant, read-only: recovery, sleep, strain, workouts, cycles and body meas
Local-first Apple Health MCP server for questions about your sleep, workouts and heart data.
Privacy-first, unofficial WHOOP MCP server for AI health, sleep, recovery, and performance agents.
Read-only access to your WHOOP recovery, HRV, sleep, strain, workouts and trends.
Answers built from our own checks of this server.