Whoop 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 MCP ServerWhat's my recovery score today?"
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 Model Context Protocol (MCP) server that connects your Whoop health data to Claude. Designed to be hosted remotely and used as a custom connector in Claude.ai.
Built using the Whoop Developer API v2.
Features
Recovery Data: Daily recovery scores, HRV, resting heart rate, SpO2, skin temperature
Sleep Analysis: Sleep duration, stages, efficiency, performance, respiratory rate
Strain Tracking: Daily strain scores, calories burned, heart rate zones
Workout History: All logged workouts with detailed metrics
Auto-Sync: Automatically keeps data fresh with smart sync logic
90-Day History: Maintains local cache of your health data for trend analysis
MCP Tools
Tool | Description |
| Morning briefing with recovery, sleep, and strain |
| Recovery patterns over time with HRV/RHR |
| Sleep quality trends and stage breakdowns |
| Training load and calorie trends |
| Manually trigger a data sync |
| Get authorization URL for Whoop connection |
Setup
1. Create a Whoop Developer App
Go to developer.whoop.com
Create a new application
Note your Client ID and Client Secret
Set the redirect URI to your deployed server's callback URL (e.g.,
https://your-app.railway.app/callback)
2. Deploy to Railway
Fork/push this repo to GitHub
Create a new project on Railway
Connect your GitHub repo
Add environment variables:
WHOOP_CLIENT_ID: Your Whoop app client IDWHOOP_CLIENT_SECRET: Your Whoop app client secretWHOOP_REDIRECT_URI:https://your-app.railway.app/callback
Add a volume mounted at
/datafor persistent SQLite storageDeploy!
3. Authorize with Whoop
Visit
https://your-app.railway.app/healthto verify it's runningThe first time you use the
get_auth_urltool in Claude, it will provide an authorization linkVisit the link, log in to Whoop, and authorize the app
You'll be redirected back and the initial 90-day sync will begin
4. Connect to Claude
Go to Claude.ai settings → Connectors
Click "Add custom connector"
Enter:
Name: Whoop
Remote MCP server URL:
https://your-app.railway.app/mcp
Use it in any chat!
Local Development
# Install dependencies
npm install
# Create .env file
cat > .env << EOF
WHOOP_CLIENT_ID=your_client_id
WHOOP_CLIENT_SECRET=your_client_secret
WHOOP_REDIRECT_URI=http://localhost:3000/callback
MCP_MODE=http
EOF
# Run in development mode
npm run devEnvironment Variables
Variable | Description | Default |
| Whoop OAuth client ID | Required |
| Whoop OAuth client secret | Required |
| OAuth callback URL |
|
| SQLite database path |
|
| HTTP server port |
|
|
|
|
Architecture
┌─────────────────────────────────────────────────┐
│ Whoop MCP Server │
│ │
│ ┌─────────────┐ ┌──────────────────┐ │
│ │ MCP Server │◄────►│ SQLite Database │ │
│ │ (HTTP) │ │ - cycles │ │
│ └─────────────┘ │ - recovery │ │
│ │ │ - sleep │ │
│ │ │ - workouts │ │
│ ▼ │ - tokens │ │
│ ┌─────────────┐ └──────────────────┘ │
│ │ Whoop API │ │
│ │ Client │ │
│ └─────────────┘ │
└─────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ Claude.ai (Custom Connector) │
│ "Hey, what's my recovery today?" │
└─────────────────────────────────────────────────┘API Endpoints Used
This server uses the following Whoop API v2 endpoints:
GET /v2/user/profile/basic- User profileGET /v2/user/measurement/body- Body measurementsGET /v2/cycle- Physiological cycles (strain data)GET /v2/recovery- Recovery scoresGET /v2/activity/sleep- Sleep recordsGET /v2/activity/workout- Workout records
License
MIT - See LICENSE for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/crerocksolid/whoop-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server