# Oura MCP

> Oura MCP connects your Oura Ring health data directly into any AI agent. You can ask questions about sleep scores, activity levels, readiness metrics, heart rate variability (HRV), and workout history using natural conversation. It turns complex biometric logs into simple, actionable insights for biohackers and athletes.

## Overview
- **Category:** data-analytics
- **Price:** Free
- **Tags:** wearable-tech, sleep-tracking, health-metrics, hrv, activity-monitoring

## Description

Connecting your Oura Ring to this MCP lets you analyze all your personal health data without logging into a separate app. You simply ask your AI agent questions—like 'How was my sleep last night?' or 'What's my recovery status today?' Your agent pulls the necessary metrics, such as deep/REM sleep cycles, daily step counts, and resting heart rate, and gives you a clear answer. This is huge for people who need to correlate their mood tags with their actual biometric performance. Instead of sifting through multiple dashboards, all this data lives together in one place on Vinkius, accessible by your preferred AI client.

Whether you’re an athlete monitoring recovery or just trying to understand why you feel tired, this MCP lets you get a full picture of how sleep impacts readiness and what specific workouts are hitting your targets. It's about getting the narrative out of the raw numbers.

## Tools

### get_activity
Pulls your daily step count, calorie burn, and activity goal completion status for a selected date range.

### get_heart_rate
Retrieves detailed heart rate samples and HRV readings; remember to use narrow date ranges because the data is high-frequency.

### get_readiness
Gets your daily readiness score, along with related body metrics like resting heart rate and temperature readings.

### get_sessions
Retrieves a comprehensive summary of scores, including sleep data, activity totals, and overall recovery indicators for a date range.

### get_sleep
Provides detailed logs on your night's sleep, covering total duration, deep/REM stages, efficiency, and wake times.

### get_tags
Accesses all manually entered data points you logged about mood, energy, or behaviors for a given time period.

### get_workouts
Lists both manual and auto-detected workouts, detailing the type of exercise and how long it lasted.

## Prompt Examples

**Prompt:** 
```
How did I sleep last night?
```

**Response:** 
```
Last night: Sleep score 85/100. Total: 7h 42m. Deep: 2h 10m, REM: 1h 45m, Light: 3h 15m, Awake: 32m. Efficiency: 92%. Onset: 15min. Restlessness: Low.
```

**Prompt:** 
```
What is my readiness score today?
```

**Response:** 
```
Today's readiness: 82/100 (Good). HRV: 65ms, Resting HR: 51 bpm, Body temp: 36.6°C. Sleep balance: 8h 5min. Activity balance: Well recovered. Previous day strain: 14.
```

**Prompt:** 
```
Show me my activity from yesterday.
```

**Response:** 
```
Yesterday's activity: Score 75/100. Steps: 8,450. Calories: 2,340 (active: 520). MET minutes: 145. Average HR: 72 bpm. Inactivity: 11h 20m. Daily goal: 85% achieved.
```

## Capabilities

### Summarizing Sleep Metrics
Retrieve detailed analysis on sleep scores, stages (deep, REM, light), efficiency, and how long it took you to fall asleep.

### Tracking Daily Activity Progress
Get metrics like steps taken, calories burned, MET minutes logged, and daily activity goal achievement percentages.

### Assessing Recovery Status
Monitor your readiness score alongside key physiological data points, including HRV, resting heart rate, and body temperature readings.

### Reviewing Workout History
Browse structured workout logs, detailing the activity type, duration, calories burned, and specific heart rate zones reached during exercise.

### Correlating Behavior Tags
Access user-entered tags for mood, energy levels, or substances to correlate with your sleep quality and readiness scores.

## Use Cases

### Diagnosing Performance Slumps
A user notices a dip in performance. Instead of guessing, they ask their agent to compare get_sleep logs from the week before and after the slump, cross-referencing it with any mood tags (get_tags) entered during that period.

### Optimizing Training Load
An athlete wants to know if they're overtraining. They ask their agent to fetch get_heart_rate data and compare the average resting heart rate against their historical baseline, guiding whether a rest day is necessary.

### Understanding Activity Goals
A user wants accountability for movement. They prompt the system to check get_activity data for the last 30 days, getting a clear breakdown of average steps and calories burned versus their set goals.

### Comparing Workout Types
Someone who tries different sports wants objective proof. They ask the agent to use get_workouts to pull data on both swimming and cycling sessions, allowing them to compare duration, calorie output, and average heart rate zones.

## Benefits

- You don't have to manually cross-reference data. By checking your readiness score using get_readiness, you immediately know if it’s safe to push hard or if recovery is needed.
- Get a holistic view of performance by calling get_sessions; this single tool pulls together sleep metrics, activity totals, and overall health indicators for easy comparison.
- Deep dive into your nocturnal habits. The get_sleep function breaks down exactly how long you spent in deep versus REM sleep, helping identify poor sleep patterns.
- Better pattern recognition comes from linking data. You can use get_tags to correlate a low readiness score with a specific mood entry or behavior logged that day.
- Workout analysis is simplified. Use get_workouts to review past exercises and track how your heart rate zones are changing over time.

## How It Works

The bottom line is that you talk to the data instead of navigating complex web interfaces.

1. Subscribe to this MCP on Vinkius and provide your Oura Personal Access Token.
2. Your AI client connects and authenticates the data stream from your wearable device.
3. You ask a question—for example, 'Compare my activity last week vs. this week'—and your agent processes the relevant metrics instantly.

## Frequently Asked Questions

**How do I use get_sleep with Oura MCP?**
You prompt your agent by asking a question about sleep cycles or efficiency for a specific date range. It will pull the data from get_sleep and summarize deep, REM, and light stages for you.

**Does Oura MCP track my heart rate in real time?**
No, it retrieves historical, high-frequency measurements using get_heart_rate. The data is sampled over specific intervals, so always use narrow date ranges when querying this tool.

**Can I correlate mood tags with my readiness score?**
Yes, you can ask the agent to cross-reference your get_tags entries (mood/energy) against your daily readiness data from get_readiness to spot behavioral patterns.

**Which tool should I use for total activity? Is it get_activity or get_sessions?**
If you want a comprehensive summary including sleep metrics and overall indicators, use get_sessions. If you only need the raw step count and calorie burn, use get_activity.

**Does Oura MCP handle workout data for different sports?**
Yes, it pulls workout data using get_workouts, which supports various types of logged or auto-detected activities, including duration, calories, and heart rate zones.