Whoop MCP
Local MCP server that exposes Whoop recovery, sleep, and strain data to AI agents
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
Whoop Developer Dashboard Setup
- Go to developer.whoop.com and sign in
- Create a new application
- Set the Redirect URI to:
http://localhost:8080/callback - Enable these scopes:
read:recovery,read:cycles,read:sleep,read:profile,read:body_measurement- Note:
read:workoutandofflinemay not be available on all developer apps. The server handles missing scopes gracefully.
- Note:
- Note your Client ID and Client Secret
Installation
cd whoop-mcp
pip install -r requirements.txt
Authorization (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.py
This 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 |
|---|---|
whoop_check_auth | Verify tokens are valid and not expired |
whoop_get_latest_recovery | Most recent recovery score, HRV, resting HR, SpO2 |
whoop_get_recovery_range | Recovery data for a date range |
whoop_get_latest_sleep | Last sleep session with stage breakdown |
whoop_get_sleep_range | Sleep data for a date range |
whoop_get_latest_strain | Current cycle strain, avg/max HR, kilojoules |
whoop_get_strain_range | Strain over past N days with average |
whoop_get_workouts | Workouts with sport ID, strain, HR zones |
whoop_get_profile | User profile and body measurements |
whoop_get_training_summary | 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.
เซิร์ฟเวอร์ที่เกี่ยวข้อง
Kone.vc
ผู้สนับสนุนMonetize your AI agent with contextual product recommendations
Basecamp
Interact with Basecamp 3 to manage projects, to-dos, and messages.
Lazy Toggl MCP
Simple unofficial MCP server to track time via Toggl API
CData Zoho Projects Server
A read-only MCP server to query live Zoho Projects data using the CData JDBC driver.
MCP Atlassian
Interact with Atlassian products like Confluence and Jira, supporting both Cloud and Server/Data Center deployments.
Bakaláři
Access data from the Bakaláři school system, including schedules, absences, and grades, through a standardized API.
Overleaf
Access and analyze Overleaf projects and LaTeX files through Git integration.
Jira MCP Server
An MCP server for accessing JIRA issue data stored in Snowflake.
Autofill PDF
Autofill PDF is an MCP server that connects your Instafill.ai workspace to the Claude and ChatGPT MCP clients, allowing users to upload, search, and automatically fill PDF forms directly from chat.
Romanela
Guides any AI agent or AI-assistant to write healthy, maintainable code
SocialPilot MCP
Connect Claude or any AI assistant to SocialPilot and let it schedule, publish, manage approvals, and monitor delivery across every account — from one conversation.