CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Ouramcp

davidmosiah/oura-mcp
40 toolsauthSTDIOregistry active
Summary

A privacy-first connector that wires Oura Ring data into Claude and other MCP clients without sending tokens anywhere. It handles OAuth locally, then exposes daily readiness scores, sleep stages, HRV balance, activity summaries, heart rate streams, and SpO2 readings through a handful of focused tools. The demo mode returns synthetic payloads so you can prototype agent prompts before connecting real hardware. Setup is three commands: paste your Oura app credentials, complete the OAuth flow in a browser, verify with the doctor script. Useful when you want an AI agent to reason about recovery windows or sleep debt from live biometric signals instead of manual data entry.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

40 tools
personal_info.listSingle Personal Info Document

Single Personal Info Document

No parameter schema in public metadata yet.

tag.listMultiple Tag Documents3 params

Multiple Tag Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
enhanced_tag.listMultiple Enhanced Tag Documents3 params

Multiple Enhanced Tag Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
workout.listMultiple Workout Documents3 params

Multiple Workout Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
session.listMultiple Session Documents3 params

Multiple Session Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
daily_activity.listMultiple Daily Activity Documents3 params

Multiple Daily Activity Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
daily_sleep.listMultiple Daily Sleep Documents3 params

Multiple Daily Sleep Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
daily_spo2.listMultiple Daily Spo2 Documents3 params

Multiple Daily Spo2 Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
daily_readiness.listMultiple Daily Readiness Documents3 params

Multiple Daily Readiness Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
sleep.listMultiple Sleep Documents3 params

Multiple Sleep Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
sleep_time.listMultiple Sleep Time Documents3 params

Multiple Sleep Time Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
rest_mode_period.listMultiple Rest Mode Period Documents3 params

Multiple Rest Mode Period Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
ring_configuration.listMultiple Ring Configuration Documents1 params

Multiple Ring Configuration Documents

Parameters* required
next_tokenvalue
daily_stress.listMultiple Daily Stress Documents3 params

Multiple Daily Stress Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
daily_resilience.listMultiple Daily Resilience Documents3 params

Multiple Daily Resilience Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
daily_cardiovascular_age.listMultiple Daily Cardiovascular Age Documents3 params

Multiple Daily Cardiovascular Age Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
v_o2_max.listMultiple Vo2 Max Documents3 params

Multiple Vo2 Max Documents

Parameters* required
end_datevalue
next_tokenvalue
start_datevalue
tag.getSingle Tag Document1 params

Single Tag Document

Parameters* required
document_idstring
enhanced_tag.getSingle Enhanced Tag Document1 params

Single Enhanced Tag Document

Parameters* required
document_idstring
workout.getSingle Workout Document1 params

Single Workout Document

Parameters* required
document_idstring
session.getSingle Session Document1 params

Single Session Document

Parameters* required
document_idstring
daily_activity.getSingle Daily Activity Document1 params

Single Daily Activity Document

Parameters* required
document_idstring
daily_sleep.getSingle Daily Sleep Document1 params

Single Daily Sleep Document

Parameters* required
document_idstring
daily_spo2.getSingle Daily Spo2 Document1 params

Single Daily Spo2 Document

Parameters* required
document_idstring
daily_readiness.getSingle Daily Readiness Document1 params

Single Daily Readiness Document

Parameters* required
document_idstring
sleep.getSingle Sleep Document1 params

Single Sleep Document

Parameters* required
document_idstring
sleep_time.getSingle Sleep Time Document1 params

Single Sleep Time Document

Parameters* required
document_idstring
rest_mode_period.getSingle Rest Mode Period Document1 params

Single Rest Mode Period Document

Parameters* required
document_idstring
ring_configuration.getSingle Ring Configuration Document1 params

Single Ring Configuration Document

Parameters* required
document_idstring
daily_stress.getSingle Daily Stress Document1 params

Single Daily Stress Document

Parameters* required
document_idstring
daily_resilience.getSingle Daily Resilience Document1 params

Single Daily Resilience Document

Parameters* required
document_idstring
daily_cardiovascular_age.getSingle Daily Cardiovascular Age Document1 params

Single Daily Cardiovascular Age Document

Parameters* required
document_idstring
v_o2_max.getSingle Vo2 Max Document1 params

Single Vo2 Max Document

Parameters* required
document_idstring
webhook.subscription.listList Webhook Subscriptions

List Webhook Subscriptions

No parameter schema in public metadata yet.

webhook.subscription.createCreate Webhook Subscription4 params

Create Webhook Subscription

Parameters* required
data_typestring
one of tag · enhanced_tag · workout · session · sleep · daily_sleep
event_typestring
one of create · update · delete
callback_urlstring
verification_tokenstring
webhook.subscription.getGet Webhook Subscription1 params

Get Webhook Subscription

Parameters* required
idstring
webhook.subscription.updateUpdate Webhook Subscription5 params

Update Webhook Subscription

Parameters* required
idstring
data_typevalue
event_typevalue
callback_urlvalue
verification_tokenstring
webhook.subscription.deleteDelete Webhook Subscription1 params

Delete Webhook Subscription

Parameters* required
idstring
webhook.subscription.renew.updateRenew Webhook Subscription1 params

Renew Webhook Subscription

Parameters* required
idstring
heartrate.listMultiple Heart Rate Documents3 params

Multiple Heart Rate Documents

Parameters* required
next_tokenvalue
end_datetimevalue
start_datetimevalue

Oura MCP

Oura MCP — Oura MCP for AI agents

Give your AI agent your Oura readiness, sleep, activity and HRV — without copy-pasting from the Oura app.
Local-first MCP server — tokens never leave your machine.

npm version npm downloads License MIT Site

GitHub stars Built for MCP Hermes one-command setup Oura

⚡ One-command install with Delx Wellness for Hermes: npx -y delx-wellness-hermes setup — preconfigures this connector and the other 8 in a dedicated Hermes profile.

Or wire it standalone into Claude Desktop / Cursor / ChatGPT Desktop — see the install section below.


Local-first MCP server that connects AI agents to your Oura Ring readiness, sleep, activity and HRV data.

Unofficial project. Not affiliated with, endorsed by or supported by Ōura Health Oy. Oura is a trademark of its respective owner. Use this only with your own Oura account and in line with the Oura Cloud API terms.

Built by David Mosiah for people who use Claude, Cursor, Hermes, OpenClaw or other MCP-compatible agents to think about readiness, sleep and recovery — without copy-pasting numbers from the Oura app.

Part of Delx Wellness, a registry of local-first wellness MCP connectors.

If this connector helps your agent workflow, please star the repo. Stars make the project easier for other AI builders to discover and help Delx keep shipping local-first wellness infrastructure.

Why this exists

Oura Ring produces some of the most refined personal health signals — readiness scores, sleep stages, HRV, daily activity, SpO2, body temperature trends. But it lives behind an OAuth API with per-scope authorization, and the data is split across multiple endpoints (daily readiness vs. detailed sleep periods vs. heart-rate streams).

This package handles the OAuth dance locally, normalizes responses across endpoints, and exposes Oura through the Model Context Protocol. Tokens never leave your machine. Privacy-mode defaults keep raw payloads opt-in.

Setup in 60 seconds

You'll need an Oura app (create one here) with redirect URI http://127.0.0.1:3000/callback.

npx -y oura-mcp-unofficial setup    # interactive: paste client id + secret
npx -y oura-mcp-unofficial auth     # opens browser, captures the OAuth code
npx -y oura-mcp-unofficial doctor   # verifies you're ready

Recommended scopes:

daily heartrate personal sleep workout spo2

Then add this to your MCP client config:

{
  "mcpServers": {
    "oura": {
      "command": "npx",
      "args": ["-y", "oura-mcp-unofficial"]
    }
  }
}

For Claude Desktop, run setup --client claude and the snippet is written for you.

Quickstart: see the data before you connect

No Oura account yet? Call oura_demo to get realistic example payloads for the readiness, sleep and daily-summary tools, so your agent learns the data contract before any OAuth setup. All values are synthetic and tagged is_demo: true.

Call oura_demo and show me what the readiness and sleep data looks like.

Real output from oura_demo (response_format=json, dates are relative to today):

{
  "ok": true,
  "is_demo": true,
  "sample": {
    "oura_daily_summary": {
      "date": "2026-05-29",
      "readiness": { "score": 78, "temperature_deviation": -0.1, "hrv_balance": 84 },
      "sleep": { "score": 82, "efficiency": 89, "duration_min": 451, "deep_min": 92, "rem_min": 108 },
      "activity": { "score": 86, "steps": 9420, "active_calories": 412, "target_calories": 500 },
      "spo2": { "average": 96.8 }
    },
    "oura_wellness_context": {
      "window": "last_24h",
      "readiness_score": 78,
      "readiness_band": "good",
      "sleep_score": 82,
      "sleep_efficiency": 89,
      "hrv_balance": 84,
      "recommendation": "Solid readiness and efficient sleep — green light for moderate-to-high intensity. A protein-forward breakfast keeps HRV trending up."
    },
    "oura_list_daily_readiness": {
      "count": 3,
      "records": [
        { "day": "2026-05-29", "score": 78, "contributors": { "hrv_balance": 84, "resting_heart_rate": 71, "sleep_balance": 76 } },
        { "day": "2026-05-28", "score": 74, "contributors": { "hrv_balance": 79, "resting_heart_rate": 73, "sleep_balance": 72 } },
        { "day": "2026-05-27", "score": 69, "contributors": { "hrv_balance": 68, "resting_heart_rate": 80, "sleep_balance": 65 } }
      ]
    }
  },
  "notes": [
    "All sample data is synthetic; tagged with is_demo=true.",
    "Real calls return live data from the Oura Cloud v2 API after OAuth setup."
  ]
}

When you're ready to connect your own ring, call oura_quickstart for a personalized 3-step setup walkthrough, then follow Setup in 60 seconds.

Try it with your agent

Three things to ask first:

Use oura_connection_status to check setup, then run oura_daily_summary.
Give me a 5-line operating brief for today.
Call oura_weekly_summary with response_format=json. Identify my biggest
readiness/sleep bottleneck and give me a next-week plan.
Use the oura_daily_checkin prompt, focus=sleep.
Don't claim Oura can prove anything it can't.

Data availability

This package uses the official Oura Cloud API v2. When this README says raw, it means the upstream Oura JSON for a supported endpoint — not raw device sensor streams.

DataAvailableNotes
Daily readiness score + contributors✓Requires daily scope
Daily sleep score + sleep periods✓Requires daily and/or sleep scope
Sleep stages + timing✓When Oura returns scored sleep
Daily activity (steps, calories, MET)✓Requires daily scope
Heart-rate time series✓When ring/membership/scope expose it
HRV (overnight, via daily summaries)✓Surfaced through readiness contributors
SpO2 (daily averages during sleep)✓Requires spo2 scope; supported devices
Workouts + sessions + tags✓Requires workout/session/tag scopes
Personal info (DOB, sex, height, weight)✓Requires personal scope
Continuous sensor telemetry—Not exposed by Oura Cloud API

Tools

Start with these:

  • oura_demo — realistic synthetic readiness/sleep/activity payloads (no account needed; see Quickstart)
  • oura_quickstart — personalized 3-step setup walkthrough that adapts to your current state
  • oura_connection_status — verify local setup before calling Oura
  • oura_data_inventory — inventory supported data domains, scopes, privacy modes and recommended first calls without calling Oura APIs.
  • oura_daily_summary — readiness, sleep, activity and SpO2 brief for today
  • oura_weekly_summary — scorecard, comparison vs prior week, next-week plan

Auth & diagnostics

  • oura_capabilities, oura_agent_manifest, oura_privacy_audit, oura_cache_status
  • oura_get_auth_url, oura_exchange_code, oura_revoke_access

Profile

  • oura_get_personal_info

Daily collections (paginated, with after/before filters and privacy-mode override)

  • oura_list_daily_readiness, oura_list_daily_sleep, oura_list_daily_activity, oura_list_daily_spo2

Detailed collections

  • oura_list_sleep, oura_list_workouts, oura_list_heartrate, oura_list_sessions, oura_list_tags

Prompts

  • oura_daily_checkin — practical daily health and readiness check-in
  • oura_weekly_review — review trends across activity, sleep and heart context
  • oura_heart_context_investigation — investigate heart-rate records (privacy-aware)

Resources

  • oura://capabilities, oura://agent-manifest
  • oura://personal-info
  • oura://latest/readiness
  • oura://summary/daily, oura://summary/weekly

Privacy & security

  • OAuth tokens are stored in ~/.oura-mcp/tokens.json with 0600 permissions and are never returned by tools.
  • The server never prints access or refresh tokens.
  • OURA_PRIVACY_MODE defaults to structured. Raw Oura JSON is opt-in via raw mode or per-call override.
  • Personal info (DOB, sex, height, weight) is only accessible when the user grants the personal scope.
  • The MCP client never sees access or refresh tokens.
  • This is not medical advice. The server exposes user-authorized data for personal AI workflows, not diagnosis or treatment.

Configuration

setup writes most of these into ~/.oura-mcp/config.json (0600). Manual env override is supported:

OURA_CLIENT_ID=…
OURA_CLIENT_SECRET=…
OURA_REDIRECT_URI=http://127.0.0.1:3000/callback

# Optional
OURA_SCOPES="daily heartrate personal sleep workout spo2"
OURA_PRIVACY_MODE=structured        # summary | structured | raw
OURA_CACHE=sqlite                   # optional read-through cache
OURA_TOKEN_PATH=~/.oura-mcp/tokens.json
OURA_CACHE_PATH=~/.oura-mcp/cache.sqlite

Hermes / remote setup

npx -y oura-mcp-unofficial setup --client hermes --no-auth
npx -y oura-mcp-unofficial auth                      # run locally if browser auth is needed
npx -y oura-mcp-unofficial doctor --client hermes
hermes mcp test oura

After Hermes config changes, use /reload-mcp or hermes mcp test oura. Don't restart the gateway for normal data access.

If browser OAuth has to happen on a different machine than Hermes, run auth locally and copy ~/.oura-mcp/tokens.json to the server with chmod 600.

Requirements

  • Node.js 20+
  • An Oura app at https://cloud.ouraring.com/oauth/applications with redirect URI http://127.0.0.1:3000/callback

Development

git clone https://github.com/davidmosiah/oura-mcp.git
cd oura-mcp
npm install
npm test
npm run build

Test with MCP Inspector:

npx @modelcontextprotocol/inspector node dist/index.js

Links

  • npm: https://www.npmjs.com/package/oura-mcp-unofficial
  • Docs site: https://wellness.delx.ai/connectors/oura
  • Legacy docs: https://ouramcp.vercel.app/
  • GitHub: https://github.com/davidmosiah/oura-mcp
  • Delx Wellness registry: https://github.com/davidmosiah/delx-wellness
  • Connector quality standard: https://github.com/davidmosiah/delx-wellness/blob/main/docs/connector-quality-standard.md
  • Oura Cloud API docs: https://cloud.ouraring.com/docs/authentication

See also

The full Delx Wellness connector library:

ProviderPackageRepo
WHOOPwhoop-mcp-unofficialwhoop-mcp
Ouraoura-mcp-unofficialoura-mcp
Garmingarmin-mcp-unofficialgarminmcp
Stravastrava-mcp-unofficialstrava-mcp
Fitbitfitbit-mcp-unofficialfitbitmcp
Withingswithings-mcp-unofficialwithingsmcp
Apple Healthapple-health-mcp-unofficialapple-health-mcp
Polarpolar-mcp-unofficialpolarmcp
Nourish (nutrition)wellness-nourishwellness-nourish

One-command setup for Hermes — preconfigures every connector above plus wellness skills + onboarding: delx-wellness-hermes.

📧 Contact & Support

  • 📨 support@delx.ai — general questions, integration help, partnerships
  • 🐛 Bug reports / feature requests — GitHub Issues
  • 🐦 Updates — @delx369 on X
  • 🌐 Site — wellness.delx.ai

License

MIT — see LICENSE.

Disclaimer

This software is provided as-is. It is not a medical device, does not provide medical advice, and should not be used for diagnosis or treatment. Always consult qualified professionals for medical concerns.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

OURA_CLIENT_ID

Oura OAuth client ID. Optional when configured with oura-mcp-server setup.

OURA_CLIENT_SECRETsecret

Oura OAuth client secret. Prefer oura-mcp-server setup so this secret is stored in ~/.oura-mcp/config.json instead of MCP client config.

OURA_REDIRECT_URI

Redirect URI configured in the Oura Developer Dashboard. Optional when configured with oura-mcp-server setup.

OURA_TOKEN_PATH

Optional local path for OAuth tokens. Defaults to ~/.oura-mcp/tokens.json.

OURA_PRIVACY_MODE

Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Oura API payloads, not continuous 24/7 raw sensor telemetry.

OURA_CACHE

Optional SQLite cache toggle. Set to true or sqlite to enable.

OURA_CACHE_PATH

Optional local SQLite cache path. Defaults to ~/.oura-mcp/cache.sqlite.

OURA_NO_CACHE

Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.

Registryactive
Packageoura-mcp-unofficial
TransportSTDIO
AuthRequired
UpdatedMay 29, 2026
View on GitHub