Oura MCP Server について
Oura MCP Server は、Oura Ring のデータを読み取るための MCP サーバーです。AI クライアントから睡眠、アクティビティ、回復などの健康データを確認したいユーザーを対象としています。個人アクセストークンと OAuth2 認証の両方に対応しています。
主な機能
- 01日次の睡眠、アクティビティ、準備度のリソースを提供
- 02個人アクセストークンと OAuth2 認証に対応
- 03開始日と終了日を指定したデータ取得
- 04Claude Desktop 向けの設定例を収録
活用シーン
- 01Claude Desktop で期間ごとの睡眠サマリーを確認
- 02ワークアウト記録と準備度スコアの比較
- 03ストレス、SpO2、心血管年齢の指標の確認
MCP 対応
本プロジェクトは Oura のデータをリソースとツールとして MCP クライアントに提供する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Oura MCP サーバー
Oura Ring のデータにアクセスするための Model Context Protocol(MCP)サーバーです。
セットアップ
前提条件
- Node.js(v16 以降)
- Oura アカウント
インストール
- リポジトリをクローンします
- 次を実行します:
npm install
npm run build
設定
認証情報の取得
- Oura Cloud Console にログインします
- 次のいずれかを取得します:
- Personal Access Token(テスト用)
- OAuth2 Credentials(本番用)
環境変数
.env ファイルを作成します:
# Option 1: Personal Access Token
OURA_PERSONAL_ACCESS_TOKEN=your_token
# Option 2: OAuth2 credentials
OURA_CLIENT_ID=your_client_id
OURA_CLIENT_SECRET=your_client_secret
OURA_REDIRECT_URI=http://localhost:3000/callback
使用方法
テスト
node test.js <tool_name> <date>
例:node test.js get_daily_sleep 2023-05-01
Claude Desktop との連携
Claude Desktop の設定(設定 → 開発者 → 設定を編集)に追加します:
{
"mcpServers": {
"oura": {
"command": "node",
"args": ["/absolute/path/to/oura-mcp/build/index.js"],
"env": {"OURA_PERSONAL_ACCESS_TOKEN": "your_token"}
}
}
}
保存後、Claude Desktop を再起動します。詳しくは MCP のドキュメント をご覧ください。
利用可能なリソース
personal_info- ユーザープロフィールdaily_activity- アクティビティの概要daily_readiness- 準備スコアdaily_sleep- 睡眠の概要sleep- 詳細な睡眠データsleep_time- 睡眠時間workout- ワークアウトデータsession- セッションデータdaily_spo2- SpO2 測定値rest_mode_period- 休息期間ring_configuration- リングの設定daily_stress- ストレス指標daily_resilience- 回復力指標daily_cardiovascular_age- 心血管年齢vO2_max- VO2 max データ
利用可能なツール
日付に基づくリソースには、startDate と endDate パラメーター(YYYY-MM-DD)を指定して、get_daily_sleep などのツールを使用します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。