8sleep Mcp

8sleep Mcp

🚀 Eight Sleep MCP

Eight Sleep MCP 是一个用于访问 Eight Sleep 枕数据的 Model Context Protocol (MCP) 服务器,它能帮助用户便捷地获取和管理相关睡眠数据。

🚀 快速开始

在使用 Eight Sleep MCP 前,您需要完成安装和配置,下面将为您详细介绍。

📦 安装指南

先决条件

  • Node.js(v16+)
  • Eight Sleep 账户

安装步骤

  1. 克隆仓库。
  2. 运行以下命令进行依赖安装和项目构建:
npm install
npm run build

配置指南

获取您的用户 ID

您需要获取一次 Eight Sleep 的用户 ID 并添加到配置中,这样可以避免客户端在每次请求时都通过电子邮件/密码进行身份验证。您有两种获取方式:

选项 1:直接 API 调用

  1. 执行以下 curl 命令:
curl -X POST https://client-api.8slp.net/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"your_email","password":"your_password"}'
  1. 将响应中获取的用户 ID 添加到配置中。

选项 2:使用 MCP 客户端

  1. 首先设置不带用户 ID 的 .env 文件:
EIGHT_SLEEP_EMAIL=your_email
EIGHT_SLEEP_PASSWORD=your_password
  1. 运行 MCP 客户端一次以获取您的用户 ID:
node build/index.js getUsers

响应中将包含您的用户 ID,请保存此值。 3. 将用户 ID 添加到配置中。

环境变量

创建一个 .env 文件,并按以下格式填写:

# Eight Sleep 身份验证
EIGHT_SLEEP_EMAIL=your_email
EIGHT_SLEEP_PASSWORD=your_password
EIGHT_SLEEP_USER_ID=your_user_id  # 必填:使用上述任一方法获取用户 ID
EIGHT_SLEEP_CLIENT_ID=your_client_id
EIGHT_SLEEP_CLIENT_SECRET=your_client_secret

集成 Claude Desktop

将以下配置添加到 Claude Desktop 的配置(设置 → 开发者 → 编辑配置)中:

{
"mcpServers": {
"eight_sleep": {
"command": "node",
"args": ["/absolute/path/to/eight-sleep-mcp/build/index.js"],
"env": {
"EIGHT_SLEEP_EMAIL": "your_email", // 一旦拥有 userid,电子邮件和密码不需要
"EIGHT_SLEEP_PASSWORD": "your_password", // 一旦拥有 userid,电子邮件和密码不需要
"EIGHT_SLEEP_USER_ID": "your_user_id",
"EIGHT_SLEEP_CLIENT_ID": "your_client_id", // 可选
"EIGHT_SLEEP_CLIENT_SECRET": "your_client_secret" // 可选
}
}
}
}

⚠️ 重要提示

将用户 ID 添加到配置中是必需的,以避免每次请求时都需要通过电子邮件/密码进行身份验证。请确保使用上述任一方法获取用户 ID。保存配置后,重新启动 Claude Desktop。

✨ 主要特性

用户信息

  • getUsers - 获取用户个人资料信息
  • getUserPreferences - 获取用户偏好设置(单位,时区,床侧)
  • updateUserPreferences - 更新用户偏好设置

设备控制

  • getDeviceStatus - 获取设备状态(在线,固件版本,水位)
  • setDevicePower - 关闭/开启设备
  • getPresence - 检查用户是否在床

温度控制

  • getTemperature - 获取当前温度设置
  • setTemperature - 设置即时温度(-100 到 100)
  • getTemperatureSchedules - 获取温度计划
  • setTemperatureSchedule - 创建温度计划
  • updateTemperatureSchedule - 更新温度计划
  • deleteTemperatureSchedule - 删除温度计划

睡眠数据

  • getSleepData - 获取日期范围内的详细睡眠数据
  • getSleepScore - 获取某一天的睡眠分数
  • getSleepStages - 获取睡眠阶段(清醒,轻度,深度,REM)
  • getHrv - 获取心率变异性数据
  • getHeartRate - 获取心率数据
  • getRespiratoryRate - 获取呼吸速率数据
  • getSleepPosition - 获取睡眠姿势

温度计划示例

setTemperatureSchedule({
startTime: "22:00",
level: -20,
daysOfWeek: [0,1,2,3,4,5,6]  // 每天
})
  • 0 关注
  • 0 收藏,28 浏览
  • system 提出于 2025-10-03 21:48

相似服务问题

相关AI产品