Eight Sleep MCP

Eight Sleep MCP

Unofficial MCP server for Eight Sleep, reverse-engineered from observed mobile app traffic and validated against live device behavior.

Category
Visit Server

README

Eight Sleep MCP

Unofficial MCP server for Eight Sleep, reverse-engineered from observed mobile app traffic and validated against live device behavior.

Built entirely by OpenAI GPT-5.4 via Codex.

Overview

This project exposes Eight Sleep account, device, temperature, and sleep data through MCP, and supports the core temperature controls confirmed from live app traffic.

Supported capabilities include:

  • reading account, device, temperature, recent temperature events, and sleep intervals
  • reading a compact summary of the most recent sleep interval without timeseries payloads
  • fetching compact interval pages with get_sleep_intervals view: "summary" when full timeseries are not needed
  • resuming smart temperature mode
  • turning temperature control off
  • applying a temporary bedtime temperature change
  • saving a bedtime temperature change to the active schedule
  • updating saved smart temperature levels
  • toggling Autopilot

Behavior Model

  • Temporary bedtime changes are sent as override values to the pod temperature endpoint.
  • Permanent bedtime changes update the bedtime schedule, then clear the temporary override.
  • Smart temperature profile editing is separate from bedtime schedule editing.
  • Turning temperature off disables active heating and cooling; it does not power down the hardware.

API Coverage

The current implementation uses confirmed requests across auth-api, client-api, and app-api, including authentication, user and device reads, temperature state, temperature events, bedtime schedule updates, pod temperature control, and Autopilot mode changes.

Sleep Data Guidance

For LLM-facing clients, use the compact sleep tools by default.

Golden paths:

  • Use get_latest_sleep_summary for the most recent night when you only need compact summary metrics.
  • Use get_sleep_intervals with view: "summary" when you need multiple recent intervals but do not need timeseries, stages, or snoring.

Example get_latest_sleep_summary response:

{
  "sleepStart": "2026-04-02T03:38:30.000Z",
  "sleepEnd": "2026-04-02T15:35:30.000Z",
  "sleepDuration": 34380,
  "deepPct": 0.12,
  "remPct": 0.24,
  "lightPct": 0.64
}

Example compact interval call:

{
  "tool": "get_sleep_intervals",
  "arguments": {
    "pages": 3,
    "view": "summary"
  }
}

sleepStart and sleepEnd are returned as UTC ISO timestamps. Convert them to the user's local timezone in the caller if you need local bedtime or wake time.

Setup

npm install
cp .env.example .env
npm test
npm run build

Configuration supports either:

  • EIGHT_SLEEP_ACCESS_TOKEN
  • or EIGHT_SLEEP_EMAIL, EIGHT_SLEEP_PASSWORD, EIGHT_SLEEP_CLIENT_ID, and EIGHT_SLEEP_CLIENT_SECRET

Optional values:

  • EIGHT_SLEEP_USER_ID
  • EIGHT_SLEEP_CLIENT_DEVICE_ID
  • EIGHT_SLEEP_REQUEST_TIMEOUT_MS

MCP Bundle

For bundle-aware clients, a manifest.json is included and a local MCP bundle can be built with:

npm run package:mcpb

That produces an .mcpb file for one-click installation in clients that support MCP bundles.

MCP Setup

The server runs over stdio.

Example client configuration for the built server:

{
  "mcpServers": {
    "eight-sleep": {
      "command": "node",
      "args": ["/absolute/path/to/eight-sleep-mcp/dist/index.js"],
      "cwd": "/absolute/path/to/eight-sleep-mcp"
    }
  }
}

For local development without building first:

{
  "mcpServers": {
    "eight-sleep": {
      "command": "npx",
      "args": ["tsx", "src/index.ts"],
      "cwd": "/absolute/path/to/eight-sleep-mcp"
    }
  }
}

If a client does not support cwd, pass the Eight Sleep environment variables directly in the client configuration instead of relying on .env.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured