@scom82/whoop-mcp
v0.1.0
Published
MCP server for WHOOP health data via whoop-web read-API
Downloads
30
Readme
@scom82/whoop-mcp
MCP server that exposes WHOOP health data to Claude Code via the whoop-web read-API.
Transport: stdio. Reads data from a self-hosted FastAPI backend (whoop-web); does not call the WHOOP API directly.
Installation
npx @scom82/whoop-mcpOr pin a version:
npx @scom82/[email protected]Requirements
- Node.js 20+
- A running
whoop-webinstance (FastAPI, part ofwhoop-stack) - Two environment variables set before launch (see below)
Configuration
Set the following environment variables before starting the server. Never hardcode values.
| Variable | Description |
|---|---|
| WHOOP_WEB_BASE_URL | Base URL of your whoop-web instance, e.g. https://whoop.scom-it.ru |
| WHOOP_MCP_API_TOKEN | Bearer token for whoop-web read-API (/api/v1/*) |
Recommended: source secrets from a file before launch.
source ~/.secrets/secrets.env
npx @scom82/whoop-mcpUsage with Claude Code
Add to your .mcp.json via a wrapper script that sources secrets:
{
"mcpServers": {
"whoop": {
"command": "/path/to/_system/scripts/whoop-mcp.sh"
}
}
}Example wrapper (_system/scripts/whoop-mcp.sh):
#!/bin/bash
source "$HOME/.secrets/secrets.env"
exec npx -y @scom82/whoop-mcpTools
| Tool | Description |
|---|---|
| whoop_latest_recovery | Latest recovery score, HRV, resting HR, sleep performance |
| whoop_latest_sleep | Latest sleep metrics (duration, stages, disturbances) |
| whoop_latest_strain | Latest strain score and activity summary |
| whoop_recovery_range | Recovery scores for a date range |
| whoop_sleep_range | Sleep metrics for a date range |
| whoop_workouts_range | Workouts for a date range |
| whoop_trends | Recovery / sleep / strain trends with statistical summary |
| whoop_weight_trend | Body weight trend |
| whoop_sync_status | Last sync timestamp and sync service health |
Source
Part of the whoop-stack mono-repo: github.com/SCom-82/whoop-stack (private).
