4,500+ servers built on MCP Fusion
Vinkius

WHOOP MCP. Get deep biometrics from your WHOOP data.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

WHOOP MCP on Cursor AI Code Editor MCP Client WHOOP MCP on Claude Desktop App MCP Integration WHOOP MCP on OpenAI Agents SDK MCP Compatible WHOOP MCP on Visual Studio Code MCP Extension Client WHOOP MCP on GitHub Copilot AI Agent MCP Integration WHOOP MCP on Google Gemini AI MCP Integration WHOOP MCP on Lovable AI Development MCP Client WHOOP MCP on Mistral AI Agents MCP Compatible WHOOP MCP on Amazon AWS Bedrock MCP Support

Just plug in your AI agents and start using Vinkius.

WHOOP MCP Server gives your AI client deep access to personal health metrics from the WHOOP platform. You can run complex queries on everything—sleep cycles, workout strain, recovery scores, and body measurements.

Instead of manually checking dashboards, you ask your agent for a summary: 'How was my sleep last night compared to my total weekly workload?' The server handles pulling data via `get_cycle`, `get_workouts`, and `get_recovery` so you get a unified health report instantly.

What your AI agents can do

Get body measurement

Retrieves a user's static WHOOP metrics, such as height, weight, and maximum heart rate.

Get cycle

Pulls combined health data for a 24-hour period, including sleep, strain, recovery, and average heart rate.

Get cycle recovery

Gets detailed recovery metrics for one WHOOP cycle, covering the score, HRV, resting HR, and sleep balance.

+ 8 more capabilities included
Get Basic Body Measurements

Call get_body_measurement to pull static user data like height, weight, and maximum heart rate.

Retrieve Full Workout Histories

Use get_workouts to fetch lists of past workouts across a date range, including strain scores and calories burned.

Analyze Specific Sleep Records

Call get_sleep_by_id to get detailed sleep data for one night, covering all stages (light, deep, REM) and disturbances.

Check 24-Hour Cycle Status

Run get_cycle to pull a combined view of sleep, strain, recovery, and heart rate for an entire day.

Get Detailed Recovery Metrics

Access get_recovery when you need to track how your body's readiness changes over weeks or months using HRV data.

Supported MCP Clients

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients
Free for Subscribers

Waiting for input…

AI Agent

WHOOP MCP Server: 11 Tools for Health Metrics

Use these tools to access every aspect of your WHOOP data. Analyze everything from daily sleep stages via get_sleep_by_id to long-term trends using get_workouts and get_recovery.

get019d849d

get body measurement

Retrieves a user's static WHOOP metrics, such as height, weight, and maximum heart rate.

get019d849d

get cycle

Pulls combined health data for a 24-hour period, including sleep, strain, recovery, and average heart rate.

get019d849d

get cycle recovery

Gets detailed recovery metrics for one WHOOP cycle, covering the score, HRV, resting HR, and sleep balance.

get019d849d

get cycle sleep

Retrieves comprehensive sleep data for a specific 24-hour period, including stages (light/deep/REM) and disturbances.

get019d849d

get cycles

Fetches historical WHOOP cycle data over a date range, which contains combined metrics like sleep, strain, and recovery.

get019d849d

get profile

Verifies authentication and retrieves the basic user profile information needed to access other endpoints.

get019d849d

get recovery

Retrieves historical recovery data, allowing you to track trends in HRV and rest heart rate over time by date range.

get019d849d

get sleep

Fetches sleep data for a specified period, detailing duration and performance metrics based on date ranges.

get019d849d

get sleep by id

Gets the full sleep record for one night, including specific stages, disturbances, and respiratory rate.

get019d849d

get workout

Retrieves detailed data for a single workout session by ID, covering strain score, heart rate zones, and calories burned.

get019d849d

get workouts

Fetches historical workout records over a date range, providing key metrics like strain scores and average heart rate.

Choose How to Get Started

Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.

Build Your Own

Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.

  • Import from OpenAPI, Swagger, or YAML specs
  • Create Agent Skills with progressive disclosure
  • Deploy to edge with MCPFusion framework
  • Built in DLP, auth, and compliance on every call
  • Real time usage dashboard and cost metering
  • Publish to catalog or keep private
Start building

Make Your AI Do More

Start with WHOOP, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.

  • Use this MCP plus 4,700+ others, all in one place
  • Add new capabilities to your AI anytime you want
  • Every connection is secured and compliant automatically
  • Track usage and costs across all your servers
  • Works with Claude, ChatGPT, Cursor, and more
  • New servers added to the catalog every week

What you can do with this MCP connector

You connect your AI client to this server and suddenly you've got deep access to all your personal biometrics from WHOOP. You don't gotta manually jump through dashboards or cross-reference logs anymore. Instead, you just ask your agent a complex question—like, 'How did my sleep last night stack up against the strain I put in over the whole week?' The server handles pulling every single piece of data via specific tools so you get one unified health report instantly.

Getting Basic Body Measurements
To start, you'll use get_body_measurement to pull your static WHOOP numbers. This gives you core metrics like your height, weight, and maximum heart rate right out the gate.

Retrieving Full Workout Histories
Need to know what you were doing last month? You call get_workouts. This function fetches a list of all your past workout sessions over any date range you pick. It doesn't just give you a count; it hands you key metrics for every session, including the strain score and how many calories you burned.

Getting Detailed Recovery Metrics
If you wanna track if your body's ready to go—like, are you fried or primed?—you use get_recovery. This tool lets you see trends in your recovery status over weeks or months. You get the score, resting heart rate (RHR), and Heart Rate Variability (HRV) all tracked against a date range.

Analyzing Specific Sleep Records
When you wanna drill down on just one night's sleep, get_sleep_by_id is what you use. It gives you the full sleep record for that single night, detailing every stage—light, deep, and REM—and flagging any disturbances or changes in your respiratory rate.

Checking 24-Hour Cycle Status
To get a quick, combined view of how an entire day went, you run get_cycle. This pulls together sleep quality, strain level, recovery status, and average heart rate for one full 24-hour period. You can also use get_cycles to pull these combined metrics across a broader date range.

Getting Sleep Data Over Time
If you're looking at historical sleep patterns, you call get_sleep. This fetches general sleep data for a specified time window, providing total duration and performance metrics based on the dates you choose. For an even more detailed look at combined daily stats, you can use get_cycle_sleep.

Handling General Profile Info
Before anything else, your agent runs get_profile. This verifies your account and pulls basic user information needed for all the other endpoints to work.


Here's a rundown of what these tools actually do:

  • get_body_measurement: Pulls static measurements like height, weight, or max heart rate.
  • get_cycle: Returns combined data for one day—sleep, strain, recovery, and average HR.
  • get_cycle_recovery: Gives deep metrics on one WHOOP cycle: the score, HRV, RHR, and sleep balance.
  • get_cycle_sleep: Retrieves detailed sleep stages (light/deep/REM) and any disturbances for a full day.
  • get_cycles: Pulls combined health data—sleep, strain, recovery—across multiple days you specify.
  • get_profile: Verifies your account and gets basic user info needed to run other queries.
  • get_recovery: Tracks historical body readiness by date range, giving you HRV and rest heart rate trends.
  • get_sleep: Fetches general sleep data for a period, detailing duration and performance metrics over time.
  • get_sleep_by_id: Gets the complete sleep record for one night, including stages, disturbances, and respiratory rates.
  • get_workout: Pulls detailed stats for one workout session by ID, covering strain score, heart rate zones, and calories burned.
  • get_workouts: Fetches historical records of all your workouts over a date range, giving you strain scores and average HR for each session.

How WHOOP MCP Works

  1. 1 First, subscribe to the WHOOP server and provide your Client ID, Secret, and Access Token.
  2. 2 Next, prompt your AI agent with a natural language request (e.g., 'Compare last week's sleep to this month's workouts').
  3. 3 The agent executes multiple tools—like get_sleep and get_workouts—and compiles the data into one coherent answer for you.

The bottom line is: you ask a question in plain English, and your AI client handles all the complex API calls across 11 different WHOOP tools to deliver an accurate report.

Who Is WHOOP MCP For?

This is for the athlete or coach who gets tired of clicking through multiple dashboards at 2 a.m. You need a single source of truth that aggregates sleep, strain, and recovery data instantly. If your job involves monitoring physical performance trends over time, this server saves hours of manual data gathering.

Endurance Athlete

Uses the server to cross-reference get_workouts strain scores with get_sleep depth and recovery status to adjust training load.

Sports Performance Coach

Monitors multiple athletes' profiles by running daily checks on get_cycle data, ensuring no athlete pushes too hard before a major event.

Health Tech Developer

Integrates the various tools (get_profile, get_recovery, etc.) into an agent workflow to build custom biometrics reporting pipelines.

What Changes When You Connect

  • See your full picture of recovery. Instead of checking separate dashboards, you can ask for a summary that combines get_recovery (HRV trends) with the sleep metrics pulled by get_sleep to know exactly how ready you are for training.
  • Track performance history without manual downloads. By using get_workouts, your agent pulls strain scores and heart rate zones across weeks, letting you spot patterns that suggest overtraining or under-recovery.
  • Analyze specific sleep events instantly. The get_sleep_by_id tool lets you focus on one night's data—like a bout of poor REM sleep—without wading through months of logs.
  • Get comprehensive daily summaries. Tools like get_cycle combine strain, sleep, and recovery into one view, giving you the immediate 'how was my day?' answer without needing multiple API calls.
  • Build robust monitoring dashboards. By combining get_workouts with get_body_measurement, you can track how changes in weight correlate with your peak performance metrics.

Real-World Use Cases

01

Diagnosing Poor Sleep Quality

A runner notices their recovery score is low, but they don't know why. They ask the agent to run get_cycle_sleep for the last three nights and compare it with get_recovery. The agent highlights that while sleep duration was fine, Deep REM stages dropped significantly, suggesting stress or illness.

02

Evaluating Training Load

A coach needs to check if an athlete is ready for a marathon. They prompt the server with get_workouts data from the last month and ask it to compare the total strain against the trends found in get_recovery. The agent reports that while overall mileage was high, recovery scores dropped too fast, signaling burnout.

03

Reviewing a Specific Incident

A user remembers a particularly hard workout from six months ago. They use the date range filter with get_workouts and specify the exact day to check strain and average heart rate for that single, critical session.

04

Establishing Baseline Metrics

A new client signs up. The agent runs get_profile first to capture baseline measurements (weight, height). Then it pulls 30 days of data using date ranges on both get_sleep and get_recovery to establish a healthy starting pattern.

The Tradeoffs

Over-fetching redundant data

Asking the agent for 'all my sleep, all my workouts, and all my recovery metrics' without defining a time period. This floods the chat with raw JSON objects.

Don't ask for everything. Start specific: 'Show me get_workouts for this week and then use that to compare against get_recovery data.' Limit your scope, or you'll get noise.

Missing necessary identifiers

Asking the agent about 'my last workout' without providing a date range or ID. The API fails because it doesn't know which get_workout record to pull.

Always provide constraints. If you want last week’s data, specify: 'Use get_workouts for dates between [Start Date] and [End Date].'

Assuming one tool covers everything

Thinking that just running get_cycle gives you the deepest dive into sleep. It won't; it only provides a summary.

If you need granular detail, call the specific tools: Use get_sleep_by_id for deep stage breakdowns. Then use get_cycle_recovery to pair that with your recovery score.

When It Fits, When It Doesn't

Use this server if your primary goal is longitudinal health trend analysis and combining disparate biometric data points (e.g., correlating low sleep performance from get_sleep with high strain scores from get_workouts). It's built for synthesis, not single-point checks.

Don't use it if you only need basic personal info—just running get_profile is overkill. Similarly, if you just want to check one metric like 'Did I sleep enough?' and don't care about the strain context, a simple dedicated health app might be faster. This server shines when your question requires combining data from multiple domains: for instance, asking the agent to summarize how poor recovery scores (get_cycle_recovery) relate to recent heavy workouts (get_workouts).

Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by WHOOP. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.

VINKIUS INFRASTRUCTURE

Cloud Hosted

Managed infra

V8 Isolated

Sandboxed per request

Zero-Trust Proxy

No stored credentials

DLP Enforced

Policy on every call

GDPR Compliant

EU data residency

Token Compression

~60% cost reduction

How we secure it →

Works with Claude, ChatGPT, Cursor, and more

The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.

This server provides 11 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.

Available Capabilities

get_body_measurement get_cycle get_cycle_recovery get_cycle_sleep get_cycles get_profile get_recovery get_sleep get_sleep_by_id get_workout get_workouts

The worst part about tracking fitness metrics is jumping between 5 different dashboards.

Today, if you want a full picture of your readiness, you have to open the workout tracker to see strain. Then you jump over to the sleep tab for total duration. Next, you go to the recovery page for HRV trends, and finally, you check the body metrics dashboard just to confirm weight changes. It's five different logins, five different dates, and three hours of clicking.

With this MCP server, you tell your agent: 'Summarize my readiness.' The agent then autonomously runs `get_cycle` and cross-references it with `get_recovery`. You get a single, clean answer that synthesizes strain, sleep quality, *and* recovery score. No dashboard hopping required.

WHOOP MCP Server: Get deep biometrics from your WHOOP data

Before this server, pulling a complete picture of your body meant fetching multiple records manually—using `get_workouts` for the activity list, then running separate calls to `get_sleep` and `get_cycle_recovery` using specific IDs. This workflow was slow, error-prone, and required deep API knowledge.

Now, you just ask a question like 'What does my total weekly load look like?' The agent executes the necessary tools—like `get_workouts` followed by data aggregation from `get_cycles`—and gives you the actionable summary. It’s immediate.

Common Questions About WHOOP MCP

How do I get WHOOP API credentials? +

Visit 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.

When using `get_workouts` or `get_cycles`, how do I handle pagination? +

You must use the nextToken provided in the API response to pull more data. Since these tools limit results to 25 per request, you'll need a loop that continues calling the endpoint until the token is null.

What is the difference between using `get_cycle_sleep` and `get_sleep`? +

get_cycle_sleep provides detailed sleep stages tied to a specific 24-hour WHOOP cycle ID. Use get_sleep when you need general sleep records filtered only by a date range, without linking it to the full cycle context.

What format must I provide for date ranges when calling `get_recovery`? +

You must pass all start and end dates using ISO 8601 format (YYYY-MM-DD). This strict formatting ensures your agent retrieves accurate recovery data across the exact time window you specify.

How do I combine `get_body_measurement` with my workout analysis? +

You execute these tools separately. You use the body measurement tool first to get metrics like weight and height, then pass those numbers contextually when your agent analyzes a specific strain score from get_workouts.

More in this category

You might also like

Built & Managed by Vinkius 30s setup 11 tools

We've already built the connector for WHOOP. Just plug in your AI agents and start using Vinkius.

No hosting. No infrastructure. No complex setup.
All 11 tools are live and waiting. You're up and running in seconds.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients

Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.

Zero hosting required Full MCP catalog included Enterprise-grade security Auto-updated by Vinkius

Built, hosted, and secured by Vinkius. You just connect and go.