WHOOP MCP Server

by RyanLisse

274 downloads
Not rated
GitHub

About

An MCP server implementation for the WHOOP API

Details

Author
RyanLisse
Downloads
274
Categories
Other

- Access WHOOP user profile data
- Retrieve sleep data and analytics
- Fetch workout information
- Get recovery metrics
- View cycle data
- Server runs on configurable port (default 3000)

Install Node.js (v16+), clone the repository, install dependencies, and configure a .env file with your WHOOP API key obtained from the WHOOP Developer Portal. Start the server with npm start (or npm run dev for auto-restart). All endpoints require authentication via an Authorization: Bearer YOUR_WHOOP_API_TOKEN header.

WHOOP MCP Server

An MCP (Machine Conversation Protocol) server implementation for the WHOOP API.

Overview

This project provides a server that interfaces with the WHOOP API, allowing you to interact with your WHOOP fitness data. It follows the MCP architecture pattern, which enables interoperability with AI assistants.

Features

- Access to WHOOP user profile data
- Retrieve sleep data and analytics
- Fetch workout information
- Get recovery metrics
- View cycle data

Prerequisites

- Node.js (v16+)
- WHOOP account with API access
- WHOOP API key (obtained from WHOOP Developer Portal)

Installation

1. Clone this repository:

   git clone https://github.com/RyanLisse/whoop-mcp-server.git
cd whoop-mcp-server

2. Install dependencies:

   npm install

3. Create a .env file based on the .env.example template:

   cp .env.example .env

4. Edit the .env file and add your WHOOP API key and other configuration options.

Usage

Starting the Server

npm start

For development with auto-restart:

npm run dev

The server will start on the port specified in your .env file (default: 3000).

API Endpoints

All API endpoints require authentication with your WHOOP API key.

User Profile

- GET /whoop/profile - Get user profile information

Sleep Data

- GET /whoop/sleep?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD - Get sleep data for the specified date range

Workout Data

- GET /whoop/workouts?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD - Get workout data for the specified date range

Recovery Data

- GET /whoop/recovery?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD - Get recovery data for the specified date range

Cycle Data

- GET /whoop/cycles?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD - Get cycle data for the specified date range

Authentication

Add your WHOOP API token to the Authorization header in your requests:

Authorization: Bearer YOUR_WHOOP_API_TOKEN

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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.