io.github.davidmosiah/ouramcp
Privacy-first, unofficial Oura MCP server for AI health, sleep, activity and heart-rate agents.
Versions
0.4.8latest0.4.70.4.60.4.50.4.4+ show 9 moreshow less
0.4.30.4.20.4.10.4.00.3.00.2.10.2.00.1.10.1.0Tools 18
oura_data_inventory Inventory supported Oura data domains, auth scope requirements, privacy boundary and recommended first calls. Does not call Oura APIs or expose user data.
oura_agent_manifest Machine-readable install, runtime and client guidance for AI agents. Does not call Oura or expose secrets.
oura_capabilities Explain supported Oura data, privacy boundaries, recommended agent workflow and project links.
oura_quickstart Personalized 3-step setup walkthrough for the human user. Adapts to current state (env vars set? token present? what's next?). Call this first when the user asks 'how do I connect Oura?'
oura_demo Returns realistic example payloads of oura_daily_summary, oura_wellness_context, and oura_list_daily_readiness so agents see the contract before calling real Oura APIs.
oura_profile_get Read the shared Delx wellness profile (~/.delx-wellness/profile.json). Returns the user's preferred name, body basics, goals, devices, training context, nutrition context, agent preferences, and missing critical fields. Cross-connector — the same profile is also available from other Delx Wellness MCPs (WHOOP, Garmin, Nourish, Fitbit, etc). Read-only.
oura_profile_update Persist a partial patch to the shared Delx wellness profile (~/.delx-wellness/profile.json). REQUIRES explicit_user_intent=true. Top-level fields stored: profile (preferred_name, language, timezone, units, age_or_birth_year, height, weight, sex_or_gender_context), goals, devices, training, nutrition, preferences, safety, notes. NEVER stores OAuth tokens, API keys, refresh tokens, cookies, or any secret-shaped field — writes will be rejected at validation time. Cross-connector — the same profile is read by other Delx Wellness MCPs.
oura_onboarding Return the 11-question Delx wellness onboarding flow (in English or pt-BR) plus the current shared profile state and missing critical fields. Read-only. The agent should ask these questions one-by-one, then call oura_profile_update with explicit_user_intent=true to save. The same profile is reused by every Delx Wellness connector (WHOOP, Garmin, Nourish, etc.) — agents can call the equivalent {connector}_onboarding tools to cover their respective domains, or rely on this one since all connectors share the same questions.
oura_get_auth_url Generate an Oura OAuth authorization URL. Use this first when no local token exists.
oura_exchange_code Exchange an Oura OAuth authorization code for local tokens. Tokens are stored locally with 0600 permissions and are never returned. Requires explicit user action: the user must complete browser OAuth and supply the authorization code (agents must not invent codes).
oura_get_personal_info Get Oura personal profile fields available to the authorized app. Requires the personal scope.
oura_connection_status Check local Oura config, token file, Node version, privacy mode, cache readiness and optional MCP client readiness without calling Oura or exposing secrets.
oura_cache_status Show optional local SQLite cache status. Enable with OURA_CACHE=sqlite or OURA_CACHE=true.
oura_privacy_audit Return local privacy, cache, token-path and env-presence posture without revealing secret values.
oura_revoke_access Revoke the current Oura OAuth grant and delete the local token file. Use only when the user explicitly wants to disconnect Oura. Gated by explicit_user_intent: true (requires explicit user intent).
oura_daily_summary Build a practical daily summary from Oura readiness, sleep, activity, heart-rate and SpO2 data when available. Read-only and non-medical.
oura_weekly_summary Build a weekly Oura scorecard with readiness, sleep, activity, HRV availability, bottlenecks and actions. Read-only and non-medical.
oura_wellness_context Normalize Oura readiness, sleep and activity load into the shared wellness_context shape for recommendation engines.
Permissions 3
network medium shell high env_vars low