mcpField
W
Whoop MCP Server

Whoop MCP Server

Local
github.com/ctvidicHealth28Updated 85w ago

About Whoop MCP Server

Whoop MCP Server is an MCP server that gives language models access to cycle, recovery, strain and workout data from the Whoop API. It suits Whoop users who want to query their own health metrics through natural language. It also includes an HTTP API server.

Key features

  1. 01Queries cycle data for a date range
  2. 02Retrieves recovery and strain data
  3. 03Calculates average strain over a number of days
  4. 04Returns user profile and authentication status
  5. 05Accepts dates in ISO format (YYYY-MM-DD)

Use cases

  1. 01Asking for today's recovery score
  2. 02Reviewing strain data from the past week
  3. 03Fetching the most recent cycle data

MCP support

This is an MCP server that exposes tools such as get_recovery_data and get_strain_data to MCP clients for reading Whoop data.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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": "[email protected]",
                "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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.