WHOOP MCP Server
About
An MCP server implementation for the WHOOP API
Details
- Author
- RyanLisse
- Downloads
- 274
- Categories
- Other
Jump to
- 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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



