Skip to main content
Glama
benhursenabathi

whoop-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WHOOP_CLIENT_IDYesYour Whoop client ID
WHOOP_TOKEN_PATHNoOptional custom path for token storage
WHOOP_CLIENT_SECRETYesYour Whoop 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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
whoop_get_profileA

Retrieves basic profile information for the authenticated Whoop user.

Returns:

  • user_id: Whoop user ID

  • email: User's email address

  • first_name: User's first name

  • last_name: User's last name

Use this to identify the user and personalize responses.

whoop_get_body_measurementsA

Retrieves body measurements for the authenticated Whoop user.

Returns:

  • height_meter: Height in meters

  • weight_kilogram: Weight in kilograms

  • max_heart_rate: Maximum heart rate

Useful for calculating calories burned and personalizing workout recommendations.

whoop_get_recoveryA

Retrieves recovery data from Whoop including recovery score, HRV, resting heart rate, and SpO2.

Recovery score indicates how ready your body is for strain:

  • 67-100% (Green): Optimal recovery, ready for high strain

  • 34-66% (Yellow): Moderate recovery, be mindful of strain

  • 0-33% (Red): Low recovery, prioritize rest

Parameters:

  • limit: Number of records (1-25, default: 7)

  • start: Filter recoveries after this date (ISO 8601)

  • end: Filter recoveries before this date (ISO 8601)

Returns for each recovery:

  • recovery_score: Overall recovery percentage

  • hrv_rmssd_milli: Heart rate variability (ms)

  • resting_heart_rate: Resting heart rate (bpm)

  • spo2_percentage: Blood oxygen saturation

  • skin_temp_celsius: Skin temperature

whoop_get_sleepA

Retrieves detailed sleep data from Whoop including sleep stages, performance, and respiratory rate.

Parameters:

  • limit: Number of records (1-25, default: 7)

  • start: Filter sleeps after this date (ISO 8601)

  • end: Filter sleeps before this date (ISO 8601)

Returns for each sleep:

  • Sleep stages: Light, REM, Deep (SWS), Awake time

  • sleep_performance_percentage: How well you met your sleep need

  • sleep_efficiency_percentage: Time asleep vs time in bed

  • sleep_consistency_percentage: Regularity of sleep schedule

  • respiratory_rate: Breaths per minute

  • sleep_needed: Baseline need plus adjustments for strain/debt

whoop_get_workoutsA

Retrieves workout data from Whoop including strain, heart rate zones, calories, and distance.

Strain is measured on a 0-21 scale:

  • 0-10: Light activity

  • 10-14: Moderate activity

  • 14-18: High strain (strenuous)

  • 18-21: All out (maximal effort)

Parameters:

  • limit: Number of records (1-25, default: 10)

  • start: Filter workouts after this date (ISO 8601)

  • end: Filter workouts before this date (ISO 8601)

Returns for each workout:

  • sport_name: Type of activity

  • strain: Workout strain score (0-21)

  • kilojoule: Energy burned

  • average/max_heart_rate: Heart rate data

  • distance_meter: Distance covered (if applicable)

  • zone_durations: Time spent in each HR zone

whoop_get_cyclesA

Retrieves physiological cycle (day) data from Whoop including daily strain, calories, and heart rate.

A cycle represents a physiological day (wake to wake), not a calendar day.

Day Strain is cumulative and measured on a 0-21 scale:

  • 0-10: Light day

  • 10-14: Moderate day

  • 14-18: Strenuous day

  • 18-21: All out day

Parameters:

  • limit: Number of records (1-25, default: 7)

  • start: Filter cycles after this date (ISO 8601)

  • end: Filter cycles before this date (ISO 8601)

Returns for each cycle:

  • strain: Daily strain score (0-21)

  • kilojoule: Total energy expenditure

  • average/max_heart_rate: Heart rate summary

whoop_get_health_overviewA

Gets a comprehensive health overview combining your latest recovery, sleep, and strain data.

This is the best tool to use when you want a quick summary of current health status.

Returns:

  • Latest recovery score and metrics (HRV, RHR, SpO2)

  • Last night's sleep data and performance

  • Today's/yesterday's strain

  • Personalized recommendations based on recovery status

Use this for:

  • Morning check-ins on readiness

  • Quick health status updates

  • Deciding workout intensity

  • Understanding overall health trends

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.3/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct Whoop data domain: profile, body measurements, recovery, sleep, workouts, cycles, and a combined health overview. The health overview is clearly complementary rather than overlapping, and the parameterized filters on date/limit further distinguish the data-retrieval tools.

Naming Consistency5/5

All tools follow the exact same 'whoop_get_<resource>' pattern, with clear and consistent resource names. This uniform verb_noun structure makes it easy to predict tool behavior and select the right one.

Tool Count5/5

Seven tools is well-scoped for a Whoop data retrieval server. Each tool covers a meaningful health data category without redundancy, and the count feels appropriately balanced—not too sparse, not overwhelming.

Completeness5/5

The tool set provides comprehensive read coverage of Whoop's main health data types: profile, body metrics, recovery, sleep, workouts, daily cycles, and a combined overview. Since the server's purpose is data retrieval, the absence of write operations is not a gap; all core data categories are represented, and the health overview tool nicely ties everything together.

Maintenance

ActivityInactive
ResponsivenessNo issues