whoop-mcp — Claude Code MCP server: what it does, how to install
Connects AI coding agents to WHOOP recovery, sleep, strain, and HRV data. Keeps OAuth credentials entirely on your local machine.
claude mcp add --env WHOOP_CLIENT_ID=<WHOOP_CLIENT_ID> --env WHOOP_CLIENT_SECRET=<WHOOP_CLIENT_SECRET> --env WHOOP_REDIRECT_URI=<WHOOP_REDIRECT_URI> --env WHOOP_TOKEN_PATH=<WHOOP_TOKEN_PATH> --env WHOOP_PRIVACY_MODE=<WHOOP_PRIVACY_MODE> --transport stdio davidmosiah-whoop-mcp -- npx -y whoop-mcp-unofficialWhat whoop-mcp does
This local MCP server exposes biometric tracking from a personal WHOOP profile directly into agent sessions. Tools like whoop_connection_status and whoop_daily_summary pull recovery scores, strain levels, and sleep metrics without copying numbers from the mobile app. It keeps tokens local.
Live syncing requires a registered WHOOP developer app configured with redirect URI http://127.0.0.1:3000/callback. The whoop-mcp-unofficial package provides CLI setup, browser auth, and doctor commands to verify your setup. If you lack developer credentials, the built-in whoop_demo tool returns synthetic payloads marked with is_demo: true to inspect the response shape.
What it helps with
- pull WHOOP sleep and recovery metrics directly into agent sessions
- inspect sample health payloads offline using
whoop_demo - verify OAuth token status with
whoop_connection_status
Example prompts for the agent
- Use whoop_connection_status, then whoop_daily_summary to outline my recovery today.
- Run whoop_demo and show the structure of the synthetic strain metrics.
How to install whoop-mcp
Platform CLI
claude mcp add --env WHOOP_CLIENT_ID=<WHOOP_CLIENT_ID> --env WHOOP_CLIENT_SECRET=<WHOOP_CLIENT_SECRET> --env WHOOP_REDIRECT_URI=<WHOOP_REDIRECT_URI> --env WHOOP_TOKEN_PATH=<WHOOP_TOKEN_PATH> --env WHOOP_PRIVACY_MODE=<WHOOP_PRIVACY_MODE> --transport stdio davidmosiah-whoop-mcp -- npx -y whoop-mcp-unofficialReplace <…> with your own values. 3 more environment variables are in the server README
Platform CLI
codex mcp add davidmosiah-whoop-mcp --env WHOOP_CLIENT_ID=<WHOOP_CLIENT_ID> --env WHOOP_CLIENT_SECRET=<WHOOP_CLIENT_SECRET> --env WHOOP_REDIRECT_URI=<WHOOP_REDIRECT_URI> --env WHOOP_TOKEN_PATH=<WHOOP_TOKEN_PATH> --env WHOOP_PRIVACY_MODE=<WHOOP_PRIVACY_MODE> -- npx -y whoop-mcp-unofficialReplace <…> with your own values. 3 more environment variables are in the server README
Config file
{
"mcpServers": {
"davidmosiah-whoop-mcp": {
"command": "npx",
"args": [
"-y",
"whoop-mcp-unofficial"
],
"env": {
"WHOOP_CLIENT_ID": "<WHOOP_CLIENT_ID>",
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>",
"WHOOP_REDIRECT_URI": "<WHOOP_REDIRECT_URI>",
"WHOOP_TOKEN_PATH": "<WHOOP_TOKEN_PATH>",
"WHOOP_PRIVACY_MODE": "<WHOOP_PRIVACY_MODE>"
}
}
}
}Replace <…> with your own values. 3 more environment variables are in the server README
Config file
{
"servers": {
"davidmosiah-whoop-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"whoop-mcp-unofficial"
],
"env": {
"WHOOP_CLIENT_ID": "<WHOOP_CLIENT_ID>",
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>",
"WHOOP_REDIRECT_URI": "<WHOOP_REDIRECT_URI>",
"WHOOP_TOKEN_PATH": "<WHOOP_TOKEN_PATH>",
"WHOOP_PRIVACY_MODE": "<WHOOP_PRIVACY_MODE>"
}
}
}
}Replace <…> with your own values. 3 more environment variables are in the server README
Platform CLI
gemini mcp add -e WHOOP_CLIENT_ID=<WHOOP_CLIENT_ID> -e WHOOP_CLIENT_SECRET=<WHOOP_CLIENT_SECRET> -e WHOOP_REDIRECT_URI=<WHOOP_REDIRECT_URI> -e WHOOP_TOKEN_PATH=<WHOOP_TOKEN_PATH> -e WHOOP_PRIVACY_MODE=<WHOOP_PRIVACY_MODE> davidmosiah-whoop-mcp npx -y whoop-mcp-unofficialReplace <…> with your own values. 3 more environment variables are in the server README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about whoop-mcp
How to install whoop-mcp in Claude Code?
Run this command in your terminal: claude mcp add whoop-mcp -e WHOOP_CLIENT_SECRET=<WHOOP_CLIENT_SECRET> -- npx -y whoop-mcp-unofficial.
What does whoop-mcp do?
It exposes Model Context Protocol tools for WHOOP physiological markers such as recovery, sleep quality, daily strain, and heart rate variability.
Can I test whoop-mcp without a WHOOP account?
Yes. Calling whoop_demo generates mock recovery and strain figures without running the OAuth flow.