whoop-mcp
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-mcpwhat's my recovery score 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
Lokaler MCP-Server für die WHOOP API v2. Läuft vollständig auf dem eigenen Rechner: Recovery, Schlaf, Strain und Workouts stehen in Claude als Tools zur Verfügung, ein täglicher Sync legt eine lokale Historie an und schreibt einen JSON-Export fürs eigene Dashboard.
Was es kann
Tool | Zweck |
| Kombinierter Tagesüberblick aus Recovery, Schlaf und Strain |
| Recovery Score, HRV, Ruhepuls, SpO2, Hauttemperatur |
| Dauer, Schlafphasen, Performance, Konsistenz, Atemfrequenz |
| Tages-Strain, Kalorien, Ø- und Maximalpuls |
| Trainings mit Strain, HF-Zonen, Distanz, Kalorien |
| Größe, Gewicht, maximale Herzfrequenz |
| Langzeitauswertung aus der lokalen Datenbank, mit Trendvergleich |
| Daten abrufen, lokal speichern, Export schreiben |
Einheiten werden alltagstauglich umgerechnet: Millisekunden zu Stunden, Kilojoule zu Kilokalorien, Meter zu Kilometern. Die Rohantworten bleiben in der Datenbank erhalten.
Related MCP server: whoop-mcp
Voraussetzungen
Eine App im WHOOP Developer Dashboard mit dieser Redirect URL:
http://localhost:8765/callbackund diesen Scopes:
offline read:recovery read:cycles read:sleep read:workout
read:body_measurement read:profileoffline ist zwingend erforderlich — ohne diesen Scope gibt WHOOP keinen
Refresh Token heraus und die Verbindung müsste stündlich erneuert werden.
Installation
git clone https://github.com/d00ennis/whoop-mcp.git
cd whoop-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .Einrichtung
whoop-mcp setup # Client ID und Secret hinterlegen (landen im Schlüsselbund)
whoop-mcp auth # Browser öffnet sich, Zugriff einmal bestätigen
whoop-mcp sync # erster Abruf, standardmäßig 90 Tage rückwirkend
whoop-mcp status # Konfiguration und Datenbestand prüfenIn Claude einbinden
In ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"whoop": {
"command": "/PFAD/ZU/whoop-mcp/.venv/bin/whoop-mcp",
"args": ["serve"]
}
}
}Danach Claude neu starten.
Täglicher Sync
Per launchd oder Cron, zum Beispiel jeden Morgen um 6:30 Uhr:
30 6 * * * /PFAD/ZU/whoop-mcp/.venv/bin/whoop-mcp sync >> ~/.whoop-mcp/sync.log 2>&1Wo die Daten liegen
Was | Wo |
Client ID, Secret, Tokens | macOS-Schlüsselbund (Dienst |
Historie |
|
Export fürs Dashboard |
|
Über WHOOP_MCP_DATA_DIR und WHOOP_MCP_EXPORT_PATH lassen sich Verzeichnis
und Exportpfad verlegen.
Aufbau
config.py Pfade, Scopes, Secret-Speicher (Schlüsselbund mit Datei-Fallback)
auth.py OAuth-Flow, lokaler Callback-Server, Token-Rotation
client.py HTTP-Client: Pagination, 401-Refresh, 429-Backoff
normalize.py Rohantworten zu flachen Datensätzen mit sinnvollen Einheiten
aggregate.py Tageszusammenführung, Durchschnitte, Trends
store.py SQLite-Historie, idempotente Upserts
sync.py Abgleich und JSON-Export
server.py MCP-ToolsTests
pip install -e ".[dev]"
pytestLizenz und Datenschutz
Private Nutzung. Es werden keine Daten an Dritte übertragen — siehe PRIVACY.md.
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/d00ennis/whoop-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server