totem — MCP-сервер для Claude Code: функции и установка
Подключает Whoop к ИИ-агенту через MCP и даёт доступ к данным носимого устройства. Можно запрашивать показатели восстановления, сна и нагрузки.
claude mcp add --env WHOOP_IOS_BEARER_TOKEN=<WHOOP_IOS_BEARER_TOKEN> --env WHOOP_COGNITO_REFRESH_TOKEN=<WHOOP_COGNITO_REFRESH_TOKEN> --env WHOOP_EMAIL=<WHOOP_EMAIL> --env WHOOP_USER_ID=<WHOOP_USER_ID> --env WHOOP_TIMEZONE=<WHOOP_TIMEZONE> --transport stdio thebriangao-totem -- npx -y @thebriangao/totemЧто делает totem
totem связывает Whoop с MCP-совместимым клиентом и предоставляет инструменты для чтения и изменения данных аккаунта. В проекте заявлено 55 инструментов; сервер также обновляет токен Cognito автоматически и использует ограниченный кэш для чтения. Спросите агента о сегодняшнем восстановлении, сне или нагрузке.
Для запуска нужны Node 24+ и аккаунт Whoop. В Claude Code сервер можно подключить через npx; для работы нужны токены Whoop и адрес электронной почты аккаунта. Учтите: сервер обращается к закрытому iOS API Whoop, а не к публичному OAuth API, и такой способ не соответствует условиям Whoop.
Какие задачи решает
- получить показатели восстановления Whoop через MCP
- проверить данные сна и тренировочной нагрузки
- передать ИИ-агенту доступ к данным Whoop
- обновить токены Whoop для развёрнутого сервера
Примеры запросов агенту
- Покажи мои сегодняшние показатели восстановления в Whoop.
- Сравни мой сон и нагрузку за выбранный период.
- Проверь, как изменились мои тренировки в Whoop.
Как установить totem
Командой платформы
claude mcp add --env WHOOP_IOS_BEARER_TOKEN=<WHOOP_IOS_BEARER_TOKEN> --env WHOOP_COGNITO_REFRESH_TOKEN=<WHOOP_COGNITO_REFRESH_TOKEN> --env WHOOP_EMAIL=<WHOOP_EMAIL> --env WHOOP_USER_ID=<WHOOP_USER_ID> --env WHOOP_TIMEZONE=<WHOOP_TIMEZONE> --transport stdio thebriangao-totem -- npx -y @thebriangao/totemВместо <…> подставьте свои значения
Командой платформы
codex mcp add thebriangao-totem --env WHOOP_IOS_BEARER_TOKEN=<WHOOP_IOS_BEARER_TOKEN> --env WHOOP_COGNITO_REFRESH_TOKEN=<WHOOP_COGNITO_REFRESH_TOKEN> --env WHOOP_EMAIL=<WHOOP_EMAIL> --env WHOOP_USER_ID=<WHOOP_USER_ID> --env WHOOP_TIMEZONE=<WHOOP_TIMEZONE> -- npx -y @thebriangao/totemВместо <…> подставьте свои значения
Файл настроек
{
"mcpServers": {
"thebriangao-totem": {
"command": "npx",
"args": [
"-y",
"@thebriangao/totem"
],
"env": {
"WHOOP_IOS_BEARER_TOKEN": "<WHOOP_IOS_BEARER_TOKEN>",
"WHOOP_COGNITO_REFRESH_TOKEN": "<WHOOP_COGNITO_REFRESH_TOKEN>",
"WHOOP_EMAIL": "<WHOOP_EMAIL>",
"WHOOP_USER_ID": "<WHOOP_USER_ID>",
"WHOOP_TIMEZONE": "<WHOOP_TIMEZONE>"
}
}
}
}Вместо <…> подставьте свои значения
Файл настроек
{
"servers": {
"thebriangao-totem": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@thebriangao/totem"
],
"env": {
"WHOOP_IOS_BEARER_TOKEN": "<WHOOP_IOS_BEARER_TOKEN>",
"WHOOP_COGNITO_REFRESH_TOKEN": "<WHOOP_COGNITO_REFRESH_TOKEN>",
"WHOOP_EMAIL": "<WHOOP_EMAIL>",
"WHOOP_USER_ID": "<WHOOP_USER_ID>",
"WHOOP_TIMEZONE": "<WHOOP_TIMEZONE>"
}
}
}
}Вместо <…> подставьте свои значения
Командой платформы
gemini mcp add -e WHOOP_IOS_BEARER_TOKEN=<WHOOP_IOS_BEARER_TOKEN> -e WHOOP_COGNITO_REFRESH_TOKEN=<WHOOP_COGNITO_REFRESH_TOKEN> -e WHOOP_EMAIL=<WHOOP_EMAIL> -e WHOOP_USER_ID=<WHOOP_USER_ID> -e WHOOP_TIMEZONE=<WHOOP_TIMEZONE> thebriangao-totem npx -y @thebriangao/totemВместо <…> подставьте свои значения
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о totem
Как установить totem в 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 @thebriangao/totem`. Подставьте значения токенов и почты Whoop.
Что делает totem?
Подключает данные Whoop к MCP-совместимому ИИ-клиенту. Сервер предоставляет инструменты для чтения и записи данных носимого устройства.
Какие требования и ограничения есть у totem?
Для запуска нужны Node 24+ и аккаунт Whoop. Сервер использует закрытый iOS API Whoop, а не публичный OAuth API; такой доступ не соответствует условиям Whoop.