Totem — MCP-сервер для данных Whoop

totem

MCP-сервер открывает ассистенту данные Whoop через закрытый API приложения: сон, восстановление, нагрузка, запись тренировок

  • 142 ★ репозитория
  • Последний коммит
MCP-сервер

Широкий доступ

Почему такой уровень

  • Доступ к аккаунту через закрытый API нарушает условия Whoop, возможна блокировка
  • Инструменты пишут тренировки, журнал и профиль, а токены входа лежат в файле на диске
  • Данные о сне, пульсе и здоровье уходят в модель
Все причины и проверки

thebriangao/totem

Установка

Ручная установка

git clone https://github.com/thebriangao/totem.git && cd totem && npm install && npx tsc && npm link

Сборка из исходников по README, нужен Node 24 или новее.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Доступ к аккаунту через закрытый API нарушает условия Whoop, возможна блокировка
  • Инструменты пишут тренировки, журнал и профиль, а токены входа лежат в файле на диске
  • Данные о сне, пульсе и здоровье уходят в модель

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Totem запускает локальный процесс на Node и регистрирует 55 инструментов. Они читают восстановление, сон со стадиями, нагрузку, тренды HRV и пульса покоя, журнал поведения, стресс, зоны пульса и силовые тренировки Strength Trainer. Отдельный инструмент передает вопрос встроенному ИИ-коучу Whoop. Часть инструментов пишет данные: записывает тренировку, добавляет запись в журнал, правит профиль и зоны пульса, настраивает умный будильник. Каждая запись по умолчанию возвращает только предпросмотр запроса, и ассистент повторяет вызов с подтверждением после вашего ответа. Сервер обращается к тому же API, что мобильное приложение Whoop, и сам обновляет токен входа. Он работает по stdio для локального клиента или по HTTP, если развернуть его на хостинге и подключить как коннектор к Claude и ChatGPT.

Для кого. Владельцам Whoop, которые разбирают сон, восстановление и тренировки в диалоге с ассистентом.

Подходит, если

  • Восстановление упало, и хочется сопоставить сон, нагрузку и записи журнала за неделю
  • Нужно сравнить два периода по HRV и пульсу покоя и увидеть тренд за 30 дней
  • Силовые тренировки идут через Strength Trainer, и интересны рекорды и прогрессия по упражнению
  • Утром лень открывать приложение, а сводка дня с советом по нагрузке нужна сразу

Не подходит, если

  • Хватает публичного OAuth-API Whoop: восстановление, сон и тренировки за день есть и там, без закрытого доступа
  • Аккаунт Whoop единственный, и блокировка за неподдерживаемый доступ недопустима
  • Нужен готовый сервис без командной строки, а установка здесь идет сборкой из исходников

Пример запроса к агенту

Как у меня дела сегодня по Whoop? Сравни восстановление и сон за две недели и скажи, что тянет показатели вниз.

MCP

Транспорт
stdio, http
Авторизация
ключ необязателен

Переменные окружения

MCP_AUTH_TOKEN секрет
Токен доступа для HTTP-режима, мастер `totem cloud` создает его сам.

Ограничения

Сервер работает через закрытый API iOS-приложения, найденный перехватом трафика. Условия Whoop такой доступ не разрешают, и автор прямо предупреждает о возможной блокировке аккаунта. Токены входа живут около 30 дней, потом нужна команда `totem auth`.

Нужны Node 24 или новее и сборка из исходников. Адаптеры Fitbit, Apple Watch и Garmin заявлены, но не готовы. Последний коммит сделан в сентябре 2026 года.

Как отключить. Удалите запись totem из конфигурации клиента, остановите или снесите развернутый сервер и сотрите файл `.env` с токенами. Сессии Whoop завершает смена пароля.

Частые вопросы

Разрешает ли Whoop такой доступ?

Нет. Сервер использует закрытый API мобильного приложения, а условия Whoop оставляют компании право принять меры против аккаунтов с неподдерживаемыми интеграциями, вплоть до блокировки. Автор выносит это предупреждение в начало README.

Как подключить Totem к Claude Code?

Выполните `totem local`: мастер запросит вход в Whoop, соберет сервер и пропишет конфигурацию в выбранный клиент. Для работы с телефона есть `totem cloud`, он разворачивает сервер на Fly, Railway, Google Cloud Run или вашем хосте.

Может ли ассистент изменить данные без моего ведома?

Нет, пока вы не подтвердите. Каждый записывающий инструмент по умолчанию отдает предпросмотр запроса, и реальная запись уходит только при повторном вызове с `confirm: true`.

Куда уходят логин и токены?

Остаются в файле `.env` на вашем компьютере, пароль стирается после входа. Исходящий трафик идет только по HTTPS на `api.prod.whoop.com`, телеметрии нет.

Какие данные Whoop умеет читать сервер?

Восстановление, сон со стадиями, нагрузку, HRV и пульс покоя, стресс, журнал поведения, зоны пульса, силовые тренировки и данные женского здоровья. Всего 55 инструментов, из них 15 пишущих.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP-сервер только для чтения: восстановление, сон, HRV, нагрузка и тренировки из WHOOP в Claude, Codex и Cursor.

MCP-серверРасширенный доступ181Звезды репозитория
Официальный

MCP-сервер для учета тренировок: Claude Desktop, Cursor и Cline читают программы, подходы, вес тела и 1ПМ из вашего самостоятельно развернутого openGym

MCP-серверРасширенный доступ21,1 тыс.Звезды репозитория

Неофициальный MCP-сервер Coros: сон, HRV, нагрузка и тренировки из Training Hub и планирование занятий в календаре.

MCP-серверШирокий доступ125Звезды репозитория

MCP-сервер для локальной базы Zepp и Amazfit: агент читает сон, пульс, тренировки и готовит план, данные остаются у вас

MCP-серверШирокий доступ251Звезды репозитория

Strava MCP

Strava MCP Server

MCP-сервер Strava: агент читает ваши тренировки, пульс, ватты, сегменты и маршруты и выгружает маршруты в GPX и TCX

MCP-серверШирокий доступ506Звезды репозитория

Коротко о README

В README собраны установка двумя командами мастера, 55 инструментов с каталогами упражнений и поведений, авторизацию через Cognito, защиту записи и развертывание на хостингах. Отдельный раздел сравнивает сервер с публичным API Whoop и прямо называет возможную блокировку.

Бейдж для README

Сообщить о проблеме