关于 Oura Mcp Unofficial
Oura Mcp Unofficial 是面向 MCP 兼容 AI Agent 的本地优先服务,可读取 Oura Ring 的准备度、睡眠、活动和 HRV 数据。它在本机处理 OAuth,并默认以结构化隐私模式隐藏原始数据。
主要功能
- 01读取每日准备度、睡眠与活动摘要
- 02查询 HRV、心率、SpO2 和锻炼数据
- 03本地处理 OAuth,令牌不离开设备
- 04提供演示数据、提示词与资源
- 05支持 stdio 和无状态 HTTP 传输
适用场景
- 01查看每日准备度与睡眠概况
- 02比较每周睡眠和活动趋势
- 03在连接账户前预览示例数据
MCP 相关
通过 MCP 向兼容客户端提供 Oura 数据查询工具、提示词和资源;默认使用 stdio,也可启用仅限 loopback 的无状态 Streamable HTTP。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
27收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| response_format | enum | 否 | markdown | json |
详细介绍
Oura MCP
让你的 AI Agent 获取 Oura 准备度、睡眠、活动和 HRV 数据,无需从 Oura 应用中复制粘贴。
本地优先的 MCP 服务 — 令牌绝不会离开你的设备。
⚡ 使用 Delx Wellness for Hermes 一条命令即可安装:
npx -y delx-wellness-hermes setup— 在专用 Hermes 配置中预先配置此连接器及另外 8 个连接器。也可以将其单独接入 Claude Desktop / Cursor / ChatGPT Desktop — 请参阅下方的安装部分。
HTTP(v2 无状态)
默认使用 stdio。可选的 Streamable HTTP — 无会话 ID,返回 JSON,仅限环回地址:
npx -y oura-mcp-unofficial --http
# GET http://127.0.0.1:3000/health
# POST http://127.0.0.1:3000/mcp (sessionless)
环境变量:OURA_MCP_HOST、OURA_MCP_PORT、OURA_MCP_TRANSPORT=http。
本地优先的 MCP 服务,可将 AI Agent 接入 Oura Ring 的准备度、睡眠、活动和 HRV 数据。
非官方项目。 与 Ōura Health Oy 无关联,也未获其认可或支持。Oura 是其各自所有者的商标。仅可将此项目用于你自己的 Oura 账户,并遵守 Oura Cloud API 条款。
由 David Mosiah 为使用 Claude、Cursor、Hermes、OpenClaw 或其他兼容 MCP 的 Agent 来分析准备度、睡眠和恢复情况的人打造,无需从 Oura 应用中复制粘贴数据。
这是 Delx Wellness 的一部分;Delx Wellness 是一个本地优先的健康类 MCP 连接器目录。
如果此连接器有助于你的 Agent 工作流,请为该仓库点个星。星标有助于其他 AI 构建者发现这个项目,也能支持 Delx 持续推出本地优先的健康基础设施。
为何打造此项目
Oura Ring 提供了一些最精细的个人健康信号,包括准备度评分、睡眠阶段、HRV、每日活动、SpO2 和体温趋势。但这些数据需要通过按范围授权的 OAuth API 获取,并分散在多个端点中(每日准备度、详细睡眠时段和心率数据流)。
此软件包会在本地处理 OAuth 授权流程,统一来自不同端点的响应,并通过 Model Context Protocol 提供 Oura 数据。令牌绝不会离开你的设备。隐私模式默认关闭原始负载访问,需选择启用。
60 秒内完成设置
你需要一个 Oura 应用(在此创建),并将重定向 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
推荐的权限范围:
daily heartrate personal workout spo2
然后将以下内容添加到你的 MCP 客户端配置中:
{
"mcpServers": {
"oura": {
"command": "npx",
"args": ["-y", "oura-mcp-unofficial"]
}
}
}
对于 Claude Desktop,运行 setup --client claude,系统会为你写入这段配置。
快速入门:连接前先查看数据
还没有 Oura 账户?调用 oura_demo,获取 readiness、sleep 和 daily-summary 工具的逼真示例负载,让你的 Agent 在进行任何 OAuth 设置之前了解数据约定。所有数值都是合成的,并标记为 is_demo: true。
Call oura_demo and show me what the readiness and sleep data looks like.
oura_demo 的真实输出(response_format=json,日期相对于今天):
{
"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."
]
}
准备好连接自己的戒指后,调用 oura_quickstart 获取个性化的 3 步设置指南,然后按照60 秒内完成设置操作。
与你的 Agent 一起试用
先问这三个问题:
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.
数据可用性
此软件包使用官方 Oura Cloud API v2。本文档中提到的 raw,指受支持端点返回的 Oura 上游 JSON,而非设备原始传感器数据流。
| 数据 | 可用 | 备注 |
|---|---|---|
| 每日 readiness 分数 + 贡献因素 | ✓ | 需要 daily 权限范围 |
| 每日睡眠分数 + 睡眠时段 | ✓ | 需要 daily 和/或 sleep 权限范围 |
| 睡眠阶段 + 时间信息 | ✓ | Oura 返回已评分的睡眠数据时可用 |
| 每日活动(步数、卡路里、MET) | ✓ | 需要 daily 权限范围 |
| 心率时间序列 | ✓ | 戒指/会员资格/权限范围允许时可用 |
| HRV(隔夜数据,通过每日摘要提供) | ✓ | 通过 readiness 贡献因素呈现 |
| SpO2(睡眠期间的每日平均值) | ✓ | 需要 spo2 权限范围;仅限支持的设备 |
| 锻炼 + 训练课程 + 标签 | ✓ | 需要 workout/session/tag 权限范围 |
| 个人信息(出生日期、性别、身高、体重) | ✓ | 需要 personal 权限范围 |
| 连续传感器遥测数据 | — | Oura Cloud API 未提供 |
工具
从这些工具开始:
oura_demo— 逼真的合成 readiness/睡眠/活动数据负载(无需账户;参见快速入门)oura_quickstart— 个性化的 3 步设置指南,会根据你当前的状态进行调整oura_connection_status— 在调用 Oura 前验证本地设置oura_data_inventory— 列出支持的数据域、权限范围、隐私模式和推荐的首次调用方式,不会调用 Oura API。oura_daily_summary— 今日 readiness、睡眠、活动和 SpO2 概览oura_weekly_summary— 评分卡、与前一周的比较,以及下周计划
身份验证与诊断
oura_capabilities、oura_agent_manifest、oura_privacy_audit、oura_cache_statusoura_get_auth_url、oura_exchange_code、oura_revoke_access
个人资料
oura_get_personal_info
每日数据集合(使用 next_token 游标分页,支持 after/before 筛选和隐私模式覆盖)
oura_list_daily_readiness、oura_list_daily_sleep、oura_list_daily_activity、oura_list_daily_spo2- 将带时区偏移的 ISO 输入映射到 Oura 的仅含日期的
start_date和end_date参数时,会保留其书写的日历日期;无效日期会在发起网络请求前报错。 - Oura v2 不支持整数页码。使用上一条响应中的
next_token继续;如果truncated为 true,请提高limit或设置all_pages。参见 docs/pagination.md。
详细数据集合
oura_list_sleep、oura_list_workouts、oura_list_heartrate、oura_list_sessions、oura_list_tags
提示词
oura_daily_checkin— 实用的每日健康与 readiness 检查oura_weekly_review— 回顾活动、睡眠和心脏数据的趋势oura_heart_context_investigation— 调查心率记录(注重隐私)
资源
oura://capabilities、oura://agent-manifestoura://personal-infooura://latest/readiness— 最新的一条 readiness 记录。查询“我最新的 readiness”时请使用此资源:Oura 按时间从旧到新返回集合,且没有排序参数,因此oura_list_daily_readiness配合limit: 1返回的是时间范围内最旧的记录,而不是最新记录。oura://summary/daily、oura://summary/weekly
隐私与安全
- OAuth 令牌存储在
~/.oura-mcp/tokens.json中,权限为0600,工具绝不会返回这些令牌。 - 服务绝不会打印访问令牌或刷新令牌。
OURA_PRIVACY_MODE默认值为structured。只有在raw模式或单次调用覆盖设置时,才会选择返回 Oura 原始 JSON。- 结构化模式会保留上游的生理字段(包括 Oura 后续新增的字段),同时移除 GPS 和包含机密的值。
- 只有用户授予
personalscope 后,才能访问个人信息(出生日期、性别、身高、体重)。 - MCP 客户端永远无法看到访问令牌或刷新令牌。
- 这不是医疗建议。该服务会提供用户授权的数据,用于个人 AI 工作流,而非诊断或治疗。
配置
setup 会将其中大部分内容写入 ~/.oura-mcp/config.json(权限为 0600)。支持手动覆盖环境变量:
OURA_CLIENT_ID=…
OURA_CLIENT_SECRET=…
OURA_REDIRECT_URI=http://127.0.0.1:3000/callback
# Optional
OURA_SCOPES="daily heartrate personal 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 / 远程设置
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
更改 Hermes 配置后,请使用 /reload-mcp 或 hermes mcp test oura。正常访问数据时无需重启网关。
如果浏览器 OAuth 必须在与 Hermes 不同的机器上完成,请在本地运行 auth,然后将 ~/.oura-mcp/tokens.json 复制到服务器,并执行 chmod 600。
要求
- Node.js 20+
- 在 https://cloud.ouraring.com/oauth/applications 创建 Oura 应用,并将重定向 URI 设置为
http://127.0.0.1:3000/callback
开发
git clone https://github.com/davidmosiah/oura-mcp.git
cd oura-mcp
npm install
npm test
npm run build
使用 MCP Inspector 进行测试:
npx @modelcontextprotocol/inspector node dist/index.js
链接
- npm:https://www.npmjs.com/package/oura-mcp-unofficial
- 文档站点:https://wellness.delx.ai/connectors/oura
- 旧版文档:https://ouramcp.vercel.app/
- GitHub:https://github.com/davidmosiah/oura-mcp
- Delx Wellness 注册表:https://github.com/davidmosiah/delx-wellness
- 连接器质量标准:https://github.com/davidmosiah/delx-wellness/blob/main/docs/connector-quality-standard.md
- Oura Cloud API 文档:https://cloud.ouraring.com/docs/authentication
另请参阅
完整的 Delx Wellness 连接器库:
| 提供商 | 软件包 | 仓库 |
|---|---|---|
| WHOOP | whoop-mcp-unofficial | whoop-mcp |
| Oura | oura-mcp-unofficial | oura-mcp |
| Garmin | garmin-mcp-unofficial | garminmcp |
| Strava | strava-mcp-unofficial | strava-mcp |
| Fitbit | fitbit-mcp-unofficial | fitbitmcp |
| Withings | withings-mcp-unofficial | withingsmcp |
| Apple Health | apple-health-mcp-unofficial | apple-health-mcp |
| Polar | polar-mcp-unofficial | polarmcp |
| Nourish(营养) | wellness-nourish | wellness-nourish |
Hermes 一键设置 — 预配置上述所有连接器,以及 wellness 技能和引导流程:delx-wellness-hermes。
📧 联系与支持
- 📨 [email protected] — 一般问题、集成帮助、合作事宜
- 🐛 错误报告 / 功能请求 — GitHub Issues
- 🐦 动态 — X 上的 @delx369
- 🌐 网站 — wellness.delx.ai
许可证
MIT — 详见 LICENSE。
免责声明
本软件按“现状”提供。它不是医疗设备,不提供医疗建议,也不应用于诊断或治疗。如有医疗方面的疑虑,请务必咨询合格的专业人士。
Skill 或 MCP
同一软件包,两种使用方式。MCP 通过 stdio/HTTP 注册工具。当客户端不支持 MCP 时,skill 可通过 CLI 调用同一批工具:
npx -y oura-mcp-unofficial call oura_connection_status --json '{}'
将 skill/SKILL.md 复制到你的 Agent skills 目录。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。