Privacy-first, unofficial WHOOP MCP server for AI health, sleep, recovery, and performance agents.
Connect Runs on your machine
claude mcp add whoop-mcp -e WHOOP_CLIENT_ID=<WHOOP_CLIENT_ID> -e WHOOP_CLIENT_SECRET=<WHOOP_CLIENT_SECRET> -e WHOOP_REDIRECT_URI=<WHOOP_REDIRECT_URI> -e WHOOP_TOKEN_PATH=<WHOOP_TOKEN_PATH> -e WHOOP_PRIVACY_MODE=<WHOOP_PRIVACY_MODE> -e WHOOP_CACHE=<WHOOP_CACHE> -e WHOOP_CACHE_PATH=<WHOOP_CACHE_PATH> -e WHOOP_NO_CACHE=<WHOOP_NO_CACHE> -- npx -y [email protected]
{
"mcpServers": {
"whoop-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"WHOOP_CLIENT_ID": "<WHOOP_CLIENT_ID>",
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>",
"WHOOP_REDIRECT_URI": "<WHOOP_REDIRECT_URI>",
"WHOOP_TOKEN_PATH": "<WHOOP_TOKEN_PATH>",
"WHOOP_PRIVACY_MODE": "<WHOOP_PRIVACY_MODE>",
"WHOOP_CACHE": "<WHOOP_CACHE>",
"WHOOP_CACHE_PATH": "<WHOOP_CACHE_PATH>",
"WHOOP_NO_CACHE": "<WHOOP_NO_CACHE>"
}
}
}
}
{
"mcpServers": {
"whoop-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"WHOOP_CLIENT_ID": "<WHOOP_CLIENT_ID>",
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>",
"WHOOP_REDIRECT_URI": "<WHOOP_REDIRECT_URI>",
"WHOOP_TOKEN_PATH": "<WHOOP_TOKEN_PATH>",
"WHOOP_PRIVACY_MODE": "<WHOOP_PRIVACY_MODE>",
"WHOOP_CACHE": "<WHOOP_CACHE>",
"WHOOP_CACHE_PATH": "<WHOOP_CACHE_PATH>",
"WHOOP_NO_CACHE": "<WHOOP_NO_CACHE>"
}
}
}
}
{
"servers": {
"whoop-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"WHOOP_CLIENT_ID": "<WHOOP_CLIENT_ID>",
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>",
"WHOOP_REDIRECT_URI": "<WHOOP_REDIRECT_URI>",
"WHOOP_TOKEN_PATH": "<WHOOP_TOKEN_PATH>",
"WHOOP_PRIVACY_MODE": "<WHOOP_PRIVACY_MODE>",
"WHOOP_CACHE": "<WHOOP_CACHE>",
"WHOOP_CACHE_PATH": "<WHOOP_CACHE_PATH>",
"WHOOP_NO_CACHE": "<WHOOP_NO_CACHE>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
WHOOP_CLIENT_IDOptional | WHOOP OAuth client ID. Optional when configured with whoop-mcp-server setup. |
WHOOP_CLIENT_SECRETOptional, secret | WHOOP OAuth client secret. Prefer whoop-mcp-server setup so this secret is stored in ~/.whoop-mcp/config.json instead of MCP client config. |
WHOOP_REDIRECT_URIOptional | Redirect URI configured in the WHOOP Developer Dashboard. Optional when configured with whoop-mcp-server setup. |
WHOOP_TOKEN_PATHOptional | Optional local path for OAuth tokens. Defaults to ~/.whoop-mcp/tokens.json. |
WHOOP_PRIVACY_MODEOptional | Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full WHOOP API payloads, not raw device sensor streams. |
WHOOP_CACHEOptional | Optional SQLite cache toggle. Set to true or sqlite to enable. |
WHOOP_CACHE_PATHOptional | Optional local SQLite cache path. Defaults to ~/.whoop-mcp/cache.sqlite. |
WHOOP_NO_CACHEOptional | Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 3 Jul 2026 |
| Last updated | 3 Jul 2026 |
| Registry name | io.github.davidmosiah/whoop-mcp |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
