Whoop MCP Server
About
The Whoop MCP Server is a Model Context Protocol (MCP) server that provides access to the Whoop API. It allows language models to query cycles, recovery, strain, and workout data from the Whoop API.
Details
- Author
- MCP-Mirror
- Downloads
- 247
- Categories
- Other
Jump to
- Query cycle data for a specific date range or get latest cycle
- Retrieve recovery and strain data for any date range
- Calculate average strain over a configurable number of days
- Get user profile information and check authentication status
- Exposes both MCP tools and an HTTP API server
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Whoop MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
You need Whoop credentials (email and password) to use the server. Configure it in claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%/Claude/claude_desktop_config.json) with the command pointing to whoop_server.py and environment variables WHOOP_EMAIL and WHOOP_PASSWORD. Alternatively, run the HTTP API server with ./run_whoop_server.sh. Dates must be provided in ISO format (YYYY-MM-DD).
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"whoop mcp server": {
"Whoop": {
"command": "python",
"args": [
"/path/to/whoop/src/whoop_server.py"
],
"cwd": "/path/to/whoop",
"env": {
"WHOOP_EMAIL": "your.email@example.com",
"WHOOP_PASSWORD": "your_password"
}
}
}
}
}
McpServers
{
"Whoop": {
"command": "python",
"args": [
"/path/to/whoop/src/whoop_server.py"
],
"cwd": "/path/to/whoop",
"env": {
"WHOOP_EMAIL": "your.email@example.com",
"WHOOP_PASSWORD": "your_password"
}
}
}
Whoop MCP Server
Python Package License: MIT Python 3.12A Model Context Protocol (MCP) server that provides access to the Whoop API. It allows language models to query cycles, recovery, strain, and workout data from the Whoop API.
Available Tools
The server exposes the following tools:
Cycle Queries
-get_cycle_collection(start_date: str, end_date: str): Get cycle data for a specific date range
- get_latest_cycle(): Get the most recent cycle data
Recovery and Strain
-get_recovery_data(start_date: str, end_date: str): Get recovery data for a specific date range
- get_strain_data(start_date: str, end_date: str): Get strain data for a specific date range
- get_average_strain(days: int = 7): Calculate average strain over specified number of days
Profile and Authentication
-get_profile(): Get user profile information
- check_auth_status(): Check authentication status with Whoop API
Dates should be provided in ISO format (YYYY-MM-DD).
Usage
You'll need Whoop credentials to use this server. The server uses email/password authentication with the Whoop API.
Claude for Desktop
Update your claude_desktop_config.json (located in ~/Library/Application\ Support/Claude/claude_desktop_config.json on macOS and %APPDATA%/Claude/claude_desktop_config.json on Windows) to include the following:
{
"mcpServers": {
"Whoop": {
"command": "python",
"args": ["/path/to/whoop/src/whoop_server.py"],
"cwd": "/path/to/whoop",
"env": {
"WHOOP_EMAIL": "your.email@example.com",
"WHOOP_PASSWORD": "your_password"
}
}
}
}
HTTP API Server
The project also includes an HTTP API server that exposes the same functionality over HTTP endpoints. To run it:
./run_whoop_server.sh
Example Queries
Once connected, you can ask Claude questions like:
- "What's my recovery score for today?"
- "Show me my strain data for the past week"
- "What's my average strain over the last 7 days?"
- "Get my latest cycle data"
Error Handling
The server provides human-readable error messages for common issues:
- Invalid date formats
- API authentication errors
- Network connectivity problems
- Missing or invalid credentials
Project Structure
whoop/
├── src/
│ ├── whoop_server.py # MCP server implementation
│ └── whoop_http_server.py # HTTP API server implementation
├── config/
│ └── .env # Environment variables
├── requirements.txt # Python dependencies
└── run_whoop_server.sh # Script to run HTTP server
License
This project is licensed under the MIT License - see the LICENSE file for details.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



