# whoop-mcp-server

WHOOP recovery, sleep, strain, and workouts for any AI. Analysis tools, demo mode, fast setup.

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the package rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 0.0.12
- **Author:** io.github.rajdeepmondaldotcom
- **License:** Unknown
- **PyPI:** whoop-mcp-server
- **Source:** https://github.com/rajdeepmondaldotcom/whoop-mcp-server
- **Compatible clients:** claude-code, cursor, copilot, gemini (basis: transport)

## Trust

60/100 (B), scored on the package rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: not run
- Obfuscation scan: not run
- Evidence age: 0 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-09-07T11:31:06.237Z
- **Version scanned:** 0.0.5
- **CVEs:** none found by OSV at scan time

## Tools

19 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `whoop_authenticate` — Start the WHOOP OAuth flow. Returns an authorization URL for the user to open in their browser. Call this when other tools return a NOT_AUTHENTICATED error.
- `whoop_check_auth` — Check whether the user is authenticated with WHOOP. Returns auth status and token expiry. If the token is expired, it will attempt to refresh automatically.
- `get_profile` — Get the authenticated WHOOP user's profile (name, email, user ID)
- `get_body_measurements` — Get the user's body measurements (height, weight, max heart rate)
- `revoke_oauth_access` — DESTRUCTIVE: Revoke the WHOOP OAuth access token. This will require re-authentication. Only use when explicitly requested.
- `list_cycles` — List physiological cycles (days). Each cycle contains strain, heart rate data. Supports date filtering and pagination.
- `get_cycle` — Get a specific physiological cycle by ID
- `list_recoveries` — List recovery scores. Each recovery includes recovery %, HRV, resting heart rate, SpO2, skin temp. Supports date filtering and pagination.
- `get_recovery_for_cycle` — Get the recovery score for a specific cycle
- `list_sleeps` — List sleep activities. Each includes duration, stages (light/deep/REM), performance %, efficiency %, respiratory rate. Supports date filtering and pagination.
- `get_sleep` — Get a specific sleep activity by ID
- `get_sleep_for_cycle` — Get the sleep activity associated with a specific cycle
- `list_workouts` — List workout activities. Each includes strain, heart rate zones, kilojoules, distance. Supports date filtering and pagination.
- `get_workout` — Get a specific workout activity by ID
- `get_today_summary` — Get a unified summary of today's WHOOP data: current strain, recovery score, HRV, resting heart rate, sleep performance, and any workouts completed today.
- `get_recent_health_summary` — Get an aggregated health summary over recent days: average recovery, HRV, sleep performance, total strain, and trend direction (improving/stable/declining).
- `compare_recovery_and_sleep` — Compare recovery scores with sleep quality over recent days. Shows how sleep performance correlates with next-day recovery.
- `get_training_load_summary` — Get training load summary over recent days: total strain, average daily strain, workout count, top sports, and total calories burned.
- `get_sleep_performance_summary` — Get sleep performance summary over recent days: average duration, performance %, efficiency %, sleep stage breakdown (light/deep/REM/awake), and nap count.

## Install

This entry is distributed on PyPI (whoop-mcp-server) and declares no launch command Forge has observed. Check the project's own README for the console script name before writing a stdio config — Forge will not guess it.

## Blast radius

Contained to moderate — no credential declaration found, from the publisher, the upstream registry, or the README. Known so far: runs on your machine; read-only tool surface.
- Floor 13, ceiling 31 (tier: unknown)
- `unknown` means the floor and ceiling land in different bands — not measured enough to name one. It does not mean low.
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/whoop-mcp-server
- Install plan: https://forgeregistry.com/api/v1/packages/whoop-mcp-server/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/whoop-mcp-server
- HTML page: https://forgeregistry.com/registry/whoop-mcp-server
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
