Servidor MCP (Model Context Protocol) para la API de WHOOP v2. Permite que Claude (Desktop, Code, etc.) consulte tus datos de WHOOP: recovery, sueño, ciclos fisiológicos, entrenamientos, perfil y medidas corporales.
| Herramienta | Descripción |
|---|---|
get_user_profile |
Perfil básico (nombre, email, user_id) |
get_body_measurements |
Altura, peso y FC máxima |
get_cycles |
Ciclos fisiológicos (strain, calorías, FC) con filtro por fechas |
get_cycle_by_id |
Un ciclo concreto por ID |
get_recoveries |
Recoveries (score, HRV, FC en reposo, SpO2, temperatura) |
get_recovery_for_cycle |
Recovery asociada a un ciclo |
get_sleeps |
Sesiones de sueño (etapas, eficiencia, rendimiento) |
get_sleep_by_id |
Una sesión de sueño concreta por UUID |
get_sleep_for_cycle |
Sueño asociado a un ciclo |
get_workouts |
Entrenamientos (deporte, strain, zonas de FC, distancia) |
get_workout_by_id |
Un entrenamiento concreto por UUID |
Las herramientas de colección aceptan start, end (ISO 8601), limit (máx. 25) y nextToken para paginar.
npm install
npm run buildNecesitas una app de desarrollador de WHOOP:
- Entra en el WHOOP Developer Dashboard y crea una app.
- Añade
http://localhost:8917/callbackcomo Redirect URI. - Apunta el
Client IDy elClient Secret.
export WHOOP_CLIENT_ID="tu_client_id"
export WHOOP_CLIENT_SECRET="tu_client_secret"
npm run authEl script abre la URL de autorización de WHOOP, captura el redirect en local e imprime el WHOOP_REFRESH_TOKEN. Con las tres variables definidas, el servidor renueva el access token automáticamente (WHOOP rota el refresh token en cada renovación; el servidor lo gestiona en memoria durante la sesión).
export WHOOP_ACCESS_TOKEN="tu_access_token"Caduca en ~1 hora; útil solo para pruebas.
{
"mcpServers": {
"whoop": {
"command": "node",
"args": ["/ruta/a/WhoopMCP/dist/index.js"],
"env": {
"WHOOP_CLIENT_ID": "tu_client_id",
"WHOOP_CLIENT_SECRET": "tu_client_secret",
"WHOOP_REFRESH_TOKEN": "tu_refresh_token"
}
}
}
}claude mcp add whoop \
-e WHOOP_CLIENT_ID=tu_client_id \
-e WHOOP_CLIENT_SECRET=tu_client_secret \
-e WHOOP_REFRESH_TOKEN=tu_refresh_token \
-- node /ruta/a/WhoopMCP/dist/index.jsUna vez conectado, puedes pedirle a Claude cosas como:
- «¿Cómo fue mi recovery esta semana?»
- «Compara mi sueño de los últimos 7 días»
- «¿Cuál fue mi entrenamiento con más strain este mes?»
npm run dev # ejecuta el servidor con tsx (sin compilar)
npm run typecheck # comprobación de tipos- Usa la API v2 de WHOOP (
https://api.prod.whoop.com/developer/v2); la v1 está obsoleta desde octubre de 2025. - Todas las herramientas son de solo lectura.
- Los errores de la API (401, 404, rate limit…) se devuelven como resultados de error legibles, no como fallos del servidor.