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 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
MCP server that exposes your Whoop fitness data (recovery, sleep, strain, workouts) to Claude for use as a daily training coach.
Prerequisites
Python 3.10+
A Whoop Developer account with a registered application
Your Whoop app's Client ID and Client Secret
Related MCP server: whoop-mcp
Whoop Developer Dashboard Setup
Go to developer.whoop.com and sign in
Create a new application
Set the Redirect URI to:
http://localhost:8080/callbackEnable these scopes:
read:recovery,read:cycles,read:sleep,read:profile,read:body_measurementNote:
read:workoutandofflinemay not be available on all developer apps. The server handles missing scopes gracefully.
Note your Client ID and Client Secret
Installation
cd whoop-mcp
pip install -r requirements.txtAuthorization (One-Time Setup)
Export your app credentials and run the setup script:
export WHOOP_CLIENT_ID="your-client-id"
export WHOOP_CLIENT_SECRET="your-client-secret"
python scripts/setup_auth.pyThis opens a browser to Whoop's authorization page. After you approve, tokens are encrypted and stored at ~/.whoop_mcp/. If the offline scope was granted, tokens refresh automatically. Otherwise, re-run this script when the token expires.
Claude Desktop / Cowork MCP Config
Add this to your Claude MCP configuration:
{
"mcpServers": {
"whoop": {
"command": "python",
"args": ["/absolute/path/to/whoop-mcp/src/whoop_server.py"],
"env": {
"WHOOP_CLIENT_ID": "your-client-id",
"WHOOP_CLIENT_SECRET": "your-client-secret"
}
}
}
}Replace /absolute/path/to/whoop-mcp with the actual path on your machine.
Available Tools
Tool | Description |
| Verify tokens are valid and not expired |
| Most recent recovery score, HRV, resting HR, SpO2 |
| Recovery data for a date range |
| Last sleep session with stage breakdown |
| Sleep data for a date range |
| Current cycle strain, avg/max HR, kilojoules |
| Strain over past N days with average |
| Workouts with sport ID, strain, HR zones |
| User profile and body measurements |
| Aggregated coaching snapshot (start here) |
Example Prompts
Once connected, you can ask Claude things like:
"What was my recovery yesterday?"
"How much strain did I accumulate last week?"
"Am I trending toward overtraining?"
"How has my HRV changed over the past two weeks?"
"What were my sleep stages last night?"
"Compare my strain to my recovery over the past 7 days."
"Should I do a hard workout today?"
Training Coach Workflow
Start each session by calling whoop_get_training_summary for an overview of recovery status, recent strain load, sleep quality, and a training readiness assessment.
Token Storage
Tokens are stored encrypted at ~/.whoop_mcp/:
.encryption_key— Fernet encryption key (chmod 600)tokens.enc— Encrypted OAuth tokens (chmod 600)Directory permissions: chmod 700
If token refresh fails, re-run python scripts/setup_auth.py.
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
- 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/cbellbell-spin/whoop-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server