Eight Sleep

Provides access to Eight Sleep Pod data and actions via MCP (user data, device status, temperature, sleep data, alarms).
  • javascript

3

GitHub Stars

javascript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "elizabethtrykin-8sleep-mcp": {
      "command": "node",
      "args": [
        "/absolute/path/to/eight-sleep-mcp/build/index.js"
      ],
      "env": {
        "EIGHT_SLEEP_EMAIL": "your_email",
        "EIGHT_SLEEP_USER_ID": "your_user_id",
        "EIGHT_SLEEP_PASSWORD": "your_password",
        "EIGHT_SLEEP_CLIENT_ID": "your_client_id",
        "EIGHT_SLEEP_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

This MCP (Model Context Protocol) server provides programmatic access to Eight Sleep Pod data, letting you read user info, manage devices, control temperature, fetch sleep data, and handle alarms through a consistent, scriptable interface. It enables automation and integration with your own tools and dashboards without manual UI interaction.

How to use

You interact with the Eight Sleep MCP server through an MCP client. Once the server is running, you can call a collection of functions to read data, control your pod, and schedule actions. Typical usage patterns include retrieving your user profile, adjusting temperature settings, pulling sleep analytics for specific dates, and managing alarms and device state. When you run functions, you’ll provide the required parameters (dates, temperature levels, alarm times, etc.) and receive structured responses that you can feed into dashboards, alerts, or reports.

How to install

Prerequisites: you need Node.js version 16 or higher and an Eight Sleep account.

  1. Clone the project directory.

  2. Install dependencies.

  3. Build the project.

  4. Run or configure the MCP server as described in the configuration section.

Configuration and runtime notes

To authenticate with Eight Sleep, you will provide an email, password, and, optionally, a user ID and client credentials. You can obtain the user ID in one of two ways: either perform a direct API login to obtain the user ID, or run an MCP client once to fetch your users and then store the ID in your configuration. You should configure these values in your environment or in your MCP client’s settings to avoid sending credentials on every request.

Claude Desktop integration example

{
  "mcpServers": {
    "eight_sleep": {
      "command": "node",
      "args": ["/absolute/path/to/eight-sleep-mcp/build/index.js"],
      "env": {
        "EIGHT_SLEEP_EMAIL": "your_email", // email and password not required once you have userid
        "EIGHT_SLEEP_PASSWORD": "your_password", // email and password not required once you have userid
        "EIGHT_SLEEP_USER_ID": "your_user_id",
        "EIGHT_SLEEP_CLIENT_ID": "your_client_id", // optional
        "EIGHT_SLEEP_CLIENT_SECRET": "your_client_secret" // optional
      }
    }
  }
}

Available tools

getUsers

Retrieve user profile information.

getUserPreferences

Fetch user preferences including units, timezone, and bed side.

updateUserPreferences

Update user preferences for a user.

getDeviceStatus

Query device status such as online state and firmware.

setDevicePower

Turn the Eight Sleep device on or off.

getPresence

Check if the user is currently in bed.

getTemperature

Read current temperature settings.

setTemperature

Set an immediate temperature change with an optional duration.

getTemperatureSchedules

Retrieve existing temperature schedules.

setTemperatureSchedule

Create a new temperature schedule.

updateTemperatureSchedule

Modify an existing temperature schedule.

deleteTemperatureSchedule

Remove a temperature schedule.

getSleepData

Get detailed sleep data for a specified date range.

getSleepScore

Obtain sleep score for a specific date.

getSleepStages

Fetch sleep stages such as awake, light, deep, and REM.

getHrv

Retrieve Heart Rate Variability data.

getHeartRate

Get heart rate data.

getRespiratoryRate

Fetch respiratory rate data.

getSleepTiming

Obtain bedtime and wake time information.

getSleepFitnessTrends

Get sleep fitness trends over time.

getAlarms

List all alarms.

setAlarm

Create a new alarm.

updateAlarm

Update an existing alarm.

deleteAlarm

Delete an alarm.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
Eight Sleep MCP Server - elizabethtrykin/8sleep-mcp | VeilStrat