Whoop MCP Server
whoop-write-mcp
MCP server for Whoop — read biometrics, log activities, and manage your Whoop band from Claude.
Built on whoop-write-api and the Model Context Protocol.
Tools
Read
Tool | Description |
| Recovery score, HRV, resting HR (supports date range) |
| Sleep score, hours, respiratory rate |
| Daily strain and heart rate from cycles |
| Height, weight, max HR |
| List all Whoop sport/activity type IDs |
| Search exercise catalog by name, equipment, muscle group |
| Available journal questions for a date |
Write
Tool | Description |
| Log sauna, meditation, yoga, running, etc. |
| Remove an activity by ID |
| List recent activities with IDs |
| Update body weight (lbs, converted to kg) |
| Set or disable Whoop alarm |
| Full workout with optional exercise detail |
| Attach per-set exercise data to an activity |
| Log caffeine, alcohol, supplements, notes |
Connect to Claude Code
Step 1: Add the server
claude mcp add -s user whoop -- uvx whoop-write-mcpStep 2: Authenticate
whoop-write-mcp loginEnter your Whoop email and password when prompted. Credentials are used once to get tokens, then discarded. Tokens are cached at ~/.whoop/tokens.json and auto-refresh — you shouldn't need to login again.
Step 3: Use it
Ask Claude things like:
"What's my recovery today?"
"Log a 20-minute sauna session"
"Set my alarm for 7:30 AM"
"How did I sleep last night?"
"Update my weight to 255 lbs"
"Delete my last activity"
Alternative: env vars (skip the login step)
claude mcp add -e WHOOP_EMAIL=you@example.com -e WHOOP_PASSWORD=yourpass -s user whoop -- uvx whoop-write-mcpServer auto-authenticates on first tool call. Useful for automation.
From source
git clone https://github.com/jd1207/whoop-write-mcp.git
cd whoop-write-mcp && pip install -e .
claude mcp add -s user whoop -- whoop-write-mcp
whoop-write-mcp loginManaging
claude mcp list # see registered servers
claude mcp remove whoop # unregister
whoop-write-mcp status # check auth state
whoop-write-mcp logout # remove cached tokensOr type /mcp inside Claude Code to manage connected servers.
How Auth Works
First tool call checks for cached tokens at
~/.whoop/tokens.jsonNo tokens? Auto-authenticates from
WHOOP_EMAIL/WHOOP_PASSWORDenv vars if setNo env vars? Returns a clear error: "Run
whoop-write-mcp loginin your terminal"Tokens cached (
0600permissions), auto-refresh on expiryPassword never stored on disk — only refresh tokens
Architecture
Claude Code <--stdio--> whoop-write-mcp <--https--> Whoop API
|
~/.whoop/tokens.jsonClaude Code Skill
The skill/ directory contains a coaching intelligence skill that teaches Claude how to interpret Whoop data and make training decisions — not just call tools, but use them like a coach.
Install it to make any Claude Code agent smarter with Whoop data:
cp -r skill/ ~/.claude/skills/whoop-mcp/What the skill provides:
Decision frameworks — when to train heavy, when to deload, when to stay quiet
Signal priority — sleep > HRV trend > recovery score > strain
Verbosity rules — only surface data when it changes the recommendation
Multi-step workflows — morning check-in, pre-workout assessment, post-workout sync
Biometric interpretation — recovery zones, HRV trends, sleep thresholds, strain budgets
Related Projects
whoop-write-api — the underlying Python library for Whoop's reverse-engineered API
SpotMe — self-hosted AI workout coach PWA that uses this MCP server
Development
git clone https://github.com/jd1207/whoop-write-mcp.git
cd whoop-write-mcp
pip install -e ".[dev]"
pytestLicense
MIT