
Totem MCP Server
by briangaooio.github.briangaoo/totemv1.4.3
Totem — talk to your wearables with AI. Today: full Whoop access (48 tools).
context tax
queued
security
queued
cold start
queued
freshness
Active24d ago
Install Totem MCP server
Install in Claude Code
claude mcp add totem -e WHOOP_IOS_BEARER_TOKEN='<whoop-ios-bearer-token>' -e WHOOP_COGNITO_REFRESH_TOKEN='<whoop-cognito-refresh-token>' -e WHOOP_EMAIL='<whoop-email>' -- npx -y @briangaoo/totemInstall in Cursor
{
"mcpServers": {
"totem": {
"command": "npx",
"args": [
"-y",
"@briangaoo/totem"
],
"env": {
"WHOOP_IOS_BEARER_TOKEN": "<whoop-ios-bearer-token>",
"WHOOP_COGNITO_REFRESH_TOKEN": "<whoop-cognito-refresh-token>",
"WHOOP_EMAIL": "<whoop-email>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"totem": {
"command": "npx",
"args": [
"-y",
"@briangaoo/totem"
],
"env": {
"WHOOP_IOS_BEARER_TOKEN": "<whoop-ios-bearer-token>",
"WHOOP_COGNITO_REFRESH_TOKEN": "<whoop-cognito-refresh-token>",
"WHOOP_EMAIL": "<whoop-email>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"totem": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@briangaoo/totem"
],
"env": {
"WHOOP_IOS_BEARER_TOKEN": "<whoop-ios-bearer-token>",
"WHOOP_COGNITO_REFRESH_TOKEN": "<whoop-cognito-refresh-token>",
"WHOOP_EMAIL": "<whoop-email>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"totem": {
"command": "npx",
"args": [
"-y",
"@briangaoo/totem"
],
"env": {
"WHOOP_IOS_BEARER_TOKEN": "<whoop-ios-bearer-token>",
"WHOOP_COGNITO_REFRESH_TOKEN": "<whoop-cognito-refresh-token>",
"WHOOP_EMAIL": "<whoop-email>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| WHOOP_IOS_BEARER_TOKEN | yes | yes | Whoop 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_TOKEN | yes | yes | Whoop 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_EMAIL | yes | — | Your Whoop account email. Used only by `totem auth` — the running server reads tokens, not credentials. |
| WHOOP_USER_ID | — | — | Your numeric Whoop user ID. Optional — used by whoop_profile and whoop_leaderboard. Avoids one redundant bootstrap call per session if set. |
| WHOOP_TIMEZONE | — | — | IANA 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). |
Freshness
Active — last maintenance signal 24d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-09-16 · 24d ago · GitHub
Latest release
2026-09-08 · 31d ago · GitHub · v1.5.1
Package published
no data · npm/PyPI
Registry entry updated
2026-06-08 · 4mo ago · official registry · v1.4.3
FAQ
›How do I install the Totem MCP server in Claude Code?
Run: claude mcp add totem -e WHOOP_IOS_BEARER_TOKEN='<whoop-ios-bearer-token>' -e WHOOP_COGNITO_REFRESH_TOKEN='<whoop-cognito-refresh-token>' -e WHOOP_EMAIL='<whoop-email>' -- npx -y @briangaoo/totem. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Totem require an API key?
Yes. It expects WHOOP_IOS_BEARER_TOKEN, WHOOP_COGNITO_REFRESH_TOKEN, WHOOP_EMAIL, of which 2 are secrets.
›Can I use Totem as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Totem in the official MCP registry?
Yes, as io.github.briangaoo/totem.