eight-sleep-mcp — Claude Code MCP server: features and setup
Connect an AI agent to Eight Sleep sleep trends, temperature settings, alarms, and adjustable-base data. Pod changes stay disabled until explicitly enabled.
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-unofficialWhat eight-sleep-mcp 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.
What it helps with
- 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 for the agent
- Check the connection with
eight_sleep_connection_status, then show my account details usingeight_sleep_get_me. - Fetch my trends for the last 7 days with
eight_sleep_get_trendsand compare the strongest and weakest nights. - Show the current temperature program using
eight_sleep_get_temperature.
How to install eight-sleep-mcp
Platform CLI
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-unofficialReplace <…> with your own values. 3 more environment variables are in the server README
Platform CLI
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-unofficialReplace <…> with your own values. 3 more environment variables are in the server README
Config file
{
"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
Config file
{
"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
Platform CLI
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-unofficialReplace <…> with your own values. 3 more environment variables are in the server README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about eight-sleep-mcp
How do I install eight-sleep-mcp in Claude Code?
Run `claude mcp add eight-sleep-mcp -e EIGHT_SLEEP_PASSWORD=<EIGHT_SLEEP_PASSWORD> -e EIGHT_SLEEP_CLIENT_SECRET=<EIGHT_SLEEP_CLIENT_SECRET> -- npx -y eight-sleep-mcp-unofficial`. Replace the environment variable placeholders with your values.
What does eight-sleep-mcp do?
It exposes Eight Sleep account, sleep, temperature, alarm, and base data to an agent over MCP. Changing pod settings requires a separate opt-in.
Can it read live biometric sensor data?
No. It accesses the API used by the Eight Sleep mobile app, not continuous biometric streams or BLE data.