MCP server
WHOOP MCP by usefulapi
io.usefulapi/whoop
Checked 26 Oct 2026, 08:29 UTC · Connected to it and listed its tools
Read WHOOP recovery, sleep, cycles, workouts and body measurements.
Working at last checkVerified publisher: usefulapi.ioAbout 1,809 tokens per request once connected10 tools
https://whoop.usefulapi.io/mcp
At a glance
- Type
- MCP server
- Publisher
- usefulapi.io (verified by the MCP Registry)
- Status
- Working at last check
- Tools
- 10
- Token cost
- About 1,809 tokens per request
- Sets up in
- Claude Code, Claude Desktop, Codex, Gemini CLI, Cursor, VS Code, Antigravity, ChatGPT, OpenAI API, Grok
- Last checked
- 26 Oct 2026, 08:29 UTC
Connect it to your agent
Opens the app, which shows the server and asks you to confirm. For other apps, copy the setup below.
Claude Code
claude mcp add --transport http whoop https://whoop.usefulapi.io/mcp
Claude Desktop
Settings → Connectors → Add custom connector, and paste the URL.
Codex (config.toml)
[mcp_servers.whoop] url = "https://whoop.usefulapi.io/mcp"
Gemini CLI
{"mcpServers":{"whoop":{"httpUrl":"https://whoop.usefulapi.io/mcp"}}}
Cursor
{"mcpServers":{"whoop":{"url":"https://whoop.usefulapi.io/mcp"}}}
VS Code
{"servers":{"whoop":{"type":"http","url":"https://whoop.usefulapi.io/mcp"}}}
Antigravity
agy mcp add whoop https://whoop.usefulapi.io/mcp
ChatGPT
Settings → Apps & Connectors → Advanced settings: turn on Developer mode, then Create a connector and paste the URL. Which plans can do this varies.
OpenAI API (Responses tools)
{"type":"mcp","server_label":"whoop","server_url":"https://whoop.usefulapi.io/mcp","require_approval":"always"}
Grok (xAI API tools)
{"type":"mcp","server_label":"whoop","server_url":"https://whoop.usefulapi.io/mcp"}
Tools
whoop_body_measurement~90 tokens
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_get_cycle~126 tokens
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_recovery~137 tokens
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_get_profile~84 tokens
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_get_sleep~133 tokens
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_get_workout~135 tokens
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.whoop_list_cycles~278 tokens
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:whoop_list_recoveries~282 tokens
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/recoverwhoop_list_sleep~271 tokens
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_list_workouts~273 tokens
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.
Browse
Related MCP servers
- WHOOP
Your WHOOP data in the assistant, read-only: recovery, sleep, strain, workouts, cycles and body meas - Oura MCP by usefulapi
Read sleep, readiness, activity, stress, heart rate and workouts from the Oura Ring. - Vital MCP by usefulapi
Read wearables and lab health data — sleep, activity, workouts, timeseries, lab tests and orders. - Theaslangroupllc Pulsenetwork
914 paid market-data & token-safety endpoints — keyless x402 USDC: Base, Solana, XRPL, +8 chains - Hopi
Free UK calculators, converters and validators (tax, VAT, stamp duty, dates, units), read-only. - Dieta.ai
Nutrition tracking by Dieta.ai. Read your food log with macros (calories, protein, carbs, fat, fiber - Fitbit MCP by usefulapi
Read Fitbit profile, activity, sleep, heart rate and device data. - WHOOP — MissingMCP
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Badge for your README
[](https://aptlynx.net/servers/io.usefulapi/whoop)
Listing text is written by the maker; AptLynx lists tools and does not vouch for them. Find another tool · Browse by topic · For agents