mcpField
O
ouramcp

ouramcp

本地服务
wellness.delx.ai健康医疗53 周前更新

关于 ouramcp

ouramcp 是面向 Oura 用户 AI 健康工作流的非官方本地优先 MCP 服务,可提供准备度、睡眠、活动及心率等数据,并将令牌保留在本机,默认不开放原始负载。

主要功能

  1. 01准备度、睡眠、活动和 HRV 数据
  2. 02每日与每周摘要
  3. 03本地 OAuth 设置与诊断
  4. 04隐私模式及可选原始数据
  5. 05无需账户的合成演示数据

适用场景

  1. 01查看每日准备度、睡眠和活动
  2. 02比较每周恢复与睡眠趋势
  3. 03查询 Oura 前检查连接状态

MCP 相关

它通过 MCP 工具、提示词和资源提供 Oura 数据,默认使用 stdio,也可选择仅限回环地址的 Streamable HTTP。MCP 客户端不会收到 OAuth 令牌。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"davidmosiah-ouramcp": {
"command": "npx",
"args": [
"-y",
"oura-mcp-unofficial"
],
"env": {
"OURA_CLIENT_ID": "<OURA_CLIENT_ID>",
"OURA_CLIENT_SECRET": "<OURA_CLIENT_SECRET>",
"OURA_REDIRECT_URI": "<OURA_REDIRECT_URI>",
"OURA_TOKEN_PATH": "<OURA_TOKEN_PATH>",
"OURA_PRIVACY_MODE": "<OURA_PRIVACY_MODE>",
"OURA_CACHE": "<OURA_CACHE>",
"OURA_CACHE_PATH": "<OURA_CACHE_PATH>",
"OURA_NO_CACHE": "<OURA_NO_CACHE>"
}
}
}
}
启动命令npx -y oura-mcp-unofficial
需要配置的环境变量
OURA_CLIENT_IDOura OAuth client ID. Optional when configured with oura-mcp-server setup.
OURA_CLIENT_SECRET密钥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_URIRedirect 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_MODEOptional payload mode: summary, structured, or raw. Defaults to structured. raw means full Oura API payloads, not continuous 24/7 raw sensor telemetry.
OURA_CACHEOptional SQLite cache toggle. Set to true or sqlite to enable.
OURA_CACHE_PATHOptional local SQLite cache path. Defaults to ~/.oura-mcp/cache.sqlite.
OURA_NO_CACHESet 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.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmoura-mcp-unofficial0.4.6

工具

27

收录的工具列表 · 更新于 2 周前

参数类型必填说明
response_formatenum否markdown | json

详细介绍

Oura MCP

Oura MCP — 面向 AI Agent 的 Oura MCP
让你的 AI Agent 获取 Oura 准备度、睡眠、活动和 HRV 数据,无需从 Oura 应用中复制粘贴。
本地优先的 MCP 服务 — 令牌绝不会离开你的设备。

npm 版本 npm 下载量 MIT 许可证 网站

GitHub 星标数 专为 MCP 构建 Hermes 一键设置 Oura

⚡ 使用 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_status
  • oura_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-manifest
  • oura://personal-info
  • oura://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 和包含机密的值。
  • 只有用户授予 personal scope 后,才能访问个人信息(出生日期、性别、身高、体重)。
  • 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。

要求

开发

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

链接

另请参阅

完整的 Delx Wellness 连接器库:

提供商软件包仓库
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(营养)wellness-nourishwellness-nourish

Hermes 一键设置 — 预配置上述所有连接器,以及 wellness 技能和引导流程:delx-wellness-hermes。

📧 联系与支持

许可证

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 目录。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。