Skip to content

wackari/WhoopMCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WHOOP MCP

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.

Herramientas disponibles

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.

Instalación

npm install
npm run build

Autenticación

Necesitas una app de desarrollador de WHOOP:

  1. Entra en el WHOOP Developer Dashboard y crea una app.
  2. Añade http://localhost:8917/callback como Redirect URI.
  3. Apunta el Client ID y el Client Secret.

Opción A (recomendada): refresh token con renovación automática

export WHOOP_CLIENT_ID="tu_client_id"
export WHOOP_CLIENT_SECRET="tu_client_secret"
npm run auth

El 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).

Opción B: access token estático

export WHOOP_ACCESS_TOKEN="tu_access_token"

Caduca en ~1 hora; útil solo para pruebas.

Configuración en Claude

Claude Desktop (claude_desktop_config.json)

{
  "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 Code

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.js

Ejemplos de uso

Una 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?»

Desarrollo

npm run dev        # ejecuta el servidor con tsx (sin compilar)
npm run typecheck  # comprobación de tipos

Notas

  • 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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors