Install
$ agentstack add mcp-yuridivonis-whoop-mcp-server ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
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 | |------|-------------| | get_today | Morning briefing with recovery, sleep, and strain | | get_recovery_trends | Recovery patterns over time with HRV/RHR | | get_sleep_analysis | Sleep quality trends and stage breakdowns | | get_strain_history | Training load and calorie trends | | sync_data | Manually trigger a data sync | | get_auth_url | 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 storage - Deploy!
3. Authorize with Whoop
- Visit
https://your-app.railway.app/healthto verify it's running - The first time you use the
get_auth_urltool in Claude, it will provide an authorization link - Visit 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 dev
Environment Variables
| Variable | Description | Default | |----------|-------------|---------| | WHOOP_CLIENT_ID | Whoop OAuth client ID | Required | | WHOOP_CLIENT_SECRET | Whoop OAuth client secret | Required | | WHOOP_REDIRECT_URI | OAuth callback URL | http://localhost:3000/callback | | DB_PATH | SQLite database path | ./whoop.db | | PORT | HTTP server port | 3000 | | MCP_MODE | http for remote, stdio for local | http |
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](LICENSE) for details.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: yuridivonis
- Source: yuridivonis/whoop-mcp-server
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.