Cover image
Try Now
2025-03-17

MCP server for 8sleep

3 years

Works with Finder

1

Github Watches

1

Github Forks

0

Github Stars

Eight Sleep MCP

A Model Context Protocol (MCP) server for accessing Eight Sleep Pod data.

Setup

Prerequisites

  • Node.js (v16+)
  • Eight Sleep account

Installation

  1. Clone the repository
  2. Run:
npm install
npm run build

Configuration

Getting Your User ID

You need to get your Eight Sleep user ID once and add it to your configuration. This prevents the client from having to authenticate with email/password on every request. You have two options:

Option 1: Direct API Call

curl -X POST https://client-api.8slp.net/v1/auth/login
-H "Content-Type: application/json"
-d '{"email":"your_email","password":"your_password"}'


2. Add the user ID to your configuration as shown below.

Option 2: Using MCP Client
1. First set up your `.env` file without the user ID:
```env
EIGHT_SLEEP_EMAIL=your_email
EIGHT_SLEEP_PASSWORD=your_password
  1. Run the MCP client once to get your user ID:
node build/index.js getUsers

The response will include your user ID. Save this value.

  1. Add the user ID to your configuration as shown below.

Environment Variables

Create a .env file:

# Eight Sleep Authentication
EIGHT_SLEEP_EMAIL=your_email
EIGHT_SLEEP_PASSWORD=your_password
EIGHT_SLEEP_USER_ID=your_user_id  # Required: Add the userId from one of the methods above
EIGHT_SLEEP_CLIENT_ID=your_client_id
EIGHT_SLEEP_CLIENT_SECRET=your_client_secret

Claude Desktop Integration

Add to Claude Desktop's config (Settings → Developer → Edit Config):

{
    "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
            }
        }
    }
}

Important: Adding your user ID to the configuration is required to avoid having to authenticate with email/password on every request. Make sure to get it using one of the methods above.

Restart Claude Desktop after saving.

Available Functions

User Information

  • getUsers - Get user profile information
  • getUserPreferences - Get user preferences (units, timezone, bed side)
  • updateUserPreferences - Update user preferences

Device Control

  • getDeviceStatus - Get device status (online, firmware, water level)
  • setDevicePower - Turn device on/off
  • getPresence - Check if user is in bed

Temperature Control

  • getTemperature - Get current temperature settings
  • setTemperature - Set immediate temperature (-100 to 100)
  • getTemperatureSchedules - Get temperature schedules
  • setTemperatureSchedule - Create temperature schedule
  • updateTemperatureSchedule - Update temperature schedule
  • deleteTemperatureSchedule - Delete temperature schedule

Sleep Data

  • getSleepData - Get detailed sleep data for date range
  • getSleepScore - Get sleep score for a date
  • getSleepStages - Get sleep stages (awake, light, deep, REM)
  • getHrv - Get Heart Rate Variability data
  • getHeartRate - Get heart rate data
  • getRespiratoryRate - Get respiratory rate data
  • getSleepTiming - Get bedtime and wake time
  • getSleepFitnessTrends - Get sleep fitness trends

Alarm Management

  • getAlarms - Get all alarms
  • setAlarm - Create new alarm
  • updateAlarm - Update existing alarm
  • deleteAlarm - Delete alarm

Function Parameters

For date-based functions, use the format YYYY-MM-DD. For example:

getSleepData({
  startDate: "2024-03-15",
  endDate: "2024-03-16"  // optional
})

For temperature settings:

setTemperature({
  level: 50,  // -100 to 100
  duration: 3600  // seconds, optional
})

For alarms:

setAlarm({
  time: "07:00",
  daysOfWeek: [1,2,3,4,5],  // Mon-Fri
  vibration: true,
  sound: "chime"  // optional
})

For temperature schedules:

setTemperatureSchedule({
  startTime: "22:00",
  level: -20,
  daysOfWeek: [0,1,2,3,4,5,6]  // Every day
})

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Bora Yalcin
  • Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Callycode Limited
  • A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Khalid kalib
  • Write professional emails

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Lists Tailwind CSS classes in monospaced font

  • apappascs
  • Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • OffchainLabs
  • Go implementation of Ethereum proof of stake

  • huahuayu
  • A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.

  • deemkeen
  • control your mbot2 with a power combo: mqtt+mcp+llm

    Reviews

    2 (1)
    Avatar
    user_SKLmQi8v
    2025-04-15

    Think Tool by iamwavecut is a remarkable product that truly facilitates efficient server management. The user-friendly interface and comprehensive functionality make it a standout choice for both beginners and experienced users. With its robust performance and seamless integration, the Think Tool enhances productivity and simplifies complex processes. Highly recommend checking it out: https://mcp.so/server/think-tool/iamwavecut.