explaingit

briangaoo/whoop-mcp

17TypeScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

A tool that connects Whoop fitness wearables to AI assistants like Claude by wrapping the private Whoop iOS API, exposing 48 tools for reading health data including HRV, sleep timelines, and workout logs, plus 14 write tools the official API does not offer.

Mindmap

mindmap
  root((whoop-mcp))
    What it does
      Connects Whoop to AI
      48 data tools
      Read and write access
    Data types
      Recovery and HRV
      Sleep timelines
      Workout logs
    Setup options
      Cloud deploy
      Local Claude Desktop
    Tech
      TypeScript
      Node 24
      Zod validation
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Ask Claude to summarize your Whoop recovery trends, HRV, and respiratory rate over the past month using plain language.

USE CASE 2

Log a workout or edit a journal entry in Whoop by telling your AI assistant what happened.

USE CASE 3

Query sleep stage hypnogram timelines and stress data from Whoop that the official public API does not expose.

Tech stack

TypeScriptNode.js

Getting it running

Difficulty · moderate Time to first run · 30min

Uses the private Whoop iOS API which is outside Whoop's official terms of service, authentication tokens expire every 30 days and must be renewed.

In plain English

Whoop is a fitness wearable that tracks recovery, sleep, and workout strain. This project connects it to AI assistants by wrapping Whoop's private iOS API, the same one the official Whoop mobile app uses behind the scenes. The result is that an AI like Claude can read and write almost all your Whoop data on request, using 48 different tools registered at startup. The official Whoop developer API is limited to 13 read-only endpoints: basic recovery scores, sleep totals, and workout strain. This project goes further by accessing the private iOS interface, which exposes around 311 operations across 47 internal services. That means the AI can see your HRV and respiratory rate trends, hypnogram sleep timelines, Strength Trainer session logs, journal behavior entries, live heart rate, stress data, and Whoop Coach's built-in AI chat. Fourteen of the tools also allow writes, such as logging workouts, editing journal entries, and configuring your smart alarm. Setup follows one of two paths. Running whoop-mcp cloud deploys the server to a cloud host (Fly, Railway, or Google Cloud Run are supported) and wires it to Claude on web, desktop, and mobile. Running whoop-mcp local keeps everything on your machine over a direct connection to Claude Desktop. Both paths walk you through Whoop login, including SMS authentication if your account uses it, and write the necessary configuration automatically. The project is written in TypeScript and requires Node 24 or later. It includes bundled catalogs for 372 exercises, 308 journal behaviors, and 203 sports, and validates all tool inputs and outputs with zod schemas. Authentication uses Whoop's Cognito token system and refreshes automatically. Tokens expire roughly every 30 days, at which point you re-run the same setup command to renew them. One important note: this works through the private iOS API, not the public OAuth API. The README states that is not what Whoop's terms allow and includes a FAQ section explaining the details before installation.

Copy-paste prompts

Prompt 1
I want to connect my Whoop to Claude Desktop so I can ask questions about my recovery and HRV trends. Walk me through the local setup of whoop-mcp step by step.
Prompt 2
Using whoop-mcp, ask Claude to pull my last 7 days of sleep hypnogram data and identify which nights had the worst deep sleep percentage.
Prompt 3
How do I deploy whoop-mcp to Fly.io so I can access my Whoop data through Claude on my phone and tablet?
Prompt 4
I want to use whoop-mcp to log my morning workouts automatically by telling Claude the exercise type and duration each day. Walk me through how to set that up.
Open on GitHub → Explain another repo

← briangaoo on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.