# WHOOP MCP MCP

> WHOOP connects any AI client to your personal biometrics data—sleep cycles, recovery scores, workouts, and body measurements. Get instant analysis on strain, sleep performance, HRV trends, and how your physical activity impacts recovery. Stop guessing if you're ready for a hard session; ask your agent directly what the numbers say.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** wearable-tech, sleep-tracking, recovery-metrics, heart-rate-monitoring, health-analytics, biometrics

## Description

You can query deep physiological data about yourself using natural conversation. Instead of navigating multiple dashboards to cross-reference metrics, simply ask your agent questions like, “How did my sleep affect yesterday’s workout strain?” Your agent pulls together sleep stages, recovery scores, and heart rate variability for a clear answer. You'll get insights into things like optimal training loads or spotting unusual drops in your resting heart rate that need attention.

This MCP lets you track everything from basic body measurements (height, weight) to complex 24-hour cycles combining sleep quality, strain, and recovery metrics. When working with this kind of sensitive data, security matters. That's why Vinkius manages all connections through a zero-trust proxy; your keys pass through in transit but never sit on disk. This means you can focus purely on the insights without worrying about where the credentials are stored.

Whether you're an athlete trying to dial up training or just tracking general health trends, this MCP gives you a single source of truth for continuous performance monitoring.

## Tools

### get_body_measurement
Retrieves physical metrics like weight, height, and max heart rate for tracking body changes.

### get_cycle
Gets a single 24-hour data snapshot that combines sleep, recovery, strain, and heart rate information.

### get_cycle_recovery
Retrieves the dedicated recovery score for one specific WHOOP cycle period.

### get_cycle_sleep
Provides detailed sleep data, including stages and performance percentage, for a single 24-hour cycle.

### get_cycles
Fetches historical WHOOP cycle data over a date range, allowing you to view patterns in recovery and strain.

### get_profile
Verifies your user account details and provides the necessary ID for other endpoints.

### get_recovery
Gets WHOOP recovery data over a defined date range, useful for tracking long-term health trends.

### get_sleep
Retrieves historical sleep metrics across specified dates with pagination options.

### get_sleep_by_id
Gets a single, detailed record of sleep stages and respiratory rate for one specific night's sleep.

### get_workout
Retrieves all data for a single workout session, including strain score and GPS information.

### get_workouts
Fetches historical workout records over a date range, showing total activity load.

## Prompt Examples

**Prompt:** 
```
Show me my recovery score from today.
```

**Response:** 
```
Today's recovery: 78% (Good). Resting HR: 52 bpm, HRV: 68ms, sleep balance: 8h 12m. You're well recovered and ready for high strain today.
```

**Prompt:** 
```
How did I sleep last night?
```

**Response:** 
```
Last night's sleep: 7h 45m total. Sleep performance: 85%. Light sleep: 3h 20m, Deep sleep: 2h 10m, REM: 1h 45m, Awake: 30m. Respiratory rate: 14 breaths/min. 2 disturbances.
```

**Prompt:** 
```
Show me my workouts from this week.
```

**Response:** 
```
This week's workouts: 1. Running (45min, strain 14.2, avg HR 152, 520 cal) — 2. Weight Training (60min, strain 12.8, avg HR 138, 410 cal) — 3. Cycling (30min, strain 10.5, avg HR 145, 350 cal). Total weekly strain: 37.5.
```

## Capabilities

### Analyze 24-hour cycles
Retrieves combined data covering sleep, recovery scores, strain levels, and heart rate metrics from any given day.

### Deep dive into sleep stages
Provides a detailed breakdown of sleep duration, including light, deep, REM, and awake time, alongside disturbance counts.

### Monitor recovery status
Tracks key recovery indicators like the score, HRV (heart rate variability), resting heart rate, and overall sleep balance.

### Review workout details
Gathers specific workout data points including strain scores, average heart rates in different zones, duration, and calories burned.

### Track physical metrics
Accesses fundamental body measurements like height, weight, and maximum heart rate for longitudinal trend analysis.

## Use Cases

### The athlete needs to adjust their peak week training.
An endurance runner asks: 'Based on my last three cycles, what's my average recovery score and how does that compare to the workout strain I put in?' The agent calls `get_cycles` and `get_cycle_recovery`, telling the runner they are currently over-training based on sustained low scores.

### The coach needs to check a new trainee's baseline.
A personal trainer asks: 'What is this client's current profile and average body measurements?' The agent uses `get_profile` followed by `get_body_measurement`, giving the coach immediate starting metrics for goal setting.

### The biohacker needs to correlate sleep quality with physical output.
A user asks: 'Show me my workouts from last week, but only if I had less than 6 hours of deep sleep.' The agent uses `get_sleep` and filters the results against multiple calls to `get_workouts`, providing a clear pattern.

### The user is worried about chronic fatigue.
A user asks: 'Has my resting heart rate trend been stable over the last 3 months?' The agent runs queries using `get_recovery` and `get_sleep`, providing a historical graph view of key metrics.

## Benefits

- Pinpoint performance gaps: By combining `get_sleep` with `get_workouts`, you can see if poor sleep directly correlates to lower strain scores during runs or lifts. You're not guessing; the data tells you why.
- Track long-term trends: Use `get_recovery` and `get_body_measurement` over months to spot subtle, critical shifts in your resting heart rate or overall recovery status before they become major issues.
- Optimize training load immediately: The agent can compare the current cycle's strain (via `get_cycle`) against historical averages to advise if you need a deload week or if pushing harder is safe.
- Deep sleep analysis: Instead of just seeing 'Good Sleep,' use `get_sleep_by_id` to confirm if your Deep and REM stages are hitting optimal targets for recovery. This helps validate lifestyle changes.
- Manage workload remotely: Coaches can pull aggregated data using `get_cycles` across a team's history, giving them a full view of who is overworked or under-trained without ever needing manual dashboard exports.

## How It Works

The bottom line is you can ask questions about your health metrics instead of clicking through dashboards.

1. Connect your WHOOP credentials to your AI client.
2. Ask your agent a question about a specific time frame or metric (e.g., 'Show me my recovery score for last Tuesday').
3. Your agent processes the request, pulls the relevant data, and returns a clear summary.

## Frequently Asked Questions

**How do I get WHOOP API credentials?**
Visit [**developer.whoop.com**](https://developer.whoop.com/), create an app to get a Client ID and Client Secret. Then complete the OAuth2 flow to obtain an Access Token. All three are required for API access.

**What is a WHOOP cycle?**
A WHOOP cycle represents a 24-hour period combining your sleep, strain and recovery data. Each cycle starts when you wake up and includes the previous night's sleep, the day's strain, and your recovery score for the next day.

**How much historical data can I access?**
You can access all historical data recorded by your WHOOP device. Use the start and end date parameters (ISO 8601 format) to filter results. Pagination returns up to 25 records per request; use the nextToken to retrieve more.

**Does the API include heart rate data?**
Yes! Heart rate data (average and max) is included in the cycle, workout and recovery responses. There's no dedicated heart rate endpoint, but the data is nested within these resources.

**How do I confirm my WHOOP connection using the `get_profile` tool?**
Use `get_profile` to verify your credentials and retrieve your unique user ID. This call confirms that your agent has successfully connected to the platform, making it ready for all other data endpoints.

**When I need a full day's metrics, should I use `get_cycles`, or do I use multiple tools?**
Start with `get_cycles` because it summarizes the 24-hour period, including sleep and recovery. After that summary, you can drill down to get specific details using tools like `get_cycle_sleep` or `get_cycle_recovery`.

**If I want a year's worth of data from `get_workouts`, how do I handle pagination?**
You must use date range filtering with `get_workouts`. For large datasets, always check the response for a next page token and repeat the call until you fetch all available records.

**What specific data points does `get_body_measurement` provide that aren't related to activity?**
This tool fetches physical metrics like height, weight, and max HR. It keeps these static measurements separate from your dynamic daily logs, giving you a clear picture of body composition.