Personal Oura Connector

Privacy policy

This is a private, owner-operated connector for one Oura account. It retrieves health measurements only after the account owner authorizes access through Oura, and exposes them only to an authorized MCP client such as ChatGPT.

Information accessed

The connector requests the Oura permissions needed to retrieve daily readiness, sleep, activity, heart rate, workouts, SpO₂, tags, and sessions. It does not request Oura account email or personal-profile permissions, use an Oura username or password, or write health data to Oura.

Data flow and recipients

For an authorized request, measurements flow from Oura’s official API to the owner’s server and then to the authorized ChatGPT/OpenAI connection. The hosting infrastructure necessary to operate the server also processes those requests. The application adds no advertising, analytics, tracking, or other health-data recipients.

Oura, the hosting provider, and OpenAI handle information under their own applicable policies. Information already sent to ChatGPT is subject to the owner’s ChatGPT settings and OpenAI’s policies.

Storage and retention

Health measurements are processed in memory to answer requests. The connector does not persist or cache those measurements. Application logs omit health data, token values, and OAuth callback parameters; responses disable caching.

Oura credentials and authorization state are encrypted at rest in the server’s credential store. Server secrets are configured through environment variables. Oura access tokens, refresh tokens, and client secrets are never returned in MCP tool responses. Stored authorizations remain until they expire or the owner erases or revokes them.

Cookies and security

Owner authorization uses a temporary security cookie to bind consent to the initiating browser. It is not used for analytics or tracking. Production connections require HTTPS, and account access requires owner consent and valid authorization.

Disconnecting and deleting local credentials

  1. Remove the connector connection in ChatGPT.
  2. Revoke this application in Oura’s authorized-app settings to invalidate access at Oura.
  3. Stop the connector server and run pnpm revoke --confirm in its source checkout with the correct environment to erase local Oura credentials and MCP authorizations.

Local erasure does not itself revoke access at Oura. Disconnecting also does not delete information previously delivered to ChatGPT or copies in owner-managed backups; manage those separately.

Purpose

The connector supplies reported measurements and labeled arithmetic summaries. It does not diagnose conditions, generate medical conclusions, or replace a health professional.