Whoop MCP Server

by ctvidic

Integrations

  • Utilizes environment variables for storing Whoop credentials, with support for .env configuration files.

  • Supports deployment on macOS through Claude for Desktop configuration, with specific paths for the macOS environment.

  • Built as a Python package (3.12) that implements the MCP server functionality to connect with the Whoop API.

Whoop MCP Server

Python Package License: MIT Python 3.12

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.

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.

-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

A Model Context Protocol server that provides language models with access to personal Whoop fitness data, allowing queries for cycles, recovery, strain, and workout information from the Whoop API.

  1. Available Tools
    1. Cycle Queries
    2. Recovery and Strain
    3. Profile and Authentication
  2. Usage
    1. Claude for Desktop
    2. HTTP API Server
  3. Example Queries
    1. Error Handling
      1. Project Structure
        1. License

          Related MCP Servers

          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server for tracking personal health and well-being, offering tools for workout logging, nutrition management, and daily journaling with AI-assisted analysis integration.
            Last updated -
            2
            Python
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that provides language models with access to Strava API data, allowing them to query and analyze athlete activities from Strava.
            Last updated -
            4
            3
            Python
            MIT License
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that enables language models to interact with Strava data, including activities, athlete statistics, routes, achievements, and social features.
            Last updated -
            2
            Python
            MIT License
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that provides seamless interaction with Workato's API through custom AI tools, enabling management of recipes, connections, connectors, folders, and activity logs.
            Last updated -
            TypeScript
            MIT License
            • Apple
            • Linux

          View all related MCP servers

          ID: mlb49q0786