Local access to WHOOP recovery, HRV, sleep, strain and performance data, with tokens stored locally.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add whoop --env WHOOP_CLIENT_SECRET='<WHOOP_CLIENT_SECRET>' -- npx -y whoop-mcp-unofficial~/.codex/config.toml
[mcp_servers.whoop]
command = "npx"
args = ["-y", "whoop-mcp-unofficial"]
env = { WHOOP_CLIENT_SECRET = "<WHOOP_CLIENT_SECRET>" }
# codex mcp add whoop --env WHOOP_CLIENT_SECRET='<WHOOP_CLIENT_SECRET>' -- npx -y whoop-mcp-unofficial~/.cursor/mcp.json
{
"mcpServers": {
"whoop": {
"command": "npx",
"args": [
"-y",
"whoop-mcp-unofficial"
],
"env": {
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"whoop": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"whoop-mcp-unofficial"
],
"env": {
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"whoop": {
"command": "npx",
"args": [
"-y",
"whoop-mcp-unofficial"
],
"env": {
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"whoop": {
"command": "npx",
"args": [
"-y",
"whoop-mcp-unofficial"
],
"env": {
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"whoop": {
"command": "npx",
"args": [
"-y",
"whoop-mcp-unofficial"
],
"env": {
"WHOOP_CLIENT_SECRET": "<WHOOP_CLIENT_SECRET>"
}
}
}
}Environment variables
WHOOP_CLIENT_SECRET
Replace the placeholders with your own credentials and keep them out of version control.