Oura MCP Server avatar

Oura MCP Server

Pricing

from $10.00 / 1,000 results

Go to Apify Store
Oura MCP Server

Oura MCP Server

Oura MCP Server exposes your Oura Ring API v2 data through Model Context Protocol (MCP), so AI assistants can query sleep, activity, stress, heart rate, workouts, readiness, and more. What You Get - 15+ MCP tools covering sleep, recovery, activity, vitals, and device/profile data.

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

Unlimited Dots

Unlimited Dots

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

an hour ago

Last modified

Share

Oura MCP Server on Apify

Oura MCP Server exposes your Oura Ring API v2 data through Model Context Protocol (MCP), so AI assistants can query sleep, activity, stress, heart rate, workouts, readiness, and more.

This repository is configured to run as an Apify Actor and be consumed as an MCP server by AI tools that support MCP.

What You Get

  • 17 MCP tools covering sleep, recovery, activity, vitals, and device/profile data.
  • Apify Actor packaging for cloud deployment.
  • Input schema for secure Oura token entry.
  • Output schema and startup status output for observability.

Tool Coverage

Sleep and Recovery

ToolDescription
get_sleep_dataDetailed sleep sessions with stages, HR, HRV, and breathing rate
get_daily_sleepDaily sleep scores and contributors
get_sleep_timeRecommended and actual sleep timing windows
get_daily_readinessReadiness score with contributor breakdown
get_daily_resilienceRecovery capacity and stress tolerance indicators

Activity and Fitness

ToolDescription
get_daily_activitySteps, calories, MET levels, and activity time buckets
get_workoutsWorkout sessions with type, duration, calories, distance
get_sessionsGuided sessions with biometrics
get_vo2_maxVO2 max fitness estimates

Health Vitals

ToolDescription
get_heart_rateHeart rate time-series data (datetime range)
get_daily_spo2Daily blood oxygen saturation
get_daily_stressDaily stress and recovery summary
get_daily_cardiovascular_ageCardiovascular age estimate

User and Device

ToolDescription
get_personal_infoUser profile data
get_ring_configurationRing model, firmware, setup details
get_rest_modeRest mode periods
get_tagsUser-created tags and annotations

Note: date-based tools accept optional start_date and end_date in YYYY-MM-DD.

Run actor

Oura Auth Token Setup

This MCP server needs an Oura Personal Access Token to call the Oura API.

1. Create token in Oura Cloud

  1. Open https://cloud.ouraring.com/personal-access-tokens
  2. Sign in to your Oura account
  3. Create a new personal access token
  4. Copy the token value (you will use it in Apify input)

Where to set it in Apify:

  1. Open your actor in Apify Console
  2. Go to Input
  3. Fill the field named ouraApiToken
  4. Run the actor

Input example:

{
"ouraApiToken": "YOUR_OURA_PERSONAL_ACCESS_TOKEN"
}

The actor entrypoint reads this value and maps it to OURA_API_TOKEN internally.

Token troubleshooting

  • 401 Unauthorized usually means token is invalid, expired, or copied with extra spaces.
  • Confirm you are using a Personal Access Token (not another API credential type).
  • Regenerate the token in Oura Cloud and update the actor input if needed.

Oura API Rate Limits

Oura Cloud API applies request rate limits per token. If you hit the limit, Oura returns HTTP 429 (Too Many Requests).

What this means for MCP usage:

  • Repeated broad date-range queries can trigger limits faster.
  • Some tools paginate results, which can make multiple API calls in one request.
  • During spikes, requests may temporarily fail until the limit window resets.

Recommended practices:

  • Query smaller date ranges first, then expand only if needed.
  • Avoid firing many similar prompts in parallel.
  • Cache or reuse recent results in your AI workflow when possible.
  • On 429 errors, retry with backoff (for example 5 to 30 seconds), then try again.

If your platform exposes response headers, monitor Oura rate-limit headers to track remaining quota and reset timing.

In actor input, set:

  • ouraApiToken: your Oura personal access token

At startup, the actor writes status output to:

  • default dataset (a startup status item)
  • key-value store key OUTPUT

Connect to AI Tools Through MCP

Different products expose MCP setup differently, but the pattern is the same:

  1. Create and run this actor on Apify.
  2. In Apify, open the actor MCP integration details.
  3. Copy the MCP connection URL and any required auth token.
  4. Add that MCP server in your AI tool MCP settings.

Example MCP Config Templates

Use these as templates. Product UIs and accepted keys can change, but the core values are the same:

  • MCP server URL from Apify
  • Bearer token or API key for that MCP endpoint

Replace placeholders:

Claude

{
"mcpServers": {
"oura-apify": {
"transport": "streamable-http",
"url": "https://your-apify-mcp-url",
"headers": {
"Authorization": "Bearer YOUR_MCP_BEARER_TOKEN"
}
}
}
}

ChatGPT

{
"mcp_servers": [
{
"name": "oura-apify",
"url": "https://your-apify-mcp-url",
"authorization": {
"type": "bearer",
"token": "YOUR_MCP_BEARER_TOKEN"
}
}
]
}

Gemini

mcpServers:
- id: oura-apify
transport: streamable-http
endpoint: https://your-apify-mcp-url
headers:
Authorization: Bearer YOUR_MCP_BEARER_TOKEN

Perplexity

{
"integrations": {
"mcp": [
{
"label": "oura-apify",
"server_url": "https://your-apify-mcp-url",
"auth_header": "Authorization",
"auth_value": "Bearer YOUR_MCP_BEARER_TOKEN"
}
]
}
}

If your AI tool only supports UI setup, use the same values in the form fields:

  • Name: oura-apify
  • Transport: streamable-http (or HTTP MCP)
  • URL/Endpoint: your Apify MCP URL
  • Header: Authorization = Bearer YOUR_MCP_BEARER_TOKEN

Claude

Use Claude's MCP server settings to add the Apify MCP endpoint, then allow tool calls from this server.

Example prompts:

  • Analyze my last 7 days of sleep quality and explain the biggest factors.
  • Compare my daily stress and readiness trends for the past 14 days.
  • Summarize workouts this month and flag days with low recovery.

ChatGPT

In ChatGPT environments that support MCP or external tool connectors, add the Apify MCP server endpoint and authorize it.

alt text

Example prompts:

  • Build a weekly recovery report from my Oura data.
  • Find correlations between bedtime timing and readiness score.
  • Give me a concise morning briefing from yesterday's Oura metrics.

Gemini

For Gemini workflows that support MCP via integrations or agent tooling, register the Apify MCP endpoint as an external tool server.

Example prompts:

  • Identify patterns in my sleep stages over the last 30 days.
  • Show whether my resting heart metrics improve after rest days.
  • Recommend a low-intensity training week using my readiness and stress data.

Perplexity

For Perplexity environments with MCP/tool integrations, add the Apify MCP server and enable tool invocation.

alt text

Example prompts:

  • Pull my recent Oura data and produce a plain-language health trend summary.
  • Highlight unusual stress spikes and what changed around those dates.
  • Compare weekly activity volume and sleep efficiency.

Example Query Patterns

Sleep deep dive

Prompt:

"Use get_sleep_data and get_daily_sleep for the last 14 days. Give me trends, outliers, and three actionable changes."

Recovery-aware training

Prompt:

"Use get_daily_readiness, get_daily_stress, and get_workouts from the last 21 days. Build a simple training-intensity plan for next week."

Stress and lifestyle notes

Prompt:

"Use get_daily_stress and get_tags for this month. Explain which tagged behaviors seem linked to higher stress or better recovery."

Notes

  • This project provides data access and summarization support, not medical diagnosis.
  • Oura API limits, availability, and account permissions apply.