{"name":"io.github.davidmosiah/ouramcp","slug":"davidmosiah-ouramcp","title":null,"description":"Privacy-first, unofficial Oura MCP server for AI health, sleep, activity and heart-rate agents.","url":"https://mcp.market/server/davidmosiah-ouramcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":39,"stars":6,"forks":4,"downloads_week":419,"last_push_at":"2026-11-05T16:32:30.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/davidmosiah/oura-mcp","website":"https://wellness.delx.ai/connectors/oura","version":"0.4.6","remotes":[],"packages":[{"registryType":"npm","identifier":"oura-mcp-unofficial","version":"0.4.6","transport":{"type":"stdio"},"environmentVariables":[{"description":"Oura OAuth client ID. Optional when configured with oura-mcp-server setup.","format":"string","name":"OURA_CLIENT_ID"},{"description":"Oura OAuth client secret. Prefer oura-mcp-server setup so this secret is stored in ~/.oura-mcp/config.json instead of MCP client config.","format":"string","isSecret":true,"name":"OURA_CLIENT_SECRET"},{"description":"Redirect URI configured in the Oura Developer Dashboard. Optional when configured with oura-mcp-server setup.","format":"string","name":"OURA_REDIRECT_URI"},{"description":"Optional local path for OAuth tokens. Defaults to ~/.oura-mcp/tokens.json.","format":"string","name":"OURA_TOKEN_PATH"},{"description":"Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Oura API payloads, not continuous 24/7 raw sensor telemetry.","format":"string","name":"OURA_PRIVACY_MODE"},{"description":"Optional SQLite cache toggle. Set to true or sqlite to enable.","format":"string","name":"OURA_CACHE"},{"description":"Optional local SQLite cache path. Defaults to ~/.oura-mcp/cache.sqlite.","format":"string","name":"OURA_CACHE_PATH"},{"description":"Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.","format":"string","name":"OURA_NO_CACHE"}]}],"tools":[{"name":"oura_agent_manifest","description":"Machine-readable install, runtime and client guidance for AI agents. Does not call Oura or expose secrets.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_cache_status","description":"Show optional local SQLite cache status. Enable with OURA_CACHE=sqlite or OURA_CACHE=true.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_capabilities","description":"Explain supported Oura data, privacy boundaries, recommended agent workflow and project links.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_connection_status","description":"Check local Oura config, token file, Node version, privacy mode, cache readiness and optional MCP client readiness without calling Oura or exposing secrets.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_daily_summary","description":"Build a practical daily summary from Oura readiness, sleep, activity, heart-rate and SpO2 data when available. Read-only and non-medical.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_data_inventory","description":"Inventory supported Oura data domains, auth scope requirements, privacy boundary and recommended first calls. Does not call Oura APIs or expose user data.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_demo","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_exchange_code","description":"Exchange an Oura OAuth authorization code for local tokens. Tokens are stored locally with 0600 permissions and are never returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_get_auth_url","description":"Generate an Oura OAuth authorization URL. Use this first when no local token exists.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_get_personal_info","description":"Get Oura personal profile fields available to the authorized app. Requires the personal scope.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_onboarding","description":"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 {con","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_privacy_audit","description":"Return local privacy, cache, token-path and env-presence posture without revealing secret values.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_profile_get","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_profile_update","description":"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 s","write_action":true,"price_micros":0,"input_schema":null},{"name":"oura_quickstart","description":"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?'","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_revoke_access","description":"Revoke the current Oura OAuth grant and delete the local token file. Use only when the user explicitly wants to disconnect Oura.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_weekly_summary","description":"Build a weekly Oura scorecard with readiness, sleep, activity, HRV availability, bottlenecks and actions. Read-only and non-medical.","write_action":false,"price_micros":0,"input_schema":null},{"name":"oura_wellness_context","description":"Normalize Oura readiness, sleep and activity load into the shared wellness_context shape for recommendation engines.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-11-10T07:32:34.952Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-10T07:32:34.813Z","components":{"code":{"score":25,"max":25,"notes":["58 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 5 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"oura-mcp-unofficial","version":"0.4.6","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":5,"publishedAt":"2026-05-29T18:56:08.124Z","repositoryUrl":"git+https://github.com/davidmosiah/oura-mcp.git","weeklyDownloads":419}],"repo":{"found":true,"owner":"davidmosiah","repo":"oura-mcp","archived":false,"pushedAt":"2026-11-05T16:32:30Z","stars":6,"forks":4,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/624359?v=4","ownerCreatedAt":"2011-02-18T00:23:21Z","license":"MIT"},"icon":{"url":"https://wellness.delx.ai/favicon.svg","source":"registry"},"presence":{"stars":6,"forks":4,"downloadsWeek":419,"license":"MIT","lastPushAt":"2026-11-05T16:32:30.000Z","score":39}}}},"grade_history":[],"reviews":[]}