mcpField
E
Eight Sleep MCP

Eight Sleep MCP

ローカル
github.com/elizabethtrykinヘルスケア784 週間前に更新

Eight Sleep MCP について

Eight Sleep MCP は、Eight Sleep Pod のユーザー向けに、アカウント、デバイス、温度、睡眠データ、アラームを操作します。MCP クライアントから睡眠指標を取得し、対応するデバイス設定を管理できます。

主な機能

  1. 01ユーザープロフィールと設定の取得
  2. 02デバイス状態とベッド上の在床状況の確認
  3. 03睡眠スコア、睡眠段階、健康指標の取得
  4. 04温度とスケジュールの設定
  5. 05アラームの作成と管理

活用シーン

  1. 01指定期間の睡眠データを確認
  2. 02Pod の温度やスケジュールを調整
  3. 03デバイス状態と在床状況を確認
  4. 04起床アラームを作成または更新

MCP 対応

Eight Sleep のアカウント、デバイス、温度、睡眠データ、アラーム機能を MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Eight Sleep MCP

Eight Sleep Pod のデータにアクセスするための Model Context Protocol(MCP)サーバーです。

セットアップ

前提条件
  • Node.js(v16+)
  • Eight Sleep アカウント
インストール
  1. リポジトリをクローンします
  2. 次を実行します:
npm install
npm run build
設定
ユーザー ID の取得

Eight Sleep のユーザー ID を一度取得し、設定に追加する必要があります。これにより、リクエストのたびにクライアントがメールアドレス/パスワードで認証する必要がなくなります。取得方法は 2 つあります。

方法 1:API を直接呼び出す

curl -X POST https://client-api.8slp.net/v1/auth/login
-H "Content-Type: application/json"
-d '{"email":"your_email","password":"your_password"}'


2. Add the user ID to your configuration as shown below.

Option 2: Using MCP Client
1. First set up your `.env` file without the user ID:
```env
EIGHT_SLEEP_EMAIL=your_email
EIGHT_SLEEP_PASSWORD=your_password
  1. MCP クライアントを一度実行して、ユーザー ID を取得します:
node build/index.js getUsers

レスポンスにユーザー ID が含まれます。この値を保存してください。

  1. 以下に示すように、ユーザー ID を設定に追加します。
環境変数

.env ファイルを作成します:

# Eight Sleep Authentication
EIGHT_SLEEP_EMAIL=your_email
EIGHT_SLEEP_PASSWORD=your_password
EIGHT_SLEEP_USER_ID=your_user_id  # Required: Add the userId from one of the methods above
EIGHT_SLEEP_CLIENT_ID=your_client_id
EIGHT_SLEEP_CLIENT_SECRET=your_client_secret
Claude Desktop との連携

Claude Desktop の設定に追加します(Settings → Developer → Edit Config):

{
    "mcpServers": {
        "eight_sleep": {
            "command": "node",
            "args": ["/absolute/path/to/eight-sleep-mcp/build/index.js"],
            "env": {
                "EIGHT_SLEEP_EMAIL": "your_email", // email and password not required once you have userid
                "EIGHT_SLEEP_PASSWORD": "your_password", // email and password not required once you have userid
                "EIGHT_SLEEP_USER_ID": "your_user_id",
                "EIGHT_SLEEP_CLIENT_ID": "your_client_id", // optional
                "EIGHT_SLEEP_CLIENT_SECRET": "your_client_secret" // optional
            }
        }
    }
}

重要:リクエストのたびにメールアドレス/パスワードで認証する必要がないように、ユーザー ID を設定に追加してください。上記いずれかの方法で取得してください。

保存後、Claude Desktop を再起動します。

利用可能な関数

ユーザー情報
  • getUsers - ユーザープロフィール情報を取得します
  • getUserPreferences - ユーザー設定(単位、タイムゾーン、ベッドの左右)を取得します
  • updateUserPreferences - ユーザー設定を更新します
デバイス制御
  • getDeviceStatus - デバイスの状態(オンライン状態、ファームウェア、水位)を取得します
  • setDevicePower - デバイスの電源をオン/オフにします
  • getPresence - ユーザーがベッドにいるか確認します
温度制御
  • getTemperature - 現在の温度設定を取得します
  • setTemperature - 温度を即時設定します(-100〜100)
  • getTemperatureSchedules - 温度スケジュールを取得します
  • setTemperatureSchedule - 温度スケジュールを作成します
  • updateTemperatureSchedule - 温度スケジュールを更新します
  • deleteTemperatureSchedule - 温度スケジュールを削除します
睡眠データ
  • getSleepData - 指定した日付範囲の詳細な睡眠データを取得します
  • getSleepScore - 指定した日付の睡眠スコアを取得します
  • getSleepStages - 睡眠ステージ(覚醒、浅い睡眠、深い睡眠、REM)を取得します
  • getHrv - 心拍変動データを取得します
  • getHeartRate - 心拍数データを取得します
  • getRespiratoryRate - 呼吸数データを取得します
  • getSleepTiming - 就寝時刻と起床時刻を取得します
  • getSleepFitnessTrends - 睡眠フィットネスの傾向を取得します
アラーム管理
  • getAlarms - すべてのアラームを取得します
  • setAlarm - 新しいアラームを作成します
  • updateAlarm - 既存のアラームを更新します
  • deleteAlarm - アラームを削除します

関数パラメーター

日付を指定する関数では、YYYY-MM-DD 形式を使用します。例:

getSleepData({
  startDate: "2024-03-15",
  endDate: "2024-03-16"  // optional
})

温度設定の場合:

setTemperature({
  level: 50,  // -100 to 100
  duration: 3600  // seconds, optional
})

アラームの場合:

setAlarm({
  time: "07:00",
  daysOfWeek: [1,2,3,4,5],  // Mon-Fri
  vibration: true,
  sound: "chime"  // optional
})

温度スケジュールの場合:

setTemperatureSchedule({
  startTime: "22:00",
  level: -20,
  daysOfWeek: [0,1,2,3,4,5,6]  // Every day
})

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。