Analytics

Oura MCP Server

Connect your account, then chat with AI to run tools.

Let AI agents read Oura Ring readiness, sleep, activity, stress, and workout history so wellness coaches prep client check-ins without opening the Oura app for every date range.

Best forWellness CoachesCorporate WellnessHealth OperatorsPerformance Coaches

Try this workflow

Monday client prep

Summarize Harbor Wellness client Alex's Oura readiness, sleep score, and steps for the past seven days. Flag any readiness score below 70 and note sleep the night before.

Managed
26 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

What you can do with Oura

Built for

Wellness Coaches, Corporate Wellness Teams, Health Operators, Performance Coaches

Example workflows

Monday client prep

Combines the three daily scores coaches review before a check-in.

Try this

Summarize Harbor Wellness client Alex's Oura readiness, sleep score, and steps for the past seven days. Flag any readiness score below 70 and note sleep the night before.

Stress trend review

Pairs stress load with context labels for a richer follow-up.

Try this

Show daily stress for Bright Path member Jordan over the last fourteen days and highlight the three highest-stress days with any workouts or tags logged on those dates.

Weekly cohort rollup

Turns individual ring data into a group call roster.

Try this

For each of my Oura-connected clients this week, list average readiness, average sleep score, and total steps. Flag anyone with two or more readiness scores under 65.

Explain a readiness dip

Connects outliers to logged activity instead of guessing.

Try this

Pull workouts and tags for Northwind Wellness client Sam over the last ten days and match them to the two lowest readiness scores.

Context to know first

What is Oura MCP?

Oura MCP on MCPBundles lets your AI agent read a wearer's Oura Cloud history — readiness, sleep, activity, stress, workouts, and tags — after they connect their Oura account once.

Who is Oura MCP for?

Wellness coaches, corporate wellness leads, and performance operators who run recurring check-ins and need a fast summary instead of clicking through the Oura app for every client.

Can an AI agent compare sleep and readiness together?

Yes. Ask for a date range and the agent returns daily readiness, sleep score, and activity side by side so you can spot recovery dips before a call.

Related editorial

Oura Wellness Coaching Workflows with AI

How AI agents can read readiness, sleep, activity, stress, and workout history so wellness coaches prep client check-ins without opening the Oura app for every date range.

Read article

AI Skill
SKILL.md

Domain knowledge for Oura — workflow patterns, data models, and gotchas for your AI agent.

Oura Ring

Connect once with OAuth, then read the wearer's Oura Cloud data and optionally register webhook subscriptions on your HTTPS server.

Operational order

  1. Confirm the connection with the personal profile read (age, email, and profile fields when Oura exposes them).
  2. Morning check-in — daily readiness, daily sleep, and daily activity for a date window (start_date / end_date, YYYY-MM-DD).
  3. Deeper sleep — sleep period records when phase-level detail beats the daily sleep score.
  4. Heart rate — ISO start_datetime / end_datetime; keep windows to about one day; paginate with next_token.
  5. Context — workouts, wellness sessions, basic tags, and enhanced tags.
  6. Extended vitals — SpO2, stress, resilience, cardiovascular age, VO2 max when the ring and account support them.
  7. Device — ring configuration, battery samples, rest-mode periods, sleep timing recommendations.

Data model

  • Daily summaries — readiness, sleep score, activity (steps, calories); one row per calendar day (activity days start 4 a.m. local).
  • Sleep periods — granular nights with stages and heart rate during sleep.
  • Heart rate / battery — dense time series; narrow datetime bounds.
  • Tags & workouts — user labels and logged or auto-detected exercise.
  • Webhooks — push {event_type, data_type, object_id, user_id} to a callback you host; fetch full rows with normal reads after each event.

Date and pagination

  • Date lists use start_date / end_date (YYYY-MM-DD).
  • Time series use start_datetime / end_datetime (ISO-8601).
  • Pass next_token from the prior response to continue.

Webhooks (optional)

Registration needs a public HTTPS endpoint that answers Oura's GET verification (verification_token, challenge → JSON {"challenge": "…"}) and accepts POST events. Subscription management is app-scoped on Oura's side; data reads use the wearer's OAuth token. Subscriptions expire — renew before lapse. One subscription per (event_type, data_type) pair.

Gotchas

  • Read-only health rows — the API does not create sleep or activity; the ring and Oura app ingest data.
  • Empty date ranges — the wearer may have no history yet, or the ring has not synced; widen dates or ask them to sync the app.
  • Interbeat interval — research scope on the OAuth app; omit unless granted.
  • Webhook create — fails if the callback URL is unreachable or does not echo the challenge.

Tools in this Server (26)

Oura Create Webhook Subscription

Register a webhook: Oura will POST to your callback_url when matching data changes for users who authorized the MCPBundles Oura app. You must host cal...

Oura Delete Webhook Subscription

Delete an Oura webhook subscription by id. Stops push notifications for that (event_type, data_type) pair.

Oura Get Personal Info

Fetch the connected wearer's personal profile (age, weight, height, biological sex, email). Use this to confirm the Oura connection is working before ...

Oura Get Webhook Subscription

Fetch one Oura webhook subscription by UUID (from list or create). Returns callback_url, data_type, event_type, and expiration_time.

Oura List Daily Activity

List daily activity summaries (steps, calories, active time). Each row covers a 24-hour period starting at 4 a.m. local time. Optional start_date and ...

Oura List Daily Cardiovascular Age

List daily cardiovascular age estimates. Optional start_date and end_date (YYYY-MM-DD); pass next_token to paginate.

Oura List Daily Readiness

List daily readiness scores and contributing factors (sleep, activity, recovery). Optional start_date and end_date (YYYY-MM-DD) bound the window; pass...

Oura List Daily Resilience

List daily resilience scores and contributor breakdown. Optional start_date and end_date (YYYY-MM-DD); pass next_token to paginate.

Oura List Daily Sleep

List daily sleep summaries (score, duration, efficiency, stages). Optional start_date and end_date (YYYY-MM-DD) bound the window; pass next_token to f...

Oura List Daily Spo2

List nightly blood oxygen (SpO2) averages during sleep. Optional start_date and end_date (YYYY-MM-DD); pass next_token to paginate.

Oura List Daily Stress

List daily stress scores and recovery metrics. Optional start_date and end_date (YYYY-MM-DD); pass next_token to paginate.

Oura List Enhanced Tags

List enhanced tags (typed labels with optional duration). Distinct from basic tag list — use for structured tag types. Optional start_date and end_dat...

Oura List Heart Rate

Retrieve heart rate samples recorded throughout the day. Use start_datetime and end_datetime (ISO-8601) to bound the window — responses can be large, ...

Oura List Interbeat Interval

List interbeat interval (IBI) time series. Requires Oura research scope on the OAuth app — returns 401 without it. Use start_datetime/end_datetime (IS...

Oura List Rest Mode Periods

List rest-mode (do-not-disturb) periods. Optional start_date and end_date (YYYY-MM-DD); pass next_token to paginate.

Oura List Ring Battery Level

List ring battery level samples over time. Use start_datetime/end_datetime (ISO-8601); pass next_token to paginate.

Oura List Ring Configuration

List Oura ring hardware configuration documents (design, color, firmware). Optional start_date and end_date (YYYY-MM-DD); pass next_token to paginate.

Oura List Sessions

List guided or unguided wellness sessions (meditation, breathing, etc.). Optional start_date and end_date (YYYY-MM-DD) bound the window; pass next_tok...

Oura List Sleep Periods

List detailed sleep period records (phases, heart rate, movement). Optional start_date and end_date (YYYY-MM-DD) bound the window; pass next_token to ...

Oura List Sleep Time

List sleep timing recommendations and wind-down targets. Optional start_date and end_date (YYYY-MM-DD); pass next_token to paginate.

Oura List Tags

List user-applied tags on sleep or activity days. Optional start_date and end_date (YYYY-MM-DD) bound the window; pass next_token to fetch the next pa...

Oura List Vo2 Max

List VO2 max estimates over time. Optional start_date and end_date (YYYY-MM-DD); pass next_token to paginate.

Oura List Webhook Subscriptions

List webhook subscriptions registered on the MCPBundles Oura OAuth application. Shows callback URLs Oura will POST to when wearers sync new data. Subs...

Oura List Workouts

List auto-detected and manually logged workouts. Optional start_date and end_date (YYYY-MM-DD) bound the window; pass next_token to fetch the next pag...

Oura Renew Webhook Subscription

Extend expiration on an Oura webhook subscription before it lapses.

Oura Update Webhook Subscription

Update an existing webhook subscription (callback URL, event_type, data_type). verification_token is required on every update.

Frequently Asked Questions

What is Oura MCP?

Oura MCP on MCPBundles lets your AI agent read a wearer's Oura Cloud history — readiness, sleep, activity, stress, workouts, and tags — after they connect their Oura account once.

Who is Oura MCP for?

Wellness coaches, corporate wellness leads, and performance operators who run recurring check-ins and need a fast summary instead of clicking through the Oura app for every client.

Can an AI agent compare sleep and readiness together?

Yes. Ask for a date range and the agent returns daily readiness, sleep score, and activity side by side so you can spot recovery dips before a call.

Does each client connect their own Oura account?

Yes. Each wearer signs in with Oura on MCPBundles so the agent reads only their ring history — the same data they see in the Oura app.

What if a date range comes back empty?

The ring may not have synced yet, or the wearer has no history for those dates. Ask them to open the Oura app and sync, then widen the window.

How do I connect Oura to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/oura. Authentication is handled automatically.

How many tools does Oura provide?

Oura provides 26 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Oura require?

Oura uses One-click sign in. Oura requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Oura to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/oura

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to Oura and paste the MCP URL into Remote MCP server URL.
  4. Click Add. Oura will appear under Not connected — select it and click Connect to complete OAuth.
Name: Oura
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/oura
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use Oura?

Sign in to connect your credentials and start running tools from the chat.