# eight-sleep-mcp

Connect an AI agent to Eight Sleep sleep trends, temperature settings, alarms, and adjustable-base data. Pod changes stay disabled until explicitly enabled.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 6
- Author: davidmosiah
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/davidmosiah/eight-sleep-mcp
- Updated: 2026-10-08
- HTML: https://affpapa.org/en/nevibecode/mcp/eight-sleep-mcp

## What it does

This MCP server lets an agent read Eight Sleep account and device details, sleep trends, temperature programs, alarms, and adjustable-base settings. A nightly summary compares the strongest and weakest nights, while another tool returns sleep context in a normalized format for other Delx Wellness tools.

It uses the private API endpoints behind the Eight Sleep mobile app. Authentication and tokens remain on the local machine. The package includes `setup`, `login`, and `doctor` commands; the Claude Code command below adds the server. It does not provide continuous biometric sensor streams or BLE access.

Write actions have a separate gate and start turned off. To permit them, rerun setup with `--allow-mutations` or set `EIGHT_SLEEP_ALLOW_MUTATIONS`. Without that opt-in, an agent can inspect sleep data but cannot change pod settings.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `EIGHT_SLEEP_EMAIL`, `EIGHT_SLEEP_PASSWORD`, `EIGHT_SLEEP_ALLOW_MUTATIONS`, `EIGHT_SLEEP_PRIVACY_MODE`, `EIGHT_SLEEP_CACHE`, `EIGHT_SLEEP_TOKEN_PATH`, `EIGHT_SLEEP_CLIENT_ID`, `EIGHT_SLEEP_CLIENT_SECRET` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env EIGHT_SLEEP_EMAIL=<EIGHT_SLEEP_EMAIL> --env EIGHT_SLEEP_PASSWORD=<EIGHT_SLEEP_PASSWORD> --env EIGHT_SLEEP_ALLOW_MUTATIONS=<EIGHT_SLEEP_ALLOW_MUTATIONS> --env EIGHT_SLEEP_PRIVACY_MODE=<EIGHT_SLEEP_PRIVACY_MODE> --env EIGHT_SLEEP_CACHE=<EIGHT_SLEEP_CACHE> --transport stdio eight-sleep-mcp -- npx -y eight-sleep-mcp-unofficial
```
Replace <…> with your own values. 3 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add eight-sleep-mcp --env EIGHT_SLEEP_EMAIL=<EIGHT_SLEEP_EMAIL> --env EIGHT_SLEEP_PASSWORD=<EIGHT_SLEEP_PASSWORD> --env EIGHT_SLEEP_ALLOW_MUTATIONS=<EIGHT_SLEEP_ALLOW_MUTATIONS> --env EIGHT_SLEEP_PRIVACY_MODE=<EIGHT_SLEEP_PRIVACY_MODE> --env EIGHT_SLEEP_CACHE=<EIGHT_SLEEP_CACHE> -- npx -y eight-sleep-mcp-unofficial
```
Replace <…> with your own values. 3 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "eight-sleep-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "eight-sleep-mcp-unofficial"
            ],
            "env": {
                "EIGHT_SLEEP_EMAIL": "<EIGHT_SLEEP_EMAIL>",
                "EIGHT_SLEEP_PASSWORD": "<EIGHT_SLEEP_PASSWORD>",
                "EIGHT_SLEEP_ALLOW_MUTATIONS": "<EIGHT_SLEEP_ALLOW_MUTATIONS>",
                "EIGHT_SLEEP_PRIVACY_MODE": "<EIGHT_SLEEP_PRIVACY_MODE>",
                "EIGHT_SLEEP_CACHE": "<EIGHT_SLEEP_CACHE>"
            }
        }
    }
}
```
Replace <…> with your own values. 3 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "eight-sleep-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "eight-sleep-mcp-unofficial"
            ],
            "env": {
                "EIGHT_SLEEP_EMAIL": "<EIGHT_SLEEP_EMAIL>",
                "EIGHT_SLEEP_PASSWORD": "<EIGHT_SLEEP_PASSWORD>",
                "EIGHT_SLEEP_ALLOW_MUTATIONS": "<EIGHT_SLEEP_ALLOW_MUTATIONS>",
                "EIGHT_SLEEP_PRIVACY_MODE": "<EIGHT_SLEEP_PRIVACY_MODE>",
                "EIGHT_SLEEP_CACHE": "<EIGHT_SLEEP_CACHE>"
            }
        }
    }
}
```
Replace <…> with your own values. 3 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e EIGHT_SLEEP_EMAIL=<EIGHT_SLEEP_EMAIL> -e EIGHT_SLEEP_PASSWORD=<EIGHT_SLEEP_PASSWORD> -e EIGHT_SLEEP_ALLOW_MUTATIONS=<EIGHT_SLEEP_ALLOW_MUTATIONS> -e EIGHT_SLEEP_PRIVACY_MODE=<EIGHT_SLEEP_PRIVACY_MODE> -e EIGHT_SLEEP_CACHE=<EIGHT_SLEEP_CACHE> eight-sleep-mcp npx -y eight-sleep-mcp-unofficial
```
Replace <…> with your own values. 3 more environment variables are in the server README

## When to use it
- review sleep trends over a chosen period
- compare the strongest and weakest nights
- check the current temperature program and alarms
- identify the device linked to an account
- share normalized sleep context with other Delx Wellness tools

## Example prompts
- Check the connection with `eight_sleep_connection_status`, then show my account details using `eight_sleep_get_me`.
- Fetch my trends for the last 7 days with `eight_sleep_get_trends` and compare the strongest and weakest nights.
- Show the current temperature program using `eight_sleep_get_temperature`.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 392262
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33989
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81163
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119231
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47577
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43902

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
