Mirobody
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
作者提供的说明(英文原文)
Privacy-first, unofficial Oura MCP server for AI health, sleep, activity and heart-rate agents.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
OURA_CLIENT_ID, OURA_CLIENT_SECRET, OURA_REDIRECT_URI, OURA_TOKEN_PATH, OURA_PRIVACY_MODE, OURA_CACHE, OURA_CACHE_PATH, OURA_NO_CACHE标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"ouramcp": {
"command": "npx",
"args": [
"-y",
"oura-mcp-unofficial"
],
"env": {
"OURA_CLIENT_ID": "your-value",
"OURA_CLIENT_SECRET": "your-value",
"OURA_REDIRECT_URI": "your-value",
"OURA_TOKEN_PATH": "your-value",
"OURA_PRIVACY_MODE": "your-value",
"OURA_CACHE": "your-value",
"OURA_CACHE_PATH": "your-value",
"OURA_NO_CACHE": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add ouramcp --env OURA_CLIENT_ID=your-value --env OURA_CLIENT_SECRET=your-value --env OURA_REDIRECT_URI=your-value --env OURA_TOKEN_PATH=your-value --env OURA_PRIVACY_MODE=your-value --env OURA_CACHE=your-value --env OURA_CACHE_PATH=your-value --env OURA_NO_CACHE=your-value -- npx -y oura-mcp-unofficial运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"ouramcp": {
"command": "npx",
"args": [
"-y",
"oura-mcp-unofficial"
],
"env": {
"OURA_CLIENT_ID": "your-value",
"OURA_CLIENT_SECRET": "your-value",
"OURA_REDIRECT_URI": "your-value",
"OURA_TOKEN_PATH": "your-value",
"OURA_PRIVACY_MODE": "your-value",
"OURA_CACHE": "your-value",
"OURA_CACHE_PATH": "your-value",
"OURA_NO_CACHE": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"ouramcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"oura-mcp-unofficial"
],
"env": {
"OURA_CLIENT_ID": "your-value",
"OURA_CLIENT_SECRET": "your-value",
"OURA_REDIRECT_URI": "your-value",
"OURA_TOKEN_PATH": "your-value",
"OURA_PRIVACY_MODE": "your-value",
"OURA_CACHE": "your-value",
"OURA_CACHE_PATH": "your-value",
"OURA_NO_CACHE": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
OURA_CLIENT_ID envOURA_REDIRECT_URI envOURA_TOKEN_PATH envOURA_PRIVACY_MODE envOURA_CACHE envOURA_CACHE_PATH envOURA_NO_CACHE env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 davidmosiah 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:OURA_CLIENT_SECRET
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.4.6)于5个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Mirobody, FHIR MCP Server, Langcare MCP FHIR
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
An MCP FHIR server written in Go for EMR systems like Epic and Cerner
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Upgrading to 0.8.0: read the migration guide for local-only HTTP, disabled authenticated-response caching, and stricter input/profile limits.
Oura MCP
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 .
⚡ 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.
Default is stdio. Optional Streamable HTTP — no session id, JSON responses, loopback only:
npx -y oura-mcp-unofficial --http
Env: OURA_MCP_HOST, OURA_MCP_PORT, OURA_MCP_TRANSPORT=http.
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.
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.
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 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.
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.
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.
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.
| Data | Available | Notes |
|---|---|---|
| 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 |
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 stateoura_connection_status — verify local setup before calling Ouraoura_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 todayoura_weekly_summary — scorecard, comparison vs prior week, next-week planAuth & diagnostics
oura_capabilities, oura_agent_manifest, oura_privacy_audit, oura_cache_statusoura_get_auth_url, oura_exchange_code, oura_revoke_accessProfile
oura_get_personal_infoDaily collections (cursor-paginated with next_token, after/before filters and privacy-mode override)
oura_list_daily_readiness, oura_list_daily_sleep, oura_list_daily_activity, oura_list_daily_spo2start_date and end_date parameters; invalid dates fail before a network request.next_token from the previous response; if truncated is true, raise limit or set all_pages. See docs/pagination.md.Detailed collections
oura_list_sleep, oura_list_workouts, oura_list_heartrate, oura_list_sessions, oura_list_tagsoura_daily_checkin — practical daily health and readiness check-inoura_weekly_review — review trends across activity, sleep and heart contextoura_heart_context_investigation — investigate heart-rate records (privacy-aware)oura://capabilities, oura://agent-manifestoura://personal-infooura://latest/readiness — the single newest readiness record. Use this for "my latest readiness": Oura serves collections oldest-first with no sort parameter, so oura_list_daily_readiness with limit: 1 returns the oldest record in the window, not the newest.oura://summary/daily, oura://summary/weekly~/.oura-mcp/tokens.json with 0600 permissions and are never returned by tools.OURA_PRIVACY_MODE defaults to structured. Raw Oura JSON is opt-in via raw mode or per-call override.personal scope.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
OURA_SCOPES="daily heartrate personal workout spo2" OURA_PRIVACY_MODE=structured # summary | structured | raw OURA_CACHE=sqlite # no effect: authenticated responses are never cached OURA_TOKEN_
只显示了开头部分;其余内容请在仓库中阅读