Skip to main content
Glama

🏃 WHOOP MCP Server

Подключите свои данные о фитнесе WHOOP к Claude Desktop через протокол Model Context Protocol (MCP)

License: MIT Python 3.8+ MCP

Превратите свои данные о фитнесе WHOOP в полезные инсайты с помощью запросов на естественном языке в Claude Desktop. Задавайте вопросы о своих тренировках, восстановлении, режиме сна и многом другом — и все это при сохранении безопасности и конфиденциальности ваших данных.

🚀 НОВИНКА: Попробуйте хостинг-версию Smithery для развертывания без настройки!

✨ Функции

🔐 Безопасная интеграция OAuth - Безопасное подключение учетной записи WHOOP с зашифрованным локальным хранилищем 🏃 Полный доступ к данным - Тренировки, восстановление, сон, циклы и информация профиля 🤖 Запросы на естественном языке - Спрашивайте Claude о своих фитнес-данных на обычном языке ⚡ Умное кэширование - Оптимизированная производительность с интеллектуальным кэшированием данных 🛡️ Приоритет конфиденциальности - Все данные остаются на вашем компьютере и никогда не передаются третьим лицам 🔄 Автоматическое обновление токенов - Бесперебойная работа с автоматическим продлением аутентификации

Related MCP server: Whoop MCP Server

🚀 Быстрый старт

🎯 Выберите метод развертывания

Вариант А: Хостинг Smithery (рекомендуется для новичков)

  • ✅ Нулевая сложность установки

  • ✅ Автоматические обновления и обслуживание

  • ✅ Хостинг корпоративного уровня

  • ➡️ Начать работу со Smithery

Вариант Б: Локальная установка (для опытных пользователей)

  • ✅ Полный контроль и конфиденциальность

  • ✅ Отсутствие внешних зависимостей

  • ✅ Возможность настройки и расширения

  • ➡️ Продолжите с локальной настройкой ниже


📦 Локальная установка

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

  • Python 3.8+

  • Claude Desktop

  • Активная учетная запись WHOOP

2. Установка

git clone https://github.com/romanevstigneev/whoop-mcp-server.git
cd whoop-mcp-server
pip install -r requirements.txt

3. Настройка

Вариант А: Интерактивная настройка (рекомендуется)

Запустите интерактивную настройку:

python setup.py

Это позволит:

  • Открыть браузер для авторизации WHOOP OAuth

  • Безопасно сохранить ваши токены локально

  • Предоставить конфигурацию для Claude Desktop

Вариант Б: Ручная настройка WHOOP OAuth

Если интерактивная настройка не работает, вы можете получить токены WHOOP вручную:

  1. Откройте страницу WHOOP OAuth: 👉 Нажмите здесь, чтобы авторизовать доступ к WHOOP

  2. Авторизуйте свою учетную запись:

    • Войдите в систему, используя свои учетные данные WHOOP

    • Предоставьте разрешения для запрошенных областей (scopes):

      • read:profile - Доступ к информации вашего профиля

      • read:workout - Доступ к данным о тренировках

      • read:recovery - Доступ к данным о восстановлении

      • read:sleep - Доступ к данным о сне

      • offline - Токен обновления для постоянного доступа

  3. Скопируйте код авторизации:

    • После авторизации вы увидите страницу успеха

    • Скопируйте весь код авторизации (длинная строка, начинающаяся с букв/цифр)

    • Он выглядит так: ABC123...XYZ789 (намного длиннее)

  4. Обменяйте код на токены:

    python -c "
    import sys
    sys.path.insert(0, './src')
    from auth_manager import TokenManager
    import requests
    
    # Paste your authorization code here
    auth_code = 'YOUR_AUTHORIZATION_CODE_HERE'
    
    # Exchange for tokens
    url = f'https://personal-integrations-462307.uc.r.appspot.com/api/get-tokens/{auth_code}'
    response = requests.get(url, timeout=30)
    
    if response.status_code == 200:
        token_data = response.json()
        if token_data.get('success'):
            # Save tokens
            token_manager = TokenManager()
            token_manager.save_tokens(token_data)
            print('✅ Tokens saved successfully!')
        else:
            print('❌ Token exchange failed')
    else:
        print(f'❌ HTTP Error: {response.status_code}')
    "
  5. Проверьте настройку:

    python -c "
    import sys
    sys.path.insert(0, './src')
    from whoop_client import WhoopClient
    client = WhoopClient()
    print(f'✅ Auth status: {client.get_auth_status()}')
    "

4. Настройка Claude Desktop

Добавьте в настройки Claude Desktop:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/claude/claude_desktop_config.json

{
  "mcpServers": {
    "whoop": {
      "command": "/opt/miniconda3/bin/python",
      "args": ["/path/to/whoop-mcp-server/src/whoop_mcp_server.py"],
      "env": {
        "PYTHONPATH": "/path/to/whoop-mcp-server/src"
      }
    }
  }
}

⚠️ Важно: Используйте полный путь к Python (найдите свой с помощью which python3)

5. Перезапустите Claude Desktop

После добавления конфигурации перезапустите Claude Desktop, чтобы загрузить сервер WHOOP.

💡 Примеры использования

После настройки вы можете спросить Claude:

  • "Покажи мой профиль WHOOP"

  • "Какие у меня были тренировки на этой неделе?"

  • "Какая динамика моего восстановления?"

  • "Покажи мои данные о сне за последние 7 дней"

  • "Как выглядит мой HRV?"

  • "Сравни мое восстановление с прошлым месяцем"

🛠️ Доступные инструменты

get_whoop_profile

Получить информацию о вашем профиле пользователя WHOOP.

get_whoop_workouts

Получить данные о тренировках с дополнительными фильтрами:

  • start_date (ГГГГ-ММ-ДД)

  • end_date (ГГГГ-ММ-ДД)

  • limit (количество результатов)

get_whoop_recovery

Получить данные о восстановлении с дополнительными фильтрами:

  • start_date (ГГГГ-ММ-ДД)

  • end_date (ГГГГ-ММ-ДД)

  • limit (количество результатов)

get_whoop_sleep

Получить данные о сне с дополнительными фильтрами:

  • start_date (ГГГГ-ММ-ДД)

  • end_date (ГГГГ-ММ-ДД)

  • limit (количество результатов)

get_whoop_cycles

Получить физиологические циклы (ежедневные данные) с дополнительными фильтрами:

  • start_date (ГГГГ-ММ-ДД)

  • end_date (ГГГГ-ММ-ДД)

  • limit (количество результатов)

get_whoop_auth_status

Проверить статус аутентификации и информацию о токене.

clear_whoop_cache

Очистить кэшированные данные, чтобы принудительно выполнить новые вызовы API.

🔐 Безопасность

  • Шифрование токенов: Все токены зашифрованы в состоянии покоя с использованием шифрования AES

  • Локальное хранилище: Токены хранятся локально на вашем компьютере и никогда не передаются третьим лицам

  • Безопасные разрешения: Файлы токенов имеют ограниченные разрешения (600)

  • Автоматическое обновление: Токены автоматически обновляются по истечении срока действия

📊 Кэширование данных

  • Умное кэширование: Ответы API кэшируются на 5 минут для повышения производительности

  • Ограничение частоты запросов (Rate Limiting): Встроенное ограничение частоты запросов для соблюдения лимитов API WHOOP

  • Управление кэшем: Доступна ручная очистка кэша

🔧 Конфигурация

Переменные среды (необязательно):

  • LOG_LEVEL: Уровень логирования (DEBUG, INFO, WARNING, ERROR)

  • LOG_FILE: Путь к файлу логов (по умолчанию: только консоль)

🆚 Сравнение развертывания

Функция

Хостинг Smithery

Локальная установка

Время настройки

⚡ 2 минуты

⏱️ 10-15 минут

Сложность

🟢 Для новичков

🟡 Требуется техническая настройка

Обслуживание

✅ Нулевое (автообновление)

🔧 Требуются ручные обновления

Производительность

🚀 Оптимизированный хостинг

💻 Зависит от локальной настройки

Конфиденциальность

🌐 Хостинг-платформа

🔒 Полностью локально

Зависимости

❌ Нет

🐍 Python, пакеты, OAuth

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

📞 Поддержка платформы

🛠️ Самостоятельно

📁 Структура файлов

whoop-mcp-server/
├── src/                       # Python local installation
│   ├── whoop_mcp_server.py    # Main MCP server
│   ├── whoop_client.py        # WHOOP API client
│   ├── auth_manager.py        # Token management
│   └── config.py              # Configuration
├── smithery/                  # TypeScript source files
│   └── src/
│       ├── index.ts           # Smithery MCP server
│       ├── whoop-client.ts    # TypeScript WHOOP client
│       └── types.ts           # Type definitions
├── storage/                   # Local installation only
│   ├── tokens.json            # Encrypted tokens (auto-generated)
│   └── .encryption_key        # Encryption key (auto-generated)
├── package.json               # Node.js dependencies (Smithery)
├── smithery.yaml              # Smithery configuration (root required)
├── tsconfig.json              # TypeScript configuration
├── setup.py                   # Interactive setup script
└── requirements.txt           # Python dependencies

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

"No valid access token available"

  • Запустите python setup.py для повторной авторизации

  • Убедитесь, что ваша учетная запись WHOOP активна

"Authentication failed"

  • Срок действия ваших токенов мог истечь без возможности обновления

  • Запустите python setup.py, чтобы получить новые токены

"Rate limit exceeded"

  • Подождите минуту перед выполнением новых запросов

  • Рассмотрите возможность использования кэшированных данных или уменьшения частоты запросов

Claude Desktop не видит сервер

  • Используйте полный путь к Python: Измените "command": "python" на "command": "/opt/miniconda3/bin/python" (используйте which python3, чтобы найти свой)

  • Проверьте правильный файл конфигурации: Редактируйте ~/Library/Application Support/Claude/claude_desktop_config.json (не .claude.json)

  • Используйте абсолютные пути: Полные пути, такие как /Users/username/whoop-mcp-server/src/whoop_mcp_server.py

  • Проверьте логи: tail -f ~/Library/Logs/Claude/mcp-server-whoop.log

  • Перезапустите Claude Desktop после внесения изменений в конфигурацию

🔄 Обновление токена

Сервер автоматически обновляет просроченные токены с помощью токена обновления (refresh token). Если это не удается, вам нужно будет повторно авторизоваться:

python setup.py

📝 Логирование

По умолчанию логи записываются в консоль. Чтобы записывать в файл:

export LOG_FILE="/path/to/whoop-mcp.log"
export LOG_LEVEL="INFO"

🤝 Участие в разработке

  1. Сделайте форк репозитория

  2. Создайте ветку для функции

  3. Внесите изменения

  4. Добавьте тесты, если применимо

  5. Отправьте pull request

📄 Лицензия

Этот проект лицензирован по лицензии MIT - подробности см. в файле LICENSE.

⚠️ Отказ от ответственности

Это неофициальная интеграция с WHOOP. Она использует официальный API WHOOP, но не одобрена компанией WHOOP.

📞 Поддержка

  • Ознакомьтесь с разделом устранения неполадок выше

  • Откройте issue на GitHub

  • Изучите документацию API WHOOP по адресу https://developer.whoop.com/

🎯 Дорожная карта

  • [ ] Анализ исторических данных

  • [ ] Запросы по пользовательскому диапазону дат

  • [ ] Функционал экспорта данных

  • [ ] Поддержка вебхуков для обновлений в реальном времени

  • [ ] Расширенная аналитика и инсайты

A
license - permissive license
Not graded
quality - not tested
D
maintenance

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

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Connects WHOOP fitness data to Claude Desktop, enabling natural language queries about workouts, recovery, sleep patterns, and health metrics while keeping data secure and private.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Exposes Whoop fitness data (recovery, sleep, strain, workouts) to Claude for use as a daily training coach, enabling natural language queries about your health metrics and training readiness.
    MIT

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/RomanEvstigneev/whoop-mcp-server'

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