WHOOP MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WHOOP_CLIENT_ID | Yes | Your WHOOP API client ID | |
| WHOOP_TOKEN_FILE | No | Path to token storage file (default: ~/.whoop-mcp-tokens.json) | ~/.whoop-mcp-tokens.json |
| WHOOP_REDIRECT_URI | Yes | OAuth redirect URI (e.g., http://localhost:8080/callback) | |
| WHOOP_CLIENT_SECRET | Yes | Your WHOOP API client secret |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| authenticateA | Start the WHOOP OAuth 2.0 authorization flow. Returns a URL to open in your browser. Must be called before any data tool if you have not authenticated yet. |
| get_recoveryA | Get WHOOP recovery data including recovery score (0–100), HRV, resting heart rate, SpO2, and skin temperature. |
| get_sleepA | Get WHOOP sleep data including duration, efficiency, sleep stage breakdown, disturbances, and respiratory rate. |
| get_workoutsA | Get recent WHOOP workouts with strain score, sport type, heart rate zones, kilojoules, and distance. |
| get_cyclesA | Get WHOOP physiological cycles (days) with day strain, kilojoules, and heart rate summary. |
| get_body_measurementsA | Get the user's body measurements: height, weight, and max heart rate. |
| get_profileA | Get the user's basic WHOOP profile (name and email). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool targets a distinct data domain: authentication, recovery, sleep, workouts, cycles, body measurements, and profile. There is no meaningful overlap between these resource types, and the descriptions make the boundary between similar health metrics clear.
The data tools all follow a clean get_<resource> naming convention, making the tool surface highly predictable. authenticate is the only exception, but it is clearly a distinct action verb appropriate for the OAuth flow.
Seven tools is well-scoped for a read-only health data integration. Each tool represents a meaningful endpoint or data category, with no redundant or filler tools.
The server covers the main WHOOP data domains: recovery, sleep, workouts, daily cycles, body measurements, and user profile, plus the required authentication step. For a read-only personal health API, this is a complete and usable surface with no obvious dead ends.