yasuakiomokawa avatar

Oura Ring

yasuakiomokawa/oura-mcp

Connects Claude to the Oura Ring API v2 via OAuth, exposing sleep, activity, readiness, heart rate, and workout data as MCP tools. Ships with a configure wizard that walks you through browser auth and writes tokens to disk with proper permissions. Once installed, you get tools like oura_api_get for generic endpoint access with auto-pagination, oura_authenticate to refresh expired tokens, and oura_api_list_paths to discover available routes. Designed for querying your own ring data in chat workflows like weekly sleep reviews or recovery checks. The companion skill bundle includes per-endpoint references and workflow recipes if you want structured prompts.

GitHub stars
1
tools
40
auth
Secret needed
transport
STDIO
env vars
3
last updated
May 16, 2026

Tools

40 tools

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

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
callback_urlstring
data_typestring
one of tag · enhanced_tag · workout · session · sleep · daily_sleep
event_typestring
one of create · update · delete
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
callback_urlvalue
data_typevalue
event_typevalue
idstring
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
end_datetimevalue
next_tokenvalue
start_datetimevalue

Sponsors

Configuration

OURA_CLIENT_ID

Optional. Alternative to `npx oura-mcp configure`. Both OURA_CLIENT_ID and OURA_CLIENT_SECRET must be set together.

OURA_CLIENT_SECRETsecret

Optional. See OURA_CLIENT_ID.

OURA_CALLBACK_PORT

OAuth callback port (default 54321)

Readme

oura-mcp

CI npm License: MIT

A Model Context Protocol server for the Oura Ring API v2. Exposes sleep, activity, readiness, heart rate, and workout data to MCP-compatible clients (Claude Desktop, Claude Code, Cursor, ...) via OAuth.

Quick start

npx @yasuakiomokawa/oura-mcp configure

The wizard collects your Oura Client ID/Secret, walks through browser OAuth, saves tokens to ~/.config/oura-mcp/, and adds an mcpServers.oura entry to any detected MCP client config. Restart the client and the tools below are available.

Re-running configure pre-fills the saved Client ID / port so you only need to press Enter to keep them. Type --force to wipe saved state and start from scratch:

npx @yasuakiomokawa/oura-mcp configure --force

Prerequisites


View the full README on GitHub

Details

Repository
github.com/yasuakiomokawa/oura-mcp
Package
@yasuakiomokawa/oura-mcp
Transport
STDIO
Auth
Required
Registry
MCP registry, active