mcpField
O
oura-ring-mcp-server

oura-ring-mcp-server

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

oura-ring-mcp-server について

oura-ring-mcp-serverは、Oura Ring API v2のデータをMCPクライアントに接続します。睡眠、コンディション、活動、心拍数などを調べる用途向けで、エンドポイントごとにツールを分けず、コレクションを指定する単一ツールを使います。

主な機能

  1. 01複数のOuraコレクションからデータを取得
  2. 02日次および時系列の記録を検索
  3. 03IDで個別の記録を取得
  4. 04ページネーションと返却フィールドの選択
  5. 05OAuth2ログインとトークンの自動更新
  6. 06Ouraのサンドボックスデータを使用

活用シーン

  1. 01指定日の睡眠ステージを確認
  2. 02直近の心拍数を確認
  3. 03期間内のコンディションを比較
  4. 04記録したワークアウトを集計・確認

MCP 対応

MCPクライアントに統合された`oura_data`ツールを公開し、コレクションの指定によってOuraのusercollectionエンドポイントにアクセスします。stdioとHTTPストリーミングのトランスポートに対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"jordanburke-oura-ring": {
"command": "npx",
"args": [
"-y",
"oura-ring-mcp-server"
],
"env": {
"OURA_CLIENT_ID": "<OURA_CLIENT_ID>",
"OURA_CLIENT_SECRET": "<OURA_CLIENT_SECRET>",
"OURA_SANDBOX": "<OURA_SANDBOX>",
"TRANSPORT_TYPE": "<TRANSPORT_TYPE>",
"PORT": "<PORT>",
"HOST": "<HOST>",
"OURA_TELEMETRY_FILE": "<OURA_TELEMETRY_FILE>",
"OURA_TELEMETRY_CONSOLE": "<OURA_TELEMETRY_CONSOLE>"
}
}
}
}
起動コマンドnpx -y oura-ring-mcp-server
設定が必要な環境変数
OURA_CLIENT_IDOura OAuth2 client ID (register an app at https://cloud.ouraring.com/oauth/applications, then run `oura-ring-mcp-server login` once to authorize)
OURA_CLIENT_SECRETシークレットOura OAuth2 client secret from the same application
OURA_SANDBOXUse Oura's /sandbox/ demo data instead of real data (true/false, default false)
TRANSPORT_TYPETransport: 'stdio' (default) or 'httpStream' for remote/Docker deployments
PORTHTTP port for httpStream transport (default 3000)
HOSTHTTP host for httpStream transport (default 0.0.0.0)
OURA_TELEMETRY_FILEWrite NDJSON telemetry events to this file path (safe under any transport)
OURA_TELEMETRY_CONSOLEConsole telemetry under httpStream transport: true (default) or false

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmoura-ring-mcp-server0.2.0

ツール

2

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

oura-ring-mcp-server

Node.js CI npm version License: MIT

Model Context Protocol に対応した Oura Ring API v2 用サーバーです。Claude(または任意の MCP クライアント)から Oura のデータに接続して、睡眠、コンディション、アクティビティ、心拍数、ワークアウトなどについて質問できます。

somamcp(テレメトリーとイントロスペクション)、 functype(型付きエラーハンドリング)、および zod を使用して構築されています。

設計

エンドポイントごとにツールを用意するのではなく、このサーバーは collection パラメーターを持つ統合された単一の oura_data ツールを公開します。これにより、すべての Oura usercollection エンドポイントをカバーしながら、ツールスキーマを小さく保ち(トークンコストを抑え)ます。選択したコレクションに対して渡されたパラメーターが有効かどうかを検証し、無効な場合は具体的な対処方法を示すメッセージを返します。

要件

  • Node.js 24+(.nvmrc で固定)

  • Oura のOAuth2 アプリケーション — cloud.ouraring.com/oauth/applications で登録して、クライアント ID とシークレットを取得します。リダイレクト URI を http://localhost:8080/callback に設定し、使用する読み取りスコープを有効にしてください。デフォルトでは全スコープを要求します — email personal daily heartrate tag workout session spo2 ring_configuration stress heart_health — これによりすべてのコレクションが利用できます(特に heart_health は vO2_max と daily_cardiovascular_age の利用に必要です)。

    Oura は 2025 年 12 月に新しい個人アクセストークンの発行を停止したため、新規セットアップでは OAuth2 を使用します。以前に発行された PAT は引き続き利用できます。認証を参照してください。

認証

このサーバーは、自動的に更新される OAuth2 アクセストークンを使って Oura に認証します。組み込みの login コマンドで一度だけ認証します。

# with OURA_CLIENT_ID and OURA_CLIENT_SECRET set in the environment
npx -y oura-ring-mcp-server login

ブラウザーが開いて同意画面が表示され、http://localhost:8080/callback でリダイレクトを受け取り、トークンが ~/.config/oura-ring-mcp/tokens.json に書き込まれます(OURA_TOKEN_STORE で変更できます)。Oura のリフレッシュトークンは一度しか使用できないため、それ以降はサーバーがこのストア内でトークンを管理し、更新します。環境変数にリフレッシュトークンを設定する必要はありません。MCP サーバーは起動時にストアを読み込みます。リフレッシュトークンが取り消された場合にのみ、login を再実行してください。

従来の PAT: 有効な個人アクセストークンをまだお持ちの場合は、代わりに OURA_API_KEY を設定し、OAuth のセットアップを省略できます。両方が設定されている場合は、OAuth が優先されます。

使用方法

Claude Desktop / Claude Code

MCP クライアントの設定に追加します(例:claude_desktop_config.json)。

{
  "mcpServers": {
    "oura": {
      "command": "npx",
      "args": ["-y", "oura-ring-mcp-server"],
      "env": {
        "OURA_CLIENT_ID": "your-oauth-client-id",
        "OURA_CLIENT_SECRET": "your-oauth-client-secret"
      }
    }
  }
}

これにより、ほとんどの MCP クライアントが想定する stdio 経由でサーバーが実行されます。トークンストアを作成するため、先に login を一度実行してください(認証を参照)。

設定
環境変数必須デフォルト説明
OURA_CLIENT_IDOAuth 用—Oura OAuth2 クライアント ID です。
OURA_CLIENT_SECRETOAuth 用—Oura OAuth2 クライアントシークレットです。
OURA_API_KEYレガシー PAT 用—レガシーの個人用アクセストークン(Bearer)です。OAuth の 2 つの値の代わりに使用できます。
OURA_REDIRECT_URIいいえhttp://localhost:8080/callbacklogin のリダイレクト URI です。Oura アプリの登録内容と一致する必要があります。
OURA_SCOPESいいえ全読み取りスコープ(Requirements を参照)login 中に要求する、スペース区切りのスコープです。
OURA_TOKEN_STOREいいえ~/.config/oura-ring-mcp/tokens.jsonOAuth トークンストアのパスです。
OURA_SANDBOXいいえfalse実際のデータの代わりに、Oura の /sandbox/ デモデータを使用します。
TRANSPORT_TYPEいいえstdiostdio または httpStream です。
PORTいいえ3000httpStream トランスポートのポートです。
HOSTいいえ0.0.0.0httpStream トランスポートのホストです。
OURA_TELEMETRY_FILEいいえ—NDJSON テレメトリーイベントを書き込むファイルパスです(どのトランスポートでも安全に使用できます)。
OURA_TELEMETRY_CONSOLEいいえtrueコンソールテレメトリーです。httpStream のみで有効です(stdio では有効になりません)。
HTTP トランスポート

長時間稼働またはネットワーク経由でのデプロイの場合:

OURA_CLIENT_ID=... OURA_CLIENT_SECRET=... TRANSPORT_TYPE=httpStream PORT=3000 npx -y oura-ring-mcp-server

MCP エンドポイントは /mcp で提供されます。somamcp は、公開された GET /health プローブも公開します。

oura_data ツール

パラメーター対象備考
collectionすべて取得するデータコレクションです(以下を参照)。
start_date / end_date日次コレクションYYYY-MM-DD 形式です。省略すると直近 7 日間になります。
start_datetime / end_datetimeheartrate、ring_battery_levelISO-8601 形式です。省略すると直近 24 時間になります。
latestheartrate、ring_battery_level最新のサンプルのみを返します。
document_id詳細ルートのあるコレクションID で単一のレコードを取得します。
next_tokenリストコレクション前回のレスポンスから取得したページネーションカーソルです。
fieldsリストコレクションカンマ区切りのフィールドセットです。
コレクション

日次(start_date/end_date):daily_activity、daily_sleep、daily_readiness、 daily_spo2、daily_stress、daily_resilience、daily_cardiovascular_age、vO2_max、 sleep、sleep_time、session、workout、tag、enhanced_tag、rest_mode_period

時系列(start_datetime/end_datetime):heartrate、ring_battery_level

リスト/シングルトン:ring_configuration、personal_info

プロンプトの例
  • 「先週の平均レディネススコアはいくつでしたか?」
  • 「2026-06-20の夜の睡眠ステージを表示してください。」
  • 「最新の心拍数の測定値を取得してください。」
  • 「今月は何回ワークアウトを記録しましたか?また、それぞれの時間はどのくらいでしたか?」

開発

pnpm install
pnpm validate   # format + lint + typecheck + test + build
pnpm dev        # watch build
pnpm inspect    # run against the MCP Inspector

リングがなくても試せるように、OURA_SANDBOX=trueを設定してOuraのデモデータセットに接続してください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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