whoop-tracker-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@whoop-tracker-mcp-serverwhat was my recovery score this morning?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Whoop MCP Server
A lightweight MCP (Model Context Protocol) server for integrating with the Whoop API v2. Built for use with Claude Desktop and other MCP clients.
Features
π OAuth 2.0 authentication with Whoop
π Automatic token refresh
π Access to all major Whoop data endpoints:
User profile and body measurements
Sleep, recovery, and cycle data
Workout information
π³ Docker support for easy deployment
πΎ Persistent token storage
Related MCP server: WHOOP MCP Server
Quick Start
Prerequisites
Node.js >= 22.0.0 (for Method 1) OR Docker (for Method 2)
pnpm >= 10.0.0 (for Method 1 only)
Setup for Claude Desktop
Choose one of the two methods below to integrate with Claude Desktop. The MCP server runs as part of Claude Desktop - you don't need to start it separately.
Method 1: Using Node.js
Clone and install:
git clone https://github.com/alacore/whoop-tracker-mcp-server.git cd whoop-tracker-mcp-server pnpm installBuild the server:
pnpm run buildConfigure Claude Desktop - see Claude Desktop Configuration section below
Method 2: Using Docker
Clone the repository:
git clone https://github.com/alacore/whoop-tracker-mcp-server.git cd whoop-tracker-mcp-serverBuild Docker image:
docker build -t whoop-mcp .Configure Claude Desktop - see Claude Desktop Configuration section below
Development Mode (Optional)
For testing the MCP server independently or during development:
Configure environment:
cp .env.example .envEdit
.envwith your Whoop OAuth credentials:WHOOP_CLIENT_ID=your_whoop_client_id WHOOP_CLIENT_SECRET=your_whoop_client_secret WHOOP_REDIRECT_URI=http://localhost:3000/callback WHOOP_SCOPES=offline read:profile read:body_measurement read:cycles read:recovery read:sleep read:workoutRun in development mode:
pnpm run devNote: This runs the server standalone for testing. For actual use with Claude Desktop, follow the configuration instructions below.
Usage
Claude Desktop Configuration
Method 1: Direct Node.js Execution
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"whoop": {
"command": "node",
"args": ["/path/to/whoop-tracker-mcp-server/dist/mcp-standalone.js"],
"env": {
"WHOOP_CLIENT_ID": "your_client_id",
"WHOOP_CLIENT_SECRET": "your_client_secret",
"WHOOP_REDIRECT_URI": "http://localhost:3000/callback",
"WHOOP_SCOPES": "offline read:profile read:body_measurement read:cycles read:recovery read:sleep read:workout"
}
}
}
}Prerequisites:
Node.js >= 22.0.0 installed
Built server (
pnpm run build)Replace
/path/to/whoop-tracker-mcp-serverwith your actual project path
Note: The offline scope in WHOOP_SCOPES is required to receive a refresh token during the OAuth2 flow, enabling automatic token renewal without re-authentication.
Method 2: Docker Container
First, build the Docker image:
# Build the Docker image
docker build -t whoop-mcp .Then add to your Claude Desktop configuration:
{
"mcpServers": {
"whoop": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"WHOOP_CLIENT_ID=your_client_id",
"-e",
"WHOOP_CLIENT_SECRET=your_client_secret",
"-e",
"WHOOP_REDIRECT_URI=http://localhost:3000/callback",
"-e",
"WHOOP_SCOPES=offline read:profile read:body_measurement read:cycles read:recovery read:sleep read:workout",
"-v",
"${HOME}/.whoop-mcp:/home/node/.whoop-mcp",
"whoop-mcp"
]
}
}
}Prerequisites:
Docker installed and running
Built Docker image (
docker build -t whoop-mcp .)
Notes:
The
-vflag mounts a local directory for persistent token storage across container restarts. First create the directory on your host machine (e.g.,mkdir -p ~/.whoop-mcp), then mount it using the-vflag - this is where auth tokens will be storedThe
offlinescope inWHOOP_SCOPESis required to receive a refresh token during the OAuth2 flow, enabling automatic token renewal without re-authentication
Testing Your Setup
To test either configuration:
Restart Claude Desktop after updating the configuration
In Claude, use the Whoop tools:
Start with
whoop_auth_urlto begin authenticationFollow the OAuth flow to authorize
Use other tools like
whoop_get_profileto verify access
Available MCP Tools
Authentication
whoop_auth_url - Generate OAuth authorization URL
whoop_exchange_token - Exchange auth code for access token
whoop_refresh_token - Refresh expired access token
Data Access
whoop_get_profile - Get user profile
whoop_get_body_measurement - Get body measurements
whoop_get_cycles - Get physiological cycles
whoop_get_recovery - Get recovery data
whoop_get_sleep - Get sleep data
whoop_get_workouts - Get workout data
Authentication Flow
Use
whoop_auth_urlto get authorization URLOpen URL in browser and authorize
Copy the
codeparameter from callback URLUse
whoop_exchange_tokenwith the codeTokens are automatically saved and refreshed
Development
# Development with hot reload
pnpm run dev
# Build for production
pnpm run build
# Run built version
pnpm startLicense
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables access to WHOOP fitness and health data through all WHOOP v2 API endpoints. Supports OAuth 2.0 authentication and provides comprehensive access to user profiles, physiological cycles, recovery metrics, sleep analysis, and workout data.161,02014MIT
- Alicense-qualityFmaintenanceConnects WHOOP fitness data to Claude Desktop, enabling natural language queries about workouts, recovery, sleep patterns, and physiological cycles with secure OAuth authentication and local data storage.1,02027MIT
- AlicenseAqualityDmaintenanceEnables LLMs to retrieve and analyze sleep, recovery, and physiological cycle data from the WHOOP API. It provides tools for accessing detailed metrics such as strain, HRV, and readiness scores through secure OAuth 2.0 authentication.4121MIT
- Flicense-qualityDmaintenanceEnables language models to query cycles, recovery, strain, and workout data from the Whoop API.
Related MCP Connectors
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
Connect your Oura Ring account securely in minutes. Enable authorized access to your sleep, activiβ¦
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alacore/whoop-tracker-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server