Lets agents query personal Whoop fitness data: cycles, recovery, strain and workouts.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add whoop --env WHOOP_EMAIL='<WHOOP_EMAIL>' --env WHOOP_PASSWORD='<WHOOP_PASSWORD>' -- python /path/to/whoop/src/whoop_server.py~/.codex/config.toml
[mcp_servers.whoop]
command = "python"
args = ["/path/to/whoop/src/whoop_server.py"]
env = { WHOOP_EMAIL = "<WHOOP_EMAIL>", WHOOP_PASSWORD = "<WHOOP_PASSWORD>" }
# codex mcp add whoop --env WHOOP_EMAIL='<WHOOP_EMAIL>' --env WHOOP_PASSWORD='<WHOOP_PASSWORD>' -- python /path/to/whoop/src/whoop_server.py~/.cursor/mcp.json
{
"mcpServers": {
"whoop": {
"command": "python",
"args": [
"/path/to/whoop/src/whoop_server.py"
],
"env": {
"WHOOP_EMAIL": "<WHOOP_EMAIL>",
"WHOOP_PASSWORD": "<WHOOP_PASSWORD>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"whoop": {
"type": "stdio",
"command": "python",
"args": [
"/path/to/whoop/src/whoop_server.py"
],
"env": {
"WHOOP_EMAIL": "<WHOOP_EMAIL>",
"WHOOP_PASSWORD": "<WHOOP_PASSWORD>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"whoop": {
"command": "python",
"args": [
"/path/to/whoop/src/whoop_server.py"
],
"env": {
"WHOOP_EMAIL": "<WHOOP_EMAIL>",
"WHOOP_PASSWORD": "<WHOOP_PASSWORD>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"whoop": {
"command": "python",
"args": [
"/path/to/whoop/src/whoop_server.py"
],
"env": {
"WHOOP_EMAIL": "<WHOOP_EMAIL>",
"WHOOP_PASSWORD": "<WHOOP_PASSWORD>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"whoop": {
"command": "python",
"args": [
"/path/to/whoop/src/whoop_server.py"
],
"env": {
"WHOOP_EMAIL": "<WHOOP_EMAIL>",
"WHOOP_PASSWORD": "<WHOOP_PASSWORD>"
}
}
}
}Environment variables
WHOOP_EMAILWHOOP_PASSWORD
Replace the placeholders with your own credentials and keep them out of version control.