What is the io.github.briangaoo/totem MCP server?
Totem — talk to your wearables with AI. Today: full Whoop access (48 tools).
How to install io.github.briangaoo/totem
Copy-paste configuration for popular MCP clients.
WHOOP_IOS_BEARER_TOKENrequiredsecretWhoop Cognito access token. Obtain via `totem 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 `totem auth`. When this expires, run `totem auth` to get a fresh pair.
WHOOP_EMAILrequiredYour Whoop account email. Used only by `totem 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).
{
"mcpServers": {
"totem": {
"command": "npx",
"args": [
"-y",
"@briangaoo/totem"
],
"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>"
}
}
}
}{
"mcpServers": {
"totem": {
"command": "npx",
"args": [
"-y",
"@briangaoo/totem"
],
"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>"
}
}
}
}{
"mcpServers": {
"totem": {
"command": "npx",
"args": [
"-y",
"@briangaoo/totem"
],
"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>"
}
}
}
}{
"servers": {
"totem": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@briangaoo/totem"
],
"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>"
}
}
}
}claude mcp add totem --env WHOOP_IOS_BEARER_TOKEN=<YOUR_WHOOP_IOS_BEARER_TOKEN> --env WHOOP_COGNITO_REFRESH_TOKEN=<YOUR_WHOOP_COGNITO_REFRESH_TOKEN> --env WHOOP_EMAIL=<YOUR_WHOOP_EMAIL> --env WHOOP_USER_ID=<YOUR_WHOOP_USER_ID> --env WHOOP_TIMEZONE=<YOUR_WHOOP_TIMEZONE> -- npx -y @briangaoo/totemRelated MCP servers
Full read + write access to your Whoop fitness data via the private iOS API. 48 tools.