Oura Ring MCP logo

Oura Ring MCP

Connects Oura Ring data to MCP-compatible assistants for sleep, recovery, activity, and health analysis.

Install Oura Ring MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "oura-ring-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "oura-ring-mcp"
      ],
      "env": {
        "OURA_ACCESS_TOKEN": "YOUR_VALUE_HERE",
        "OURA_CLIENT_ID": "YOUR_VALUE_HERE",
        "OURA_CLIENT_SECRET": "YOUR_VALUE_HERE",
        "NODE_ENV": "YOUR_VALUE_HERE",
        "MCP_SECRET": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y oura-ring-mcp

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 1mo ago.

Overview

The oura-ring-mcp MCP server connects Oura Ring data to Claude and other MCP-compatible AI assistants. It provides retrieval tools for sleep, readiness, activity, heart rate, stress, SpO2, workouts, sessions, and tags, plus analysis tools for anomalies, trends, correlations, and comparisons. Use it when an assistant needs to interpret personal Oura data rather than return raw records; it supports local stdio use and remote HTTP deployment.

Use cases

  • Review nightly sleep quality and recovery
  • Compare health metrics across weeks
  • Find conditions associated with better sleep
  • Detect unusual Oura readings
  • Track HRV and readiness trends

Key features

  • Oura sleep, readiness, and activity retrieval
  • Heart rate, HRV, stress, and SpO2 data
  • Anomaly, correlation, and trend analysis
  • Period and tag-based comparisons
  • Daily, weekly, baseline, and monthly resources
  • Personal Access Token and OAuth authentication

Tools17

What Oura Ring MCP lets your agent do. Expand a tool for its parameters.

Self-reported~212 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

7/7 checks healthy over the last 58d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 8d ago via OSV.dev · oura-ring-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars32Stargazers on the source repository.
npm downloads339Package downloads in the last 30 days.
Last commit8mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed17Callable tools this server registers over MCP.
Directory activity8 viewsConfig copies, upvotes, and views on AllMCPs.

How Oura Ring MCP works

What oura-ring-mcp MCP server does

The oura-ring-mcp MCP server exposes Oura Ring health data and analysis functions through the Model Context Protocol. It is designed for assistants that need to answer questions about sleep, recovery, activity, and related personal metrics using data from an Oura account.

Data retrieval covers sleep stages, sleep efficiency, heart rate, HRV, daily sleep scores, readiness contributors, steps, calories, activity intensity, workouts, meditation and relaxation sessions, stress, blood oxygen, breathing disturbance, and user-created tags or notes. Returned information is formatted for human reading, including durations and contextual score labels.

The server also includes analysis functions. These can identify unusual readings, examine sleep quality and debt, calculate relationships between metrics, compare time periods, compare tagged and untagged conditions, identify conditions associated with better sleep, and calculate rolling HRV trends.

How it works

The server can authenticate with an Oura Personal Access Token or through an OAuth flow. With OAuth, credentials are stored locally in ~/.oura-mcp/credentials.json; client credentials can also be supplied to support automatic token refresh. The local configuration uses the MCP server command as a stdio process.

In addition to tools, the server publishes Oura-oriented resources for today’s summary, a seven-day summary, 30-day baselines, monthly insights, and tag usage. It also provides prompts for weekly reviews, sleep optimization, recovery checks, week comparisons, and tag analysis.

For remote use, the project documents deployment on Railway. The HTTP deployment can proxy OAuth through Oura, or it can accept a static bearer token for MCP access together with an Oura Personal Access Token. Claude.ai can connect through its MCP connector, while Claude Desktop can connect to the remote /mcp endpoint with an authorization header.

Setup and configuration

Install the package globally with npm or run it directly through npx. Node.js 18 or newer is required. For token authentication, create an Oura Personal Access Token and provide it as OURA_ACCESS_TOKEN in the MCP client configuration.

For OAuth, create an application with Oura, use http://localhost:3000/callback as the local redirect URI, and run the authentication command with OURA_CLIENT_ID and OURA_CLIENT_SECRET. The resulting credentials are saved under the user’s home directory. Add the client ID and secret to the MCP configuration if automatic refresh is needed.

Remote Railway deployments use OURA_CLIENT_ID, OURA_CLIENT_SECRET, and NODE_ENV=production. MCP_SECRET can protect MCP requests with a static bearer token. OURA_ACCESS_TOKEN is available as a fallback for remote deployments, but the documented fallback also requires MCP_SECRET.

Tools and capabilities

The oura-ring-mcp MCP server provides these tool groups:

  • Retrieval: get_sleep, get_daily_sleep, get_readiness, get_activity, get_workouts, get_sessions, get_heart_rate, get_stress, get_spo2, and get_tags.
  • Analysis: detect_anomalies, analyze_sleep_quality, correlate_metrics, compare_periods, compare_conditions, best_sleep_conditions, and analyze_hrv_trend.

These tools support questions such as whether sleep changed between weeks, whether a tag is associated with different metrics, whether HRV is rising or falling, and which conditions correspond with better sleep.

Limitations and notes

The server depends on access to an Oura account and its available data. Analysis results are based on the metrics and tags returned by Oura; the documentation does not describe them as medical diagnoses. Remote deployments require separate Oura OAuth configuration or the documented token and bearer-secret setup. The README provides explicit Claude Desktop and Claude.ai connection instructions; other client configurations are not documented there.

The project is licensed under MIT.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Oura Ring MCP

oura-ring-mcp is an MCP server that connects Oura Ring accounts to Claude and other AI assistants. Its main tools retrieve sleep, readiness, activity, workouts, sessions, heart rate, stress, SpO2, and tags, then analyze anomalies, trends, correlations, periods, and tagged conditions.

Install it globally with `npm install -g oura-ring-mcp` or run it without installation using `npx oura-ring-mcp`. Node.js 18 or newer is required. After installation, configure an Oura Personal Access Token or complete the documented OAuth flow.

Authenticate with either an Oura Personal Access Token or OAuth. Set `OURA_ACCESS_TOKEN` for token authentication, or create an Oura OAuth application and run `npx oura-ring-mcp auth` with `OURA_CLIENT_ID` and `OURA_CLIENT_SECRET`. OAuth credentials are saved in `~/.oura-mcp/credentials.json`.

Yes, oura-ring-mcp works with Claude Desktop through a local MCP configuration. Add `npx oura-ring-mcp` as the server command and provide `OURA_ACCESS_TOKEN`, or run the OAuth flow first and let the server read credentials from `~/.oura-mcp/credentials.json`.

Yes, the project documents Railway deployment for remote HTTP access. Configure Oura OAuth credentials and connect Claude.ai through its MCP connector, or use `MCP_SECRET` with `OURA_ACCESS_TOKEN` for a Claude Desktop connection to the remote `/mcp` endpoint.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewOura Ring MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/oura-ring-mcp?style=directory)](https://allmcps.com/mcp/oura-ring-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/oura-ring-mcp"><img src="https://allmcps.com/api/badge/oura-ring-mcp?style=directory" alt="Oura Ring MCP on AllMCPs" /></a>