Whoop

io.github.shashankswe2020-uxPublished by GitHub account shashankswe2020-uxv0.5.2Updated Oct 24, 2026

MCP server for WHOOP health data — recovery, sleep, workouts, cycles, and trends.

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated overview

Read-only WHOOP MCP server that lets an assistant query your recovery, sleep, workouts, cycles and trends, plus HYROX and triathlon race analysis.

What you can do
  • Ask about today's recovery, sleep, strain and latest workout, with gaps flagged
  • Query personal baselines, sleep debt, trends, period comparisons and weekly summaries
  • Read recovery, sleep, workout and cycle records, plus profile and body measurements
  • Analyze HYROX and triathlon sessions, race readiness, and audit or verify reported numbers
  • Log race results and annotate workouts locally, and open a local performance dashboard
When to use it
Useful if you have a WHOOP membership and want an assistant to summarize your health and training data, compare periods against your own baseline, or review HYROX and triathlon performance without exporting data yourself.
Requirements
Runs locally over stdio via the npm package whoop-ai-mcp; needs Node.js 20 or later (or the Rust binary with Rust 1.88+). Requires an active WHOOP membership and a WHOOP Developer App with redirect URL plus the client ID and secret set as WHOOP_CLIENT_ID and WHOOP_CLIENT_SECRET. First start opens a browser for WHOOP authorization. Desktop assistants only.
Before you install
The server asks for your WHOOP Developer App client ID and secret (WHOOP_CLIENT_ID, WHOOP_CLIENT_SECRET). Health data is passed to whichever assistant provider you use, as with anything shared in that chat; aggregate mode reduces but does not anonymize it. Race log, workout corrections and the dashboard are local-only and write to local files with an audit log. Optional telemetry is off by default. Statistics are not medical diagnoses.

Installation

In SourceWeft

  1. Open Whoop in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[WHOOP MCP. Your WHOOP data, a conversation away. Asking 'How am I doing today?' calls the get_today, get_baselines and get_sleep_debt tools.]

[Latest npm version] [Monthly npm downloads] [Total npm downloads] [GitHub stars] [MIT license] [Buy me a coffee to support whoop-ai-mcp]

whoop-ai-mcp is a read-only WHOOP MCP server for Claude, Gemini CLI, Cursor, VS Code, OpenClaw, Perplexity on macOS, and other MCP clients. Ask about your recovery, compare weeks of sleep, or check today against your own baseline, without exporting the data yourself. ChatGPT, Claude web/mobile, and the Grok xAI API require a remote deployment; see the client setup guide.

bash
npx -y whoop-ai-mcp@latest setup --client=claude-desktop

Quickstart | Watch the walkthrough | Website | Tool reference

[Report an issue] [Request a feature]

[WHOOP MCP in Claude Desktop: a weekly health review with recovery, HRV, sleep and workout summaries]
Claude Desktop builds the review; whoop-ai-mcp supplies the data. Your results and layout will differ.

Ask your WHOOP data anything

AskYou get
"How am I doing today?"Recovery, primary sleep, strain and your latest workout, with gaps flagged where data is missing
"Is my HRV unusual for me?"Your personal baseline: distribution, percentiles and how many days it's based on
"How did my sleep change this month?"Trends, period-to-period comparisons, sleep debt and consistency
"Give me my weekly health review."Recovery, sleep and training in one summary

Statistics describe your recorded history. They aren't medical diagnoses or predictions.

Quickstart

You need: Node.js 20 or later, an active WHOOP membership, and a WHOOP Developer App with the redirect URL http://localhost:3000/callback.

  1. Set up. Run the command for your assistant and enter your developer app's client ID and secret when asked.

    AssistantCommand
    Claude Desktopnpx -y whoop-ai-mcp@latest setup --client=claude-desktop
    Claude Codenpx -y whoop-ai-mcp@latest setup --client=claude-code
    Codexnpx -y whoop-ai-mcp@latest setup --client=codex
    GitHub Copilotnpx -y whoop-ai-mcp@latest setup --client=copilot
    Gemini CLInpx -y whoop-ai-mcp@latest setup --client=gemini-cli
    Cursornpx -y whoop-ai-mcp@latest setup --client=cursor
    VS Codenpx -y whoop-ai-mcp@latest setup --client=vscode
    OpenClawnpx -y whoop-ai-mcp@latest setup --client=openclaw
    Perplexity (macOS app + helper)npx -y whoop-ai-mcp@latest setup --client=perplexity

    For Claude Code, Codex and VS Code/Copilot, run the registration command that setup prints. For Gemini CLI, Cursor and OpenClaw, merge the printed config; for Perplexity, paste the printed launch command into its local connector. Nothing is installed globally, and optional usage telemetry defaults to No.

    These targets, including the claude alias for Desktop, require 1.1.0 or later. For a source build, use node dist/index.js setup --client=<target>.

  2. Authorize. Fully quit and reopen your assistant. The first time the server starts, WHOOP opens in your browser so you can approve access.

  3. Ask. Try "Summarize my sleep and recovery this week."

Need manual configuration, environment variables or a remote deployment? See the full setup guide.

Claude web/mobile and ChatGPT quick setup

Run setup --client=claude-web or setup --client=chatgpt with either implementation to print remote deployment and connector instructions. These are guidance-only targets, not one-click hosting: provide a public HTTPS /mcp endpoint, complete WHOOP authorization on the host, and configure compatible connector OAuth. Availability depends on the client account/workspace. setup --client=grok prints an xAI API MCP tool example; consumer Grok chat integration is not verified. No remote credentials are collected and no client connection is tested.

Prefer a native binary?

The Rust implementation offers the same client targets and limitations without a Node.js runtime for the server. It needs Rust 1.88 or later:

bash
cargo install whoop-mcpwhoop-mcp setup --client=claude-desktop

The additional Rust targets require 0.2.0 or later. For a source build, use cargo run -- setup --client=<target> in the Rust checkout.

How it works

[Your WHOOP account grants read-only access to whoop-ai-mcp, which runs on your computer with 16 read-only tools and no hosted relay. It sends tool results to your AI assistant: Claude Desktop, Claude Code, Codex or GitHub Copilot.]
  • Read-only. The server has no tools that create, change or delete anything in your WHOOP account. Race results and workout corrections are saved only to local files, with an audit log.
  • Local by default. The server runs on your machine. No hosted relay is involved.
  • Your assistant sees the results. Health data reaches the assistant provider you use, the same as anything else you share in that chat.
  • Aggregate mode limits the server to five summary tools and hides per-record data. It reduces what's shared, but it isn't anonymization.
  • Telemetry is off unless you opt in. It never includes health data or chat text.

Details: data handling and telemetry controls.

What's included

In standard mode, the server provides 16 read-only tools, 4 resources and 5 prompt templates, plus 9 HYROX and triathlon tools. Support for resources, prompts and remote connections depends on your assistant.

HYROX and triathlon tracking

Ask "How did yesterday's HYROX sim go?" or "Am I ready for my triathlon in two weeks?" The race tools:

  • Rebuild a HYROX session from WHOOP's back-to-back workouts: segment timeline, transition time, time in zone and rule-based insights.
  • Track weekly running and HYROX load, swim/bike/run balance and bricks, plus logged races with station and leg splits and PRs.
  • Give a readiness band from recovery, training form, specificity, sleep debt and taper. Every component shows its evidence; there's no opaque score.
  • Let you audit the numbers: suspect workouts are flagged, you can relabel or exclude workouts, every change is logged, and verify_claim recomputes a number your assistant told you.
  • Open a chart-first local dashboard (open_performance_dashboard) on 127.0.0.1 with Today, Session, Training, HYROX, Triathlon, Readiness and Audit views. Dark/light themes, local fonts, and review-before-save controls are included.

[Chart-first Session view: nine recorded run and erg segments, an average and peak heart-rate profile, run-by-run build and recorded-segment ring. Synthetic sample data.]

Screenshots use synthetic sample data.

New in 1.0.2: the chart-first dashboard

Ask your assistant to "Open my performance dashboard" to launch it locally. The design from the latest main-branch redesign is now part of the working dashboard, not just a prototype. Dark is the default, with a Light/Dark toggle that preserves unsaved forms. Session remains the default view.

  • Today: recovery ring and five weeks of recovery, HRV, resting HR and sleep stages on one timeline with a shared crosshair. Missing days remain gaps; historical bands describe your visible data, not medical norms.
  • Training: WHOOP zone minutes by UTC week, including empty weeks, workout strain/duration bubbles and fitness/fatigue/form charts. Local corrections apply.
  • Session and Readiness: recorded-segment and five-component rings, summary HR charts and evidence. No invented continuous HR traces or HYROX station splits.
  • Review before saving. Inspect workout corrections and race results, then edit, cancel or confirm. Failed saves preserve your entries.
  • Keep your context. Filters survive switching views; last-7-day and last-28-day presets use completed UTC days.
  • Refresh honestly. Refresh and retry controls report when a view loaded, not when WHOOP synced. Reads may use cached data.

[Dark chart-first Today dashboard: recovery ring and shared-timeline recovery, HRV, resting heart rate and sleep-stage charts, with gaps and historical bands. Synthetic sample data.]
Today view with synthetic sample data. WHOOP recovery is not a race-readiness verdict; local workout corrections apply to race views, not this overview.

[Training dashboard showing weekly recorded WHOOP zone minutes, strain and duration workout bubbles, and fitness, fatigue and form. Synthetic sample data.]

The race log, workout corrections and dashboard are available only when the server runs locally (stdio). Details: race performance tools and local data.

See all tools and prompts
GroupTools
Today and baselinesget_today, get_baselines, get_sleep_debt
Trends and reviewsget_weekly_summary, get_trend, compare_periods, get_calendar
Recordsget_recovery_collection, get_sleep_collection, get_workout_collection, get_cycle_collection, get_sleep_by_id, get_workout_by_id, get_cycle_by_id
Profileget_profile, get_body_measurement
HYROX and triathlonget_hyrox_session_report, get_hyrox_performance, get_triathlon_performance, get_race_readiness, audit_performance_data, verify_claim
Local only: race log, corrections, dashboardlog_race_result, annotate_workout, open_performance_dashboard

Prompt templates: weekly_health_review, sleep_analysis, recovery_trend, workout_recap, health_check

Parameters, date expressions, resources and caching are in the tool reference.

Documentation

GuideWhat's in it
InstallationAssistants, manual configuration, environment variables and WHOOP authorization
Tool referenceEvery tool and its parameters, date expressions, resources, prompts and caching
PrivacyStructured results, aggregate mode and what your assistant provider receives
TelemetryConsent, opting out, what's collected and how long it's kept
TroubleshootingLocal diagnostics, common errors and MCP Inspector
DeploymentDocker, cloud hosting and remote connector OAuth
DevelopmentTests, project structure and release workflow
BackgroundEcosystem research and the video walkthrough

What changed recently? See the changelog or the latest release.

Feedback and contributing

[Report a bug]  [Request a feature]

Something not working, or a question you wish you could ask? Use the buttons above. Each opens a short form that asks for the details needed to help. Issues are public, so never include credentials or health records; security problems go through the security policy instead.

Want to contribute code? Read the contributing guide. Everyone taking part follows the Code of Conduct.

If whoop-ai-mcp is useful to you, a GitHub star helps other people find it, and you can buy me a coffee to support development.

Project growth

[WHOOP MCP GitHub star history chart]

[WHOOP MCP cumulative npm downloads since April 11, 2026]
Downloads include automated installs and may not represent unique users.

License

MIT. This is an unofficial project and isn't affiliated with WHOOP. A WHOOP membership and API access are separate from this package.

Source: README.md at commit 00210f0

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.5.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts