{
  "markdown": "# whoop-mcp\n\nA [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that gives Claude access to your WHOOP biometric data — recovery, sleep, strain, and workouts.\n\nAsk Claude things like:\n\n- _\"How's my recovery today?\"_\n- _\"How did I sleep last night?\"_\n- _\"How has my HRV trended this week?\"_\n- _\"What was my strain from yesterday's workout?\"_\n\n---\n\n## Privacy\n\nThis app accesses your WHOOP data locally on your device. No data is sent to any third-party server.\n\n---\n\n## Tools\n\n| Tool                  | What it returns                                                       |\n| --------------------- | --------------------------------------------------------------------- |\n| `get_recovery`        | Recovery score, HRV, resting HR, SpO2                                 |\n| `get_sleep`           | Sleep duration, stages (light/deep/REM), efficiency, respiratory rate |\n| `get_strain`          | Day strain score, avg/max HR, calories                                |\n| `get_latest_workout`  | Most recent workout — sport, duration, strain, HR zones               |\n| `get_recovery_trend`  | Recovery scores over N days (default 7)                               |\n| `get_sleep_trend`     | Sleep data over N days (default 7)                                    |\n| `get_workout_history` | Recent workout history (default 5)                                    |\n| `get_profile`         | Profile + body measurements                                           |\n\n---\n\n## Setup\n\n### 1. Create a WHOOP developer app\n\n1. Go to [developer-dashboard.whoop.com](https://developer-dashboard.whoop.com)\n2. Sign in with your WHOOP account\n3. Create a new App:\n   - Name: `whoop-mcp` (or anything)\n   - Redirect URI: `http://localhost:8080/callback`\n   - Scopes: select all read scopes + `offline`\n4. Copy your **Client ID** and **Client Secret**\n\n### 2. Install\n\n```bash\nnpm install -g @souravpn/whoop-mcp\n```\n\n### 3. Run one-time auth setup\n\nThis opens your browser, you log into WHOOP, and your tokens are saved to `~/.whoop-mcp-tokens.json`:\n\n```bash\nWHOOP_CLIENT_ID=your_id WHOOP_CLIENT_SECRET=your_secret whoop-mcp-auth-setup\n```\n\nYou only need to do this once. The server will auto-refresh tokens after that.\n\n### 4. Add to Claude Desktop\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):\n\n```json\n{\n  \"mcpServers\": {\n    \"whoop\": {\n      \"command\": \"@souravpn/whoop-mcp\",\n      \"env\": {\n        \"WHOOP_CLIENT_ID\": \"your_client_id\",\n        \"WHOOP_CLIENT_SECRET\": \"your_client_secret\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop. You should see a green \"running\" badge in **Settings → Developer**.\n\n### 5. Test it\n\nOpen a new chat and ask:\n\n```\nHow's my recovery today?\n```\n\n---\n\n## Example queries\n\n**Daily check-in:**\n\n```\nWhat's my recovery, sleep, and strain for today?\n```\n\n**Trend analysis:**\n\n```\nHow has my HRV trended over the past 7 days?\n```\n\n**Workout correlation:**\n\n```\nLook at my workouts this week and my recovery scores\nthe day after each one. Is there a pattern?\n```\n\n**Full briefing:**\n\n```\nGive me a complete health briefing — recovery, last\nnight's sleep breakdown, and any workouts from yesterday\n```\n\n---\n\n## Pairing with Oura\n\nIf you also use Oura Ring, you can run both MCP servers together and ask Claude to cross-reference:\n\n```json\n{\n  \"mcpServers\": {\n    \"whoop\": {\n      \"command\": \"/path/to/whoop-mcp\",\n      \"env\": { \"WHOOP_ACCESS_TOKEN\": \"your_whoop_token\" }\n    },\n    \"oura\": {\n      \"command\": \"/path/to/oura-mcp\",\n      \"env\": { \"OURA_ACCESS_TOKEN\": \"your_oura_token\" }\n    }\n  }\n}\n```\n\nThen ask:\n\n```\nCompare my WHOOP and Oura HRV readings for this week.\nDo they agree? Which is trending higher?\n```\n\n---\n\n## Development\n\n```bash\ngit clone https://github.com/yourusername/whoop-mcp\ncd whoop-mcp\nnpm install\nnpm run build\n\n# Test locally\nWHOOP_ACCESS_TOKEN=your_token node dist/index.js\n```\n\n### Project structure\n\n```\nwhoop-mcp/\n├── src/\n│   ├── index.ts   # MCP server + tool definitions\n│   └── whoop.ts   # WHOOP API client + formatters\n├── package.json\n├── tsconfig.json\n└── README.md\n```\n\n---\n\n## Contributing\n\nPRs welcome. Some ideas for extension:\n\n- Heart rate time series data\n- Sleep stage timeline (light/deep/REM per hour)\n- Strain goal recommendations\n- Weekly summary tool\n\n---\n\n## License\n\nMIT\n\n---\n\n## Acknowledgements\n\nBuilt with the [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk) and the [WHOOP Developer API](https://developer.whoop.com).\n",
  "bytes": 4474,
  "sha": "b760463844abe4f13b90ddd3da58b910fe8ddd4cca8c53d8c3ca4cc72bc38c29",
  "repo_slug": "souravpn/whoop-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_souravpn_whoop_mcp_a7d7aa7f/readme"
}