Whoop

Provides access to WHOOP sleep, recovery, and cycle data via MCP endpoints for use by LLMs.
  • typescript

1

GitHub Stars

typescript

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

You can run a dedicated MCP server that connects to the WHOOP API to retrieve sleep, recovery, and physiological cycle data for use with LLMs. This server handles OAuth authentication, token refresh, and exposes data through MCP endpoints so your AI applications can access WHOOP data securely and efficiently.

How to use

Set up and run the WHOOP MCP Server, then use it from your MCP client to fetch sleep, cycle, and recovery data. You will authenticate once, then your client can request: recent cycles with strain and HR data, detailed sleep data by ID, sleep for a specific cycle, and recovery metrics for a cycle.

How to install

Prerequisites you need before installing are Node.js 20 or higher, a WHOOP account, and API credentials (Client ID and Client Secret). After preparing these, follow the steps to install and run the server in either STDIO (local process) or HTTP (network) mode.

# Install dependencies and build the project
pnpm install
pnpm build

# OR using npm
npm install
npm run build

# Start in development mode (optional)
pnpm dev

# Manually refresh tokens (optional)
pnpm refresh-token

Configuration and running in STDIO mode (Claude Desktop)

If you plan to use Claude Desktop in STDIO mode, provide your WHOOP credentials through environment variables and point the client to the local stdio interface. This mode offers better performance and reliability.

# Example Claude Desktop config for STDIO mode
{
  "mcpServers": {
    "whoop": {
      "command": "node",
      "args": ["/Users/yourname/projects/whoop-mcp/dist/stdio.js"],
      "env": {
        "WHOOP_CLIENT_ID": "your-client-id",
        "WHOOP_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Configuration and running in HTTP mode

If you prefer HTTP mode, start the HTTP server and use its URL in your MCP client configuration.

# Start the HTTP server (example)
pnpm start
# or
node dist/http.js

# Server URL
http://localhost:3002/mcp

# Claude Desktop HTTP config example
{
  "mcpServers": {
    "whoop": {
      "url": "http://localhost:3002/mcp"
    }
  }
}

Security and credentials

Keep your API credentials secure. Do not commit environment files or token files. The server stores access tokens locally and refreshes them automatically.

Troubleshooting

If you see authentication errors, run the authentication flow to obtain fresh tokens. If you encounter resource errors, ensure your WHOOP app has the required scopes and that tokens are valid.

Data interpretation notes

Recovery scores use a color scheme to indicate readiness: Green (67–100%) means you're ready for high strain, Yellow (34–66%) indicates moderate readiness, and Red (0–33%) suggests focusing on recovery. The Strain scale ranges from 0 to 21, with higher values showing greater cardiovascular load.

Available tools

get-recent-cycles

Retrieves recent physiological cycles with strain and heart rate data Using parameters limit and days to control the number of cycles returned.

get-sleep-by-id

Gets detailed sleep data for a specific sleep activity by its UUID sleepId.

get-sleep-for-cycle

Retrieves sleep data associated with a particular physiological cycle identified by cycleId.

get-recovery-for-cycle

Fetches recovery metrics for a specific cycle, including HRV and readiness scores.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
Whoop MCP Server - izqui/whoop-mcp | VeilStrat