io.github.briangaoo/whoop-mcp
Officialby thebriangao · TypeScript
Full read + write access to your Whoop fitness data via the private iOS API. 48 tools.
Read and write access to Whoop fitness tracking data with 48 integrated tools.
Topics
README not available yet.
Install
Configuration
WHOOP_IOS_BEARER_TOKENrequiredsecretWhoop Cognito access token. Obtain via `whoop-mcp auth` from the repo, which prompts for your Whoop email + password + SMS MFA code, then writes both tokens to a local .env. Auto-refreshes every ~24h.
WHOOP_COGNITO_REFRESH_TOKENrequiredsecretWhoop Cognito refresh token (~30 day lifetime). Obtained alongside the bearer token from `whoop-mcp auth`. When this expires, run `whoop-mcp auth` to get a fresh pair.
WHOOP_EMAILrequiredYour Whoop account email. Used only by `whoop-mcp auth` — the running server reads tokens, not credentials.
WHOOP_USER_IDYour numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set.
WHOOP_TIMEZONEIANA timezone (e.g., America/Los_Angeles) for response timestamps. Optional — if unset, the server auto-detects from your Whoop profile's timezone_offset field (refreshed hourly).
claude_desktop_config.json
{
"mcpServers": {
"whoop-mcp": {
"command": "npx",
"args": [
"-y",
"@briangaoo/whoop-mcp@1.3.0"
],
"env": {
"WHOOP_IOS_BEARER_TOKEN": "<YOUR_WHOOP_IOS_BEARER_TOKEN>",
"WHOOP_COGNITO_REFRESH_TOKEN": "<YOUR_WHOOP_COGNITO_REFRESH_TOKEN>",
"WHOOP_EMAIL": "<YOUR_WHOOP_EMAIL>",
"WHOOP_USER_ID": "<YOUR_WHOOP_USER_ID>",
"WHOOP_TIMEZONE": "<YOUR_WHOOP_TIMEZONE>"
}
}
}
}