Whoop MCP
Servidor MCP local que expõe dados de recuperação, sono e esforço do Whoop para agentes de IA
Documentação
Servidor Whoop MCP
Servidor MCP que expõe seus dados de condicionamento físico do Whoop (recuperação, sono, strain, treinos) para o Claude usar como um treinador diário.
Pré-requisitos
- Python 3.10+
- Uma conta de Desenvolvedor Whoop com um aplicativo registrado
- O Client ID e o Client Secret do seu aplicativo Whoop
Configuração do Painel do Desenvolvedor Whoop
- Acesse developer.whoop.com e faça login
- Crie um novo aplicativo
- Defina o Redirect URI como:
http://localhost:8080/callback - Ative estes escopos:
read:recovery,read:cycles,read:sleep,read:profile,read:body_measurement- Observação:
read:workouteofflinepodem não estar disponíveis em todos os aplicativos de desenvolvedor. O servidor lida com escopos ausentes de forma graciosa.
- Observação:
- Anote seu Client ID e Client Secret
Instalação
cd whoop-mcp
pip install -r requirements.txt
Autorização (Configuração Única)
Exporte as credenciais do seu aplicativo e execute o script de configuração:
export WHOOP_CLIENT_ID="your-client-id"
export WHOOP_CLIENT_SECRET="your-client-secret"
python scripts/setup_auth.py
Isso abre um navegador para a página de autorização do Whoop. Após aprovar, os tokens são criptografados e armazenados em ~/.whoop_mcp/. Se o escopo offline foi concedido, os tokens são renovados automaticamente. Caso contrário, execute este script novamente quando o token expirar.
Configuração do MCP no Claude Desktop / Cowork
Adicione isto à sua configuração MCP do 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"
}
}
}
}
Substitua /absolute/path/to/whoop-mcp pelo caminho real na sua máquina.
Ferramentas Disponíveis
| Ferramenta | Descrição |
|---|---|
whoop_check_auth | Verifica se os tokens são válidos e não expiraram |
whoop_get_latest_recovery | Pontuação de recuperação mais recente, FCV, FC de repouso, SpO2 |
whoop_get_recovery_range | Dados de recuperação para um intervalo de datas |
whoop_get_latest_sleep | Última sessão de sono com detalhamento por estágios |
whoop_get_sleep_range | Dados de sono para um intervalo de datas |
whoop_get_latest_strain | Strain do ciclo atual, FC média/máx, quilojoules |
whoop_get_strain_range | Strain dos últimos N dias com média |
whoop_get_workouts | Treinos com ID do esporte, strain, zonas de FC |
whoop_get_profile | Perfil do usuário e medidas corporais |
whoop_get_training_summary | Resumo agregado de coaching (comece por aqui) |
Exemplos de Prompts
Depois de conectado, você pode perguntar ao Claude coisas como:
- "Qual foi minha recuperação ontem?"
- "Quanto strain acumulei na semana passada?"
- "Estou tendendo ao overtraining?"
- "Como minha FCV mudou nas últimas duas semanas?"
- "Quais foram meus estágios de sono ontem à noite?"
- "Compare meu strain com minha recuperação nos últimos 7 dias."
- "Devo fazer um treino pesado hoje?"
Fluxo de Trabalho do Treinador
Comece cada sessão chamando whoop_get_training_summary para uma visão geral do status de recuperação, carga de strain recente, qualidade do sono e uma avaliação de prontidão para treino.
Armazenamento de Tokens
Os tokens são armazenados criptografados em ~/.whoop_mcp/:
.encryption_key— Chave de criptografia Fernet (chmod 600)tokens.enc— Tokens OAuth criptografados (chmod 600)- Permissões do diretório: chmod 700
Se a renovação do token falhar, execute novamente python scripts/setup_auth.py.