Skip to main content
Glama

WHOOP MCP Server

Сервер MCP (Model Context Protocol), который позволяет Claude запрашивать ваши персональные данные WHOOP — восстановление, сон, нагрузку, тренировки и профиль — через официальный REST API WHOOP (v2) с OAuth 2.0.

Каждый пользователь запускает свою собственную копию для своей учетной записи WHOOP: вы регистрируете собственное бесплатное приложение разработчика в WHOOP, и ваши токены/учетные данные хранятся в локальных файлах на вашем компьютере (игнорируются git) — ничего не передается и не отправляется никуда, кроме как напрямую между вашим компьютером и API WHOOP.

git clone https://github.com/vaibhavgoel63-arch/Whoop-MCP.git
cd Whoop-MCP

1. Получите учетные данные API WHOOP

  1. Перейдите на Панель разработчика WHOOP и войдите в систему.

  2. Создайте (или откройте) приложение.

  3. В настройках API приложения установите URI перенаправления точно на:

    http://localhost:8080/callback
  4. Скопируйте Client ID и Client Secret — вы вставите их в .env на шаге 3 ниже.

Related MCP server: Whoop MCP Server

2. Предварительные требования

  • Node.js 18+ (требуется для встроенного API fetch). Проверьте с помощью node --version.

3. Установка и настройка

npm install
cp .env.example .env

Откройте .env и вставьте ваш Client ID и Client Secret с шага 1:

WHOOP_CLIENT_ID=your-client-id-here
WHOOP_CLIENT_SECRET=your-client-secret-here
WHOOP_REDIRECT_URI=http://localhost:8080/callback

⚠️ Вы должны вручную заполнить WHOOP_CLIENT_ID и WHOOP_CLIENT_SECRET — сервер откажется запускать любой поток OAuth, пока они не будут установлены.

4. Сборка и вход в систему (однократно)

npm run build
npm run login

Это:

  1. Запустит временный локальный сервер на http://localhost:8080.

  2. Откроет ваш браузер на экране согласия WHOOP (запрашивая области восстановления, сна, цикла, тренировок, профиля, измерения тела и офлайн/обновления).

  3. После вашего одобрения WHOOP перенаправит обратно на localhost:8080/callback с кодом авторизации.

  4. Скрипт обменяет этот код на токен доступа + токен обновления и сохранит их в token.json (игнорируется git) в корне проекта.

Вам нужно сделать это только один раз. Сервер MCP автоматически обновляет токен доступа, используя токен обновления, когда он истекает (токены доступа WHOOP действуют около 1 часа). Если ваш токен обновления когда-либо будет отозван или истечет, просто повторно запустите npm run login.

5. Подключение к Claude Desktop

Откройте файл конфигурации Claude Desktop:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

Примечание: если вы установили Claude Desktop из Microsoft Store, указанный выше файл может быть просто заглушкой — приложение на самом деле читает %LOCALAPPDATA%\Packages\<папка пакета Claude>\LocalCache\Roaming\Claude\claude_desktop_config.json. Если инструменты не отображаются после выполнения следующих шагов, проверьте там.

Добавьте запись whoop в раздел mcpServers. Замените путь ниже на абсолютный путь к dist/server.js этого проекта на вашем компьютере (найдите его с помощью pwd на macOS/Linux или cd на Windows из папки проекта):

{
  "mcpServers": {
    "whoop": {
      "command": "node",
      "args": ["/absolute/path/to/whoop-mcp/dist/server.js"]
    }
  }
}

⚠️ Вы должны вручную заполнить этот абсолютный путь к месту, куда вы клонировали этот репозиторий. Используйте прямые слэши даже в Windows (например, C:/Users/you/whoop-mcp/dist/server.js) — они отлично работают внутри этого JSON-файла.

Затем полностью перезапустите Claude Desktop (выйдите из системного трея, а не просто закройте окно).

6. Тестирование

  1. В Claude Desktop нажмите на значок инструментов/молотка в поле чата и убедитесь, что вы видите whoop с 6 перечисленными инструментами: get_recovery, get_sleep, get_strain, get_workouts, get_profile, get_training_recommendation.

  2. Попробуйте следующие запросы:

    • "Как прошло мое восстановление на этой неделе?"

    • "Стоит ли мне сегодня интенсивно тренироваться?"

    • "Как я спал последние 3 ночи?"

    • "Покажи мои тренировки за последние 7 дней."

    • "Какая у меня текущая нагрузка и как она соотносится со вчерашней?"

    • "Какая была моя средняя нагрузка в марте 2026 года?" (исторический диапазон, а не просто "последние N дней")

  3. Выборочно проверьте один результат (например, сегодняшний показатель восстановления) в приложении WHOOP, чтобы убедиться, что цифры совпадают.

Справочник инструментов

Инструмент

Описание

get_recovery(days | start+end)

Показатель восстановления, ВСР, частота пульса в покое, SpO2, температура кожи — плюс сводка средних значений

get_sleep(days | start+end)

Процент эффективности сна, процент эффективности и разбивка по стадиям (легкий/глубокий/REM) — плюс сводка средних значений

get_strain(days | start+end)

Ежедневная нагрузка, средняя/максимальная частота пульса, калории в день — плюс сводка средних/общих значений

get_workouts(days | start+end)

Зарегистрированные тренировки с видом спорта, продолжительностью, нагрузкой, частотой пульса, калориями — плюс сводка

get_profile()

Имя, электронная почта, рост, вес, максимальная частота пульса

get_training_recommendation()

Объединяет сегодняшнее восстановление + последние 3 дня сна в зеленую/желтую/красную рекомендацию по тренировке с предупреждением о недосыпе, если производительность была ниже 80% в течение 2+ ночей

Четыре инструмента на основе диапазона принимают либо days (скользящее окно, например, days=7 за последнюю неделю), либо явную пару дат start/end (ГГГГ-ММ-ДД, конец не включительно) для запроса определенного исторического периода, например, start="2026-03-01", end="2026-04-01" за весь март 2026 года. Каждый возвращает объект summary (средние/общие значения) вместе с отдельными ежедневными/ночными records.

Устранение неполадок

  • "Токены WHOOP не найдены" — запустите npm run login.

  • Ошибки 401 / токена после успешной работы — сервер автоматически обновляет токены доступа; если вы видите ошибку обновления, ваш токен обновления, вероятно, был отозван (например, вы удалили доступ приложения в настройках WHOOP). Повторно запустите npm run login.

  • 403 Запрещено — вашему токену не хватает области. Области фиксируются при входе в систему, поэтому повторно запустите npm run login, чтобы получить новый токен с полным набором областей.

  • 429 Слишком много запросов — вы превысили лимит запросов WHOOP (100 запросов/минуту, 10 000/день). Подождите и повторите попытку.

  • Инструменты не отображаются в Claude Desktop — перепроверьте абсолютный путь в claude_desktop_config.json, убедитесь, что вы выполнили npm run build (конфигурация указывает на dist/server.js, а не на src/server.ts), и что вы полностью перезапустили Claude Desktop.

Структура проекта

src/
  auth.ts        # OAuth constants, token load/save, refresh logic
  login.ts        # One-time login script (npm run login)
  whoopClient.ts  # Authenticated WHOOP API client + response normalizers
  server.ts       # MCP server exposing the 6 tools
.env.example      # Template for WHOOP_CLIENT_ID / WHOOP_CLIENT_SECRET / WHOOP_REDIRECT_URI

.env (учетные данные) и token.json (токены доступа/обновления) игнорируются git — никогда не фиксируйте ни один из этих файлов.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.

  • Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.

  • Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vaibhavgoel63-arch/Whoop-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server