Labsco
MCP SERVER

Oura MCP Server

by mitchhankins01

Ask questions about your own Oura Ring data — sleep, readiness, HRV, activity — and get an answer rather than raw JSON.

Health, Fitness & WearablesVerified
Summary
It answers health questions about your own data instead of handing back the API's JSON.

The statistics are what set it apart from a thin API wrapper: correlations come back with a p-value and sample size, comparisons with percentage change, anomalies flagged by IQR and Z-score. Start with the Personal Access Token — one variable, no callback URL — and move to OAuth only when you want tokens refreshed automatically.

What it is

An MCP server over the Oura API that formats what it fetches and adds statistics on top: correlations, anomaly detection, period comparisons and trend analysis.

What you get
  • Sleep from two angles: the detailed record with stages, efficiency, heart rate and HRV, and the daily score with the contributors that produced it
  • Readiness and recovery, daily activity with intensity breakdown, workouts, and meditation or breathing sessions with the biometrics recorded during them
  • The health metrics around them: heart-rate time series with source labels, stress and recovery time, SpO2 with breathing disturbance, VO2 max, resilience and cardiovascular age
  • Your logged tags — caffeine, alcohol, sleep aids, medications, custom notes — plain, or enhanced with timestamps and durations
  • Anomaly detection over sleep, HRV, heart rate and activity, flagging outliers by IQR and Z-score
  • Sleep-quality analysis with trends, day-of-week patterns, sleep debt, a regularity score and your best and worst nights
  • correlate_metrics between any two metrics, returning correlation strength, direction and statistical significance
  • Comparisons: two periods side by side with percentage change, or one metric split by condition — workout days against rest days, high-activity days, meditation days, or any tag
  • Wear adherence: daily non-wear time, the gaps it leaves in the data, and an adherence percentage
  • Oura's own bedtime window, rest-mode periods, ring hardware and firmware, and your profile
  • Ready-made resources for the routine questions — oura://today, oura://weekly-summary, oura://baseline, oura://monthly-insights, oura://tag-summary — plus prompts for a weekly review, sleep optimisation and a recovery check
Requirements

An Oura account and Node >=18. Two ways to authorize: a Personal Access Token from cloud.ouraring.com in OURA_ACCESS_TOKEN, or the OAuth route — set OURA_CLIENT_ID and OURA_CLIENT_SECRET, run npx oura-ring-mcp auth, and the credentials are written to ~/.oura-mcp/credentials.json. It runs over stdio via npx oura-ring-mcp; the repository also documents a hosted HTTP deployment where each user authorizes with Oura directly.

Setup effort

One command plus a key — npm install -g oura-ring-mcp, then supply credentials