Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OURA_CACHENoCache type, e.g., sqlite
OURA_SCOPESNoSpace-separated Oura API scopes, e.g., 'daily heartrate personal sleep workout spo2'
OURA_CLIENT_IDYesClient ID from Oura app
OURA_CACHE_PATHNoPath to cache file, default ~/.oura-mcp/cache.sqlite
OURA_TOKEN_PATHNoPath to token file, default ~/.oura-mcp/tokens.json
OURA_PRIVACY_MODENoPrivacy mode: summary, structured, or raw. Default structured.
OURA_REDIRECT_URIYesRedirect URI for OAuth callback, default http://127.0.0.1:3000/callback
OURA_CLIENT_SECRETYesClient secret from Oura app

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
oura_data_inventoryA

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_manifestA

Machine-readable install, runtime and client guidance for AI agents. Does not call Oura or expose secrets.

oura_capabilitiesA

Explain supported Oura data, privacy boundaries, recommended agent workflow and project links.

oura_quickstartA

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_demoA

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_getB

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_updateA

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_onboardingA

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_urlA

Generate an Oura OAuth authorization URL. Use this first when no local token exists.

oura_exchange_codeA

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_infoB

Get Oura personal profile fields available to the authorized app. Requires the personal scope.

oura_list_daily_activityA

List daily Oura activity summaries. Supports start/end date filters through after/before and Oura cursor pagination.

oura_list_daily_sleepC

List daily Oura sleep score summaries. Requires daily or sleep data access granted by the user. Not medical advice.

oura_list_daily_readinessA

List Oura readiness summaries and contributors. Requires daily scope. Not medical advice.

oura_list_sleepA

List detailed Oura sleep period records, including sleep stages and timing where available. Requires the daily scope (Oura has no separate sleep OAuth scope). Not medical advice.

oura_list_workoutsA

List Oura workout summaries. Requires workout scope.

oura_list_heartrateA

List Oura heart-rate time-series records where the user's ring and membership expose them. Requires heartrate scope. Not medical advice.

oura_list_daily_spo2B

List daily Oura SpO2 averages recorded during sleep when available. Requires spo2 scope. Not medical advice.

oura_list_sessionsA

List guided and unguided Oura app sessions when the user granted session scope.

oura_list_tagsA

List user-entered Oura tags when the user granted tag scope.

oura_connection_statusA

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_statusB

Show optional local SQLite cache status. Enable with OURA_CACHE=sqlite or OURA_CACHE=true.

oura_privacy_auditB

Return local privacy, cache, token-path and env-presence posture without revealing secret values.

oura_revoke_accessA

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_summaryA

Build a practical daily summary from Oura readiness, sleep, activity, heart-rate and SpO2 data when available. Read-only and non-medical.

oura_weekly_summaryA

Build a weekly Oura scorecard with readiness, sleep, activity, HRV availability, bottlenecks and actions. Read-only and non-medical.

oura_wellness_contextA

Normalize Oura readiness, sleep and activity load into the shared wellness_context shape for recommendation engines.

Prompts

Interactive templates invoked by user choice

NameDescription
oura_daily_checkinAsk an agent to create a practical daily health and training check-in from Oura.
oura_weekly_reviewAsk an agent to review Oura trends across activity, sleep and heart context.
oura_heart_context_investigationInvestigate Oura heart-rate records and adjacent sleep context when API access permits it.

Resources

Contextual data attached and managed by the client

NameDescription
oura_data_inventoryStatic inventory of supported Oura data domains, privacy modes and recommended first calls.
oura_capabilitiesStatic capabilities, API boundary, privacy modes and recommended agent workflow.
oura_agent_manifestMachine-readable install and operating instructions for AI agents.
oura_personal_infoAuthenticated Oura personal info using the configured privacy mode.
oura_latest_readinessMost recent Oura readiness record in the configured privacy mode.
oura_daily_summaryDaily Oura health summary built from API data.
oura_weekly_summaryWeekly Oura health review built from API data.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidmosiah/oura-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server