WHOOP MCP by usefulapi

io.usefulapi/whoop

Read WHOOP recovery, sleep, cycles, workouts and body measurements.

Yes, your AI can use this right now.Answered a live MCP handshake in 1569 ms with no sign-in needed and exposes 10 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://whoop.usefulapi.io/mcp

10 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
whoop_get_profileread-only

The current user's basic WHOOP profile (user id, email, first name, last name). WHOOP REST: GET /v2/user/profile/basic. Scope: read:profile.

whoop_body_measurementread-only

The user's body measurements (height in meters, weight in kilograms, max heart rate). WHOOP REST: GET /v2/user/measurement/body. Scope: read:body_measurement.

whoop_list_cyclesread-only

List the user's physiological cycles (a WHOOP 'day', ~24h anchored to sleep), most recent first. Each cycle carries a score with day strain, kilojoules burned, and average/max heart rate. Paginated (limit/nextToken) and filterable by created-time window (start/end). WHOOP REST: GET /v2/cycle. Scope: read:cycles.

whoop_get_cycleread-only

Get a single physiological cycle by its id (strain, kilojoules, average/max heart rate, start/end). WHOOP REST: GET /v2/cycle/{cycleId}. Scope: read:cycles.

whoop_get_cycle_recoveryread-only

Get the recovery scored for a specific cycle (recovery %, resting heart rate, HRV RMSSD, SpO2 %, skin temperature). WHOOP REST: GET /v2/cycle/{cycleId}/recovery. Scope: read:recovery.

whoop_list_recoveriesread-only

List the user's recoveries, most recent first. Each recovery scores how ready the body is (recovery %, resting heart rate, HRV RMSSD, SpO2 %, skin temperature) and links to its cycle and sleep. Paginated (limit/nextToken) and filterable by created-time window (start/end). WHOOP REST: GET /v2/recovery. Scope: read:recovery.

whoop_list_sleepread-only

List the user's sleep activities, most recent first. Each carries a score with sleep-stage summary, sleep needed, respiratory rate, and sleep performance %. Paginated (limit/nextToken) and filterable by created-time window (start/end). WHOOP REST: GET /v2/activity/sleep. Scope: read:sleep.

whoop_get_sleepread-only

Get a single sleep activity by its id (stage summary, sleep needed, respiratory rate, sleep performance %, start/end). WHOOP REST: GET /v2/activity/sleep/{sleepId}. Scope: read:sleep.

whoop_list_workoutsread-only

List the user's workouts, most recent first. Each carries a score with strain, average/max heart rate, distance (meters), and per-heart-rate-zone durations. Paginated (limit/nextToken) and filterable by created-time window (start/end). WHOOP REST: GET /v2/activity/workout. Scope: read:workout.

whoop_get_workoutread-only

Get a single workout by its id (sport, strain, average/max heart rate, distance, zone durations, start/end). WHOOP REST: GET /v2/activity/workout/{workoutId}. Scope: read:workout.

Alternatives in Other

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”