whoop-mcp-server
Servidor MCP open source que conecta datos de salud WHOOP con Claude.ai mediante OAuth 2.1. Autoalojado, basado en Next.js/Node.js, SQLite, puerto 3000. Soporta Railway y despliegue local con Node.js 22+.
Ficha actualizada 25 sept 2026, 6:53 · upstream 25 sept 2026, 6:09 · release v1.1.1
Qué es whoop-mcp-server
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
whoop-mcp-server es un servidor de protocolo MCP (Model Context Protocol) que permite conectar datos de salud de WHOOP directamente con Claude.ai. El proyecto está construido sobre la API v2 del desarrollador de WHOOP y se ejecuta en Node.js con Next.js, utilizando una base de datos SQLite para almacenar tokens OAuth y datos sincronizados.
El servidor implementa autenticación OAuth 2.1 con contraseña personalizada (MCP_AUTH_PASSWORD), lo que garantiza que solo usuarios autorizados puedan acceder a los datos de salud. Incluye sincronización automática cada hora y almacenamiento de al menos 90 días de datos para análisis de tendencias. Soporta múltiples clientes MCP incluyendo Claude.ai, Claude Code, ChatGPT y aplicaciones desktop.
La arquitectura incluye herramientas específicas como get_today para breves matutinos, get_recovery_trends para patrones de recuperación con HRV/RHR, get_sleep_analysis para métricas de sueño, get_strain_history para calorías quemadas y get_workouts para sesiones de actividad. También permite sincronización manual completa mediante sync_data.
El proyecto es independiente de WHOOP, utiliza su API bajo sus términos de uso, y requiere registro como desarrollador en el dashboard de WHOOP Developer. Incluye documentación completa sobre seguridad, privacidad y migración desde versiones anteriores.
- Obtener resumen matutino de recuperación, sueño y strain antes del entrenamiento
- Analizar tendencias históricas de HRV, frecuencia cardíaca en reposo y eficiencia del sueño
- Monitorizar calorías quemadas y carga de strain diaria para gestión de fatiga
- Conectar datos de WHOOP con Claude Code mediante MCP stdio o HTTP
- Sincronizar manualmente 90 días de datos históricos tras actualización de versión
- Autenticación OAuth 2.1 con contraseña personalizada y tokens encriptados AES-256-GCM
- Sincronización automática cada hora manteniendo mínimo 90 días de datos históricos
- Soporte multiplataforma: Claude.ai, Claude Code, ChatGPT, Cursor, VS Code, Windsurf
- Base de datos SQLite con opción de encriptación para rotación segura de secretos
- Limites de autenticación: 10 intentos por dirección cada 15 minutos, 50 por hora total
- MODO HTTP o STDIO según cliente, con soporte para túneles HTTPS locales
- Requiere Node.js 22+ para despliegue local; Railway gestiona dependencias automáticamente
- Necesita túnel HTTPS (cloudflared/ngrok) para uso local debido a restricción WHOOP de URLs https
- Base de datos SQLite en volumen: sin persistencia se pierden datos y tokens tras rediseño
- MODO STDIO no soporta autenticación OAuth; requiere conexión previa en MODO HTTP
- Términos de uso WHOOP prohíben usar datos para entrenar modelos de IA (sección 4.2c)
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Despliegue recomendado: Railway con volumen persistente en /data, variables WHOOP_CLIENT_ID, WHOOP_CLIENT_SECRET, WHOOP_REDIRECT_URI=https://tu-app.up.railway.app/callback, MCP_AUTH_PASSWORD (16+ caracteres), ENCRYPTION_SECRET opcional. Para local: Node.js 22+, npm install, .env con todas las variables, túnel HTTPS para WHOOP_REDIRECT_URI. Rediseñar requiere volumen persistente. Migrar de 1.0.0 a 1.1.0 exige MCP_AUTH_PASSWORD y reconectar en Claude.ai.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.