MCP Server
MCP
io.github.davidmosiah/whoop-mcp
Privacy-first, unofficial WHOOP MCP server for AI health, sleep, recovery, and performance agents.
Install
npx -y [email protected]
Configuration Example
{
"remotes": [],
"packages": [
{
"registryType": "npm",
"identifier": "whoop-mcp-unofficial",
"version": "0.5.3",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"description": "WHOOP OAuth client ID. Optional when configured with whoop-mcp-server setup.",
"format": "string",
"name": "WHOOP_CLIENT_ID"
},
{
"description": "WHOOP OAuth client secret. Prefer whoop-mcp-server setup so this secret is stored in ~/.whoop-mcp/config.json instead of MCP client config.",
"format": "string",
"isSecret": true,
"name": "WHOOP_CLIENT_SECRET"
},
{
"description": "Redirect URI configured in the WHOOP Developer Dashboard. Optional when configured with whoop-mcp-server setup.",
"format": "string",
"name": "WHOOP_REDIRECT_URI"
},
{
"description": "Optional local path for OAuth tokens. Defaults to ~/.whoop-mcp/tokens.json.",
"format": "string",
"name": "WHOOP_TOKEN_PATH"
},
{
"description": "Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full WHOOP API payloads, not raw device sensor streams.",
"format": "string",
"name": "WHOOP_PRIVACY_MODE"
},
{
"description": "Optional SQLite cache toggle. Set to true or sqlite to enable.",
"format": "string",
"name": "WHOOP_CACHE"
},
{
"description": "Optional local SQLite cache path. Defaults to ~/.whoop-mcp/cache.sqlite.",
"format": "string",
"name": "WHOOP_CACHE_PATH"
},
{
"description": "Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.",
"format": "string",
"name": "WHOOP_NO_CACHE"
}
]
}
]
}
mcp
model-context-protocol
npm
By
Comments
Sign in to leave a comment