Whoop MCP
Servidor MCP local que expone datos de recuperación, sueño y esfuerzo de Whoop a agentes de IA.
Documentación
Servidor MCP de Whoop
Servidor MCP que expone tus datos de fitness de Whoop (recuperación, sueño, esfuerzo, entrenamientos) a Claude para usarlo como entrenador diario.
Requisitos previos
- Python 3.10+
- Una cuenta de Desarrollador de Whoop con una aplicación registrada
- El ID de cliente y el Secreto de cliente de tu aplicación de Whoop
Configuración del panel de desarrollador de Whoop
- Ve a developer.whoop.com e inicia sesión
- Crea una nueva aplicación
- Establece la URI de redirección a:
http://localhost:8080/callback - Habilita estos alcances:
read:recovery,read:cycles,read:sleep,read:profile,read:body_measurement- Nota:
read:workoutyofflinepueden no estar disponibles en todas las aplicaciones de desarrollador. El servidor maneja los alcances faltantes de forma elegante.
- Nota:
- Anota tu ID de cliente y Secreto de cliente
Instalación
cd whoop-mcp
pip install -r requirements.txt
Autorización (Configuración única)
Exporta las credenciales de tu aplicación y ejecuta el script de configuración:
export WHOOP_CLIENT_ID="your-client-id"
export WHOOP_CLIENT_SECRET="your-client-secret"
python scripts/setup_auth.py
Esto abre un navegador en la página de autorización de Whoop. Después de que apruebes, los tokens se cifran y se almacenan en ~/.whoop_mcp/. Si se otorgó el alcance offline, los tokens se renuevan automáticamente. De lo contrario, vuelve a ejecutar este script cuando el token expire.
Configuración MCP de Claude Desktop / Cowork
Agrega esto a tu configuración MCP de Claude:
{
"mcpServers": {
"whoop": {
"command": "python",
"args": ["/absolute/path/to/whoop-mcp/src/whoop_server.py"],
"env": {
"WHOOP_CLIENT_ID": "your-client-id",
"WHOOP_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Reemplaza /absolute/path/to/whoop-mcp con la ruta real en tu máquina.
Herramientas disponibles
| Herramienta | Descripción |
|---|---|
whoop_check_auth | Verifica que los tokens sean válidos y no estén vencidos |
whoop_get_latest_recovery | Puntaje de recuperación más reciente, VFC, frecuencia cardíaca en reposo, SpO2 |
whoop_get_recovery_range | Datos de recuperación para un rango de fechas |
whoop_get_latest_sleep | Última sesión de sueño con desglose por etapas |
whoop_get_sleep_range | Datos de sueño para un rango de fechas |
whoop_get_latest_strain | Esfuerzo del ciclo actual, FC promedio/máxima, kilojulios |
whoop_get_strain_range | Esfuerzo de los últimos N días con promedio |
whoop_get_workouts | Entrenamientos con ID de deporte, esfuerzo, zonas de FC |
whoop_get_profile | Perfil de usuario y medidas corporales |
whoop_get_training_summary | Resumen de entrenamiento agregado (comienza aquí) |
Ejemplos de indicaciones
Una vez conectado, puedes preguntarle a Claude cosas como:
- "¿Cuál fue mi recuperación ayer?"
- "¿Cuánto esfuerzo acumulé la semana pasada?"
- "¿Estoy tendiendo al sobreentrenamiento?"
- "¿Cómo ha cambiado mi VFC en las últimas dos semanas?"
- "¿Cuáles fueron mis etapas de sueño anoche?"
- "Compara mi esfuerzo con mi recuperación en los últimos 7 días."
- "¿Debería hacer un entrenamiento intenso hoy?"
Flujo de trabajo del entrenador
Comienza cada sesión llamando a whoop_get_training_summary para obtener una visión general del estado de recuperación, la carga de esfuerzo reciente, la calidad del sueño y una evaluación de preparación para el entrenamiento.
Almacenamiento de tokens
Los tokens se almacenan cifrados en ~/.whoop_mcp/:
.encryption_key— Clave de cifrado Fernet (chmod 600)tokens.enc— Tokens OAuth cifrados (chmod 600)- Permisos del directorio: chmod 700
Si la renovación del token falla, vuelve a ejecutar python scripts/setup_auth.py.