Eight Sleep MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EIGHT_SLEEP_CACHE | No | sqlite to enable on-disk response cache. | |
| EIGHT_SLEEP_EMAIL | No | Account email. | |
| EIGHT_SLEEP_PASSWORD | No | Account password. | |
| EIGHT_SLEEP_CLIENT_ID | No | Override Android-app credential defaults (advanced). | |
| EIGHT_SLEEP_TOKEN_PATH | No | Override token storage path. | |
| EIGHT_SLEEP_PRIVACY_MODE | No | summary / structured / raw. | |
| EIGHT_SLEEP_CLIENT_SECRET | No | Override Android-app credential defaults (advanced). | |
| EIGHT_SLEEP_ALLOW_MUTATIONS | No | true to enable write tools. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| eight_sleep_profile_getA | Returns the shared Delx Wellness profile (~/.delx-wellness/profile.json). Read-only. Surfaces preferred sleep window, age, goals, and devices so eight_sleep_nightly_summary and bedtime experiments can personalize recommendations. |
| eight_sleep_profile_updateA | Persist a partial patch to the shared Delx Wellness profile (~/.delx-wellness/profile.json). Requires explicit_user_intent: true. Rejects any field whose key looks like a credential (oauth/token/secret/password/cookie/refresh/api_key/bearer/credential/session_id) or whose value matches credential-shaped patterns (JWT, Bearer token, sk_live_, sk-proj-, xoxb-, github_pat_). |
| eight_sleep_onboardingA | Returns the 11-question onboarding flow for the shared Delx Wellness profile (en or pt-BR). The agent should ask these questions next so Eight Sleep (and the rest of the wellness stack) can personalize responses — non-secret data only, stored at ~/.delx-wellness/profile.json. |
| eight_sleep_data_inventoryA | Inventory supported Eight Sleep domains, mutation tools, and recommended first calls. Does not call Eight Sleep APIs. |
| eight_sleep_capabilitiesA | Explain supported Eight Sleep data, mutation gate, privacy modes, and project links. Does not call Eight Sleep or expose secrets. |
| eight_sleep_agent_manifestB | Machine-readable install, runtime and client guidance for AI agents operating the Eight Sleep MCP. |
| eight_sleep_connection_statusA | Check env, local config, token file, Node version, privacy mode and mutation gate. Does not call Eight Sleep or expose secrets. |
| eight_sleep_cache_statusB | Show optional local SQLite cache status. Enable with EIGHT_SLEEP_CACHE=sqlite or EIGHT_SLEEP_CACHE=true. |
| eight_sleep_privacy_auditA | Return local privacy, cache, token-path, env-presence, mutation gate and redaction posture without revealing secret values. |
| eight_sleep_logoutA | Delete the local Eight Sleep token file. Use when the user explicitly wants to disconnect. |
| eight_sleep_get_meA | Return the authenticated user's Eight Sleep profile and assigned devices. |
| eight_sleep_get_userA | Return Eight Sleep profile data for a specific user_id (defaults to authenticated user). |
| eight_sleep_get_current_deviceA | Return the bed side currently assigned to the user (solo/left/right). |
| eight_sleep_get_temperatureA | Return current heating level, smart-schedule levels and side on/off state. |
| eight_sleep_get_alarmsA | Return the list of configured alarms and the recommended next alarm. |
| eight_sleep_get_baseA | Return adjustable-base state: leg angle, torso angle and preset. |
| eight_sleep_get_trendsB | Return nightly sleep sessions and scores for a date range. |
| eight_sleep_wellness_contextA | Build a normalized |
| eight_sleep_nightly_summaryA | Compute a multi-night sleep summary (best night, worst night, mean score, nights under 70 / over 85) from Eight Sleep trend data. One call replaces post-processing raw |
| eight_sleep_temperature_trendA | Workflow tool: returns the current smart-temperature schedule (bedtime/initial/final level), per-night sleep scores for the last N nights, mean/median/range/most-common for bedtime AND wake temperature settings when the trends payload exposes them, and a correlation note (e.g. 'colder bedtime → higher sleep score') ONLY when 3+ paired nights support |r| >= 0.5. Reuses get_temperature + get_trends data — no extra API calls. |
| eight_sleep_efficiencyA | v0.2.2 — Sleep efficiency calculator. For each of the last N nights (default 7), computes time_in_bed_minutes (from presenceDuration), time_asleep_minutes (from sleepDuration), efficiency_pct = (asleep / in_bed) * 100, and efficiency_band (excellent ≥85, good 75-84, fair 65-74, poor <65). Returns nights_analyzed, mean / median / min-night / max-night efficiency, a nights_by_band breakdown, per_night array, and natural-language observations (mid-week drop, all-nights-same-band, single-night dip > 15 points below mean) ONLY when supported by the data. Reuses the existing /v1/users/{id}/trends payload — no extra API calls. Graceful degradation when upstream omits presenceDuration / sleepDuration (returns nights_analyzed: 0 with a clarifying note). |
| eight_sleep_set_temperatureA | Set the heating level (-100 .. 100). Optionally set a duration in seconds. Requires EIGHT_SLEEP_ALLOW_MUTATIONS=true. |
| eight_sleep_set_sideB | Turn the user's bed side on or off. Requires EIGHT_SLEEP_ALLOW_MUTATIONS=true. |
| eight_sleep_set_away_modeA | Toggle away mode. Requires EIGHT_SLEEP_ALLOW_MUTATIONS=true. |
| eight_sleep_snooze_alarmA | Snooze an actively ringing alarm. Requires EIGHT_SLEEP_ALLOW_MUTATIONS=true. |
| eight_sleep_dismiss_alarmA | Dismiss an actively ringing alarm. Requires EIGHT_SLEEP_ALLOW_MUTATIONS=true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| eight_sleep_nightly_review | Use Eight Sleep trend + alarm data to produce a non-medical recap of last night's sleep. |
| eight_sleep_bedtime_temperature_plan | Inspect the current temperature program and propose a small experiment for the next 3 nights. |
| eight_sleep_morning_alarm_check | Show the next configured alarm and whether thermal/vibration are enabled. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| eight_sleep_data_inventory | Static inventory of supported Eight Sleep domains, mutation tools and privacy modes. |
| eight_sleep_agent_manifest | Machine-readable install and operating instructions for AI agents. |
| eight_sleep_capabilities_resource | Static capabilities, data boundary, privacy modes, mutation tools and recommended flow. |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidmosiah/eight-sleep-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server