Whoop

by ctvidic

4 stars
235 downloads
Not rated
GitHub

About

Integrates with the Whoop API to retrieve and process fitness data, enabling applications to incorporate health metrics and performance analysis.

Details

Author
ctvidic
Repository
ctvidic/whoop-mcp-server
GitHub stars
4
Downloads
235
Categories
Productivity, Other, Design, Developer Tools, Infrastructure
Tags
#analytics, #integration

- get_cycle_collection and get_latest_cycle for cycle queries
- get_recovery_data and get_strain_data for specific date ranges
- get_average_strain to calculate strain over a given number of days
- get_profile and check_auth_status for user info and authentication
- Human-readable error messages for common issues (invalid dates, auth errors, network problems)
- Supports both MCP (stdio) and HTTP transport

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Whoop
    Command (node, npx, python, etc.) python
    Arguments
    • Argument 1 /path/to/whoop/src/whoop_server.py
    Environment
    • WHOOP_EMAIL your.email@example.com
    • WHOOP_PASSWORD your_password

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

You'll need Whoop credentials to use this server. The server uses email/password authentication with the Whoop API.

- 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).

get_cycle_collection

Get cycle data for a specific date range. Parameters: start_date (string), end_date (string)

get_latest_cycle

Get the most recent cycle data.

get_recovery_data

Get recovery data for a specific date range. Parameters: start_date (string), end_date (string)

get_strain_data

Get strain data for a specific date range. Parameters: start_date (string), end_date (string)

get_average_strain

Calculate average strain over specified number of days. Parameters: days (integer, default 7)

get_profile

Get user profile information.

check_auth_status

Check authentication status with Whoop API.

The server exposes the following tools:

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "whoop": {
            "cwd": "/path/to/whoop",
            "env": {
                "WHOOP_EMAIL": "your.email@example.com",
                "WHOOP_PASSWORD": "your_password"
            },
            "args": [
                "/path/to/whoop/src/whoop_server.py"
            ],
            "command": "python"
        }
    }
}

Linux

{
    "cwd": "/path/to/whoop",
    "env": {
        "WHOOP_EMAIL": "your.email@example.com",
        "WHOOP_PASSWORD": "your_password"
    },
    "args": [
        "/path/to/whoop/src/whoop_server.py"
    ],
    "command": "python"
}

Macos

{
    "cwd": "/path/to/whoop",
    "env": {
        "WHOOP_EMAIL": "your.email@example.com",
        "WHOOP_PASSWORD": "your_password"
    },
    "args": [
        "/path/to/whoop/src/whoop_server.py"
    ],
    "command": "python"
}

Windows

{
    "cwd": "/path/to/whoop",
    "env": {
        "WHOOP_EMAIL": "your.email@example.com",
        "WHOOP_PASSWORD": "your_password"
    },
    "args": [
        "/path/to/whoop/src/whoop_server.py"
    ],
    "command": "python"
}

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.

- 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

- 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

- 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).

You'll need Whoop credentials to use this server. The server uses email/password authentication with the Whoop API.

Update yourclaude_desktop_config.json(located in~/Library/Application\ Support/Claude/claude_desktop_config.jsonon macOS and%APPDATA%/Claude/claude_desktop_config.jsonon 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" } } } }

The project also includes an HTTP API server that exposes the same functionality over HTTP endpoints. To run it:

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"

The server provides human-readable error messages for common issues:

- Invalid date formats
- API authentication errors
- Network connectivity problems
- Missing or invalid credentials

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

This project is licensed under the MIT License - see the LICENSE file for details.

AI workout coach MCP server. Access training data, workout history, personal records, and body progress through Claude Desktop.

Free remote MCP server giving AI assistants direct access to data from a mentoring practice: 3,400+ paid 1:1 sessions with 300+ engineering leaders since 2019.

Fitimio helps your AI assistant track your meals, calories, workouts, goals, body metrics, and health notes so it can give answers based on your real progress.

MCP server for Oura Ring data with smart analysis tools

Local MCP server that exposes Whoop recovery, sleep, and strain data to AI agents

Read-only access to your Alma nutrition data, meals, goals, scores, workouts, weight history, pantry, and grocery list.

AI-powered cycling training coach: personalized training plans, daily workouts, nutrition, strength training, fitness metrics (FTP, VO2Max), and Strava, Garmin, Wahoo, MyWhoosh, and Rouvy integrations.

Access your Fitbit health and fitness data for personalized insights.

Access Garmin Connect running data and training plan information.

Local-first Garmin data warehouse: sync once into SQLite you own, then analyze trends, correlations, baselines and anomalies offline, even when Garmin's API breaks.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.