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 Serverhow was 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 for WHOOP biometric data. Query recovery, strain, sleep, workouts, and heart rate from any MCP-compatible AI client.
Two Modes
Remote — Calls
/api/whoop/statson a deployed WHOOP-connected site (e.g., patrickwingert.com)Direct — Talks to the WHOOP API directly with local OAuth + token storage
Both modes expose the same 11 tools through a shared interface.
Related MCP server: Whoop MCP Server
Setup
1. Build
npm install
npm run build2. Configure Claude Code
Remote mode (uses an existing WHOOP-connected site):
{
"mcpServers": {
"whoop": {
"command": "node",
"args": ["/path/to/whoop-mcp-server/dist/index.js"],
"env": {
"WHOOP_MODE": "remote",
"WHOOP_BASE_URL": "https://patrickwingert.com"
}
}
}
}Direct mode (standalone, talks to WHOOP API):
{
"mcpServers": {
"whoop": {
"command": "node",
"args": ["/path/to/whoop-mcp-server/dist/index.js"],
"env": {
"WHOOP_MODE": "direct",
"WHOOP_CLIENT_ID": "your-client-id",
"WHOOP_CLIENT_SECRET": "your-client-secret"
}
}
}
}3. Direct Mode — WHOOP Developer Setup
Go to WHOOP Developer Portal
Create a new application
Set redirect URI to
http://localhost:8787/callbackEnable scopes:
read:profile,read:recovery,read:cycles,read:workout,read:sleep,read:body_measurementCopy Client ID and Client Secret to your config
4. Direct Mode — OAuth Flow
On first use, the server will need OAuth tokens. The OAuth flow:
Server starts a temporary listener on
localhost:8787Open the generated authorization URL in your browser
Authorize on WHOOP's site
Tokens are stored in
~/.whoop-mcp/tokens.json(chmod 600)Tokens auto-refresh going forward
Tools
Tier 1 — Biometric Data (read-only)
Tool | Description |
| Full biometric snapshot (recovery, strain, HR, sleep, workout) |
| Recovery score (0-100), resting HR, HRV, SpO2, skin temp |
| Daily strain (0-21), kilojoules, average/max HR |
| Latest workout: sport, duration, strain, HR zones, distance |
| Current HR with source context (resting/workout/decay) |
| Sleep performance, stages, efficiency, respiratory rate |
| Sleep need breakdown: baseline, debt, strain impact, nap offset |
Tier 2 — Diagnostics
Tool | Description |
| Endpoint status, token expiry, connection state |
| What's cached, staleness, TTL remaining |
| Force fresh data on next request |
| Current mode, target, scopes, cache TTL |
All tools support response_format: markdown (default, human-readable) or json (structured data).
Environment Variables
Variable | Mode | Required | Description |
| Both | Yes |
|
| Remote | Yes | Base URL of WHOOP-connected app |
| Direct | Yes | From WHOOP developer dashboard |
| Direct | Yes | From WHOOP developer dashboard |
Local Storage (Direct Mode)
~/.whoop-mcp/
├── tokens.json # OAuth tokens (chmod 600)
└── cache.json # Cached API responsesTesting
# Test with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.jsThis 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/NathanielDaniels/whoop-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server