Server data from the Official MCP Registry
MCP server for WHOOP — gives Claude access to your recovery, sleep, strain, and workout data
About
MCP server for WHOOP — gives Claude access to your recovery, sleep, strain, and workout data
Security Report
Valid MCP server (2 strong, 4 medium validity signals). 1 code issue detected. 3 known CVEs in dependencies (0 critical, 3 high severity) Package registry verified. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
6 files analyzed · 5 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: WHOOP_CLIENT_ID
Environment variable: WHOOP_CLIENT_SECRET
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-souravpn-whoop-mcp": {
"env": {
"WHOOP_CLIENT_ID": "your-whoop-client-id-here",
"WHOOP_CLIENT_SECRET": "your-whoop-client-secret-here"
},
"args": [
"-y",
"@souravpn/whoop-mcp"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
whoop-mcp
A Model Context Protocol (MCP) server that gives Claude access to your WHOOP biometric data — recovery, sleep, strain, and workouts.
Ask Claude things like:
- "How's my recovery today?"
- "How did I sleep last night?"
- "How has my HRV trended this week?"
- "What was my strain from yesterday's workout?"
Privacy
This app accesses your WHOOP data locally on your device. No data is sent to any third-party server.
Tools
| Tool | What it returns |
|---|---|
get_recovery | Recovery score, HRV, resting HR, SpO2 |
get_sleep | Sleep duration, stages (light/deep/REM), efficiency, respiratory rate |
get_strain | Day strain score, avg/max HR, calories |
get_latest_workout | Most recent workout — sport, duration, strain, HR zones |
get_recovery_trend | Recovery scores over N days (default 7) |
get_sleep_trend | Sleep data over N days (default 7) |
get_workout_history | Recent workout history (default 5) |
get_profile | Profile + body measurements |
Setup
1. Create a WHOOP developer app
- Go to developer-dashboard.whoop.com
- Sign in with your WHOOP account
- Create a new App:
- Name:
whoop-mcp(or anything) - Redirect URI:
http://localhost:8080/callback - Scopes: select all read scopes +
offline
- Name:
- Copy your Client ID and Client Secret
2. Install
npm install -g @souravpn/whoop-mcp
3. Run one-time auth setup
This opens your browser, you log into WHOOP, and your tokens are saved to ~/.whoop-mcp-tokens.json:
WHOOP_CLIENT_ID=your_id WHOOP_CLIENT_SECRET=your_secret whoop-mcp-auth-setup
You only need to do this once. The server will auto-refresh tokens after that.
4. Add to Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"whoop": {
"command": "@souravpn/whoop-mcp",
"env": {
"WHOOP_CLIENT_ID": "your_client_id",
"WHOOP_CLIENT_SECRET": "your_client_secret"
}
}
}
}
Restart Claude Desktop. You should see a green "running" badge in Settings → Developer.
5. Test it
Open a new chat and ask:
How's my recovery today?
Example queries
Daily check-in:
What's my recovery, sleep, and strain for today?
Trend analysis:
How has my HRV trended over the past 7 days?
Workout correlation:
Look at my workouts this week and my recovery scores
the day after each one. Is there a pattern?
Full briefing:
Give me a complete health briefing — recovery, last
night's sleep breakdown, and any workouts from yesterday
Pairing with Oura
If you also use Oura Ring, you can run both MCP servers together and ask Claude to cross-reference:
{
"mcpServers": {
"whoop": {
"command": "/path/to/whoop-mcp",
"env": { "WHOOP_ACCESS_TOKEN": "your_whoop_token" }
},
"oura": {
"command": "/path/to/oura-mcp",
"env": { "OURA_ACCESS_TOKEN": "your_oura_token" }
}
}
}
Then ask:
Compare my WHOOP and Oura HRV readings for this week.
Do they agree? Which is trending higher?
Development
git clone https://github.com/yourusername/whoop-mcp
cd whoop-mcp
npm install
npm run build
# Test locally
WHOOP_ACCESS_TOKEN=your_token node dist/index.js
Project structure
whoop-mcp/
├── src/
│ ├── index.ts # MCP server + tool definitions
│ └── whoop.ts # WHOOP API client + formatters
├── package.json
├── tsconfig.json
└── README.md
Contributing
PRs welcome. Some ideas for extension:
- Heart rate time series data
- Sleep stage timeline (light/deep/REM per hour)
- Strain goal recommendations
- Weekly summary tool
License
MIT
Acknowledgements
Built with the MCP TypeScript SDK and the WHOOP Developer API.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
MarkItDown
Freeby Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
