MCP.Market

Oura Ring MCP server

by osjayaprakash·io.github.osjayaprakash/oura-ring-python-mcp·v0.1.0

Read-only Oura Ring sleep, readiness, activity, stress and heart rate data (OAuth2)

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
New

0 stars

Reviews

Write one

Nobody has reviewed Oura Ring yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Oura Ring tools (11)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • get_daily_activity

    Daily activity score (0-100), steps, active and total calories, walking-equivalent distance (m), and time at each activity level (seconds).

  • get_daily_readiness

    Daily readiness score (0-100) with contributors (HRV balance, resting heart rate, recovery, sleep balance, activity balance) and body temperature deviation (°C).

  • get_daily_resilience

    Daily resilience level (limited to exceptional) with sleep and daytime recovery and stress contributors.

  • get_daily_sleep

    Daily sleep score (0-100) with its contributors (deep sleep, efficiency, latency, REM, restfulness, timing, total sleep), one item per day.

  • get_daily_spo2

    Nightly average blood oxygen saturation (%) and breathing disturbance index.

  • get_daily_stress

    Daily time spent in high stress and in recovery (seconds), and the day summary.

  • get_heart_rate

    Heart rate samples (bpm, source such as rest/sleep/workout) in a window of up to 7 days, oldest first, with min, max and average bpm.

  • get_personal_info

    The Oura user's profile: age, weight (kg), height (m), biological sex and email.

  • get_sessions

    Guided or unguided sessions (meditation, breathing, rest, naps) with start, end and mood.

  • get_sleep_periods

    Each sleep period (night sleep and naps): bedtimes, time in deep/light/REM/awake (seconds), efficiency, latency, average and lowest heart rate, average HRV.

  • get_workouts

    Workouts: activity type, start and end time, intensity, calories and distance (m).

Public scan report

scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it

no findings
  • Code scan16 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 0 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Oura Ring compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
83/100
higher than 65% of 48,255 servers
Tools
11
the typical server has 7
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break

What its tools let an agent do: 11 read

Install Oura Ring in Claude Code, Cursor or VS Code

claude mcp add oura-ring-python-mcp -- uvx oura-ring-python-mcp
Add to Cursor

What the publisher says

From the Oura Ring repository's README, as published. We do not edit it. Read it on GitHub

oura-ring-python-mcp

<!-- mcp-name: io.github.osjayaprakash/oura-ring-python-mcp -->

An MCP server that gives Claude (or any MCP client) read-only access to your Oura Ring data: sleep, readiness, activity, stress, SpO2, resilience, workouts, sessions and heart rate. It talks to the Oura API v2 with its own small async client (ouraringmcp.core).

Tools

Daily tools take optional startdate and enddate (YYYY-MM-DD, both inclusive). Without them they cover the 7 days ending today; ranges are limited to 90 days. Each result echoes the range it covers, so the model always knows what "today" meant.

getheartrate takes optional startdatetime and enddatetime (ISO 8601). Without them it covers the last 24 hours; windows are limited to 7 days.

Per-interval series (5-minute activity classes, MET, sleep phases, in-sleep heart rate and HRV curves) are left out of results to keep them small; the scores, totals and averages are kept.

Setup

For a step-by-step guide, including creating the Oura application and troubleshooting, see the installation guide. Full documentation is at .

The server signs in with OAuth2, since Oura has deprecated personal access tokens. You need an Oura API application (a client ID and secret) whose redirect URIs include http://localhost:47651/callback, with the scopes email, personal, daily, heartrate, workout, session, spo2 and stress allowed (resilience needs stress). Gen3 and Oura Ring 4 users need an active Oura membership for the API to return data.

git clone https://github.com/osjayaprakash/oura-ring-python-mcp.git && cd oura-ring-python-mcp
uv sync

Sign in once. This opens the browser, catches Oura's redirect on localhost, and saves the tokens to ~/.config/oura-ring-mcp/tokens.json (readable only by you):

OURA_CLIENT_ID=... OURA_CLIENT_SECRET=... uv run oura-ring-python-mcp auth

From then on the server refreshes the access token by itself (Oura issues them for 30 days) and saves each new single-use refresh token. Run auth again only if you revoke access or the saved refresh token is lost.

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Oura Ring: common questions

Is Oura Ring MCP server safe?
Mostly: it is graded B (83/100). Read the Oura Ring safety report
How do I install Oura Ring?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Oura Ring need an API key?
Yes. The registry entry asks for OURA_CLIENT_SECRET.
Is Oura Ring maintained?
The last commit was 38 days ago (2026-09-27). The latest release is v0.1.0.
How does Oura Ring compare with other MCP servers?
safety score 83/100 (higher than 65% of 48,255 servers); tools 11 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.