Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Read-only access to your Oura Ring readiness, sleep, activity, HRV, heart rate and trends.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"oura-ring": {
"command": "npx",
"args": [
"-y",
"@royreznik/oura-ring-mcp"
]
}
}
}ターミナルでこれを実行します
claude mcp add oura-ring -- npx -y @royreznik/oura-ring-mcpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"oura-ring": {
"command": "npx",
"args": [
"-y",
"@royreznik/oura-ring-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"oura-ring": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@royreznik/oura-ring-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント royreznik で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.0.0)がレジストリに届いたのは20 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, 御府和田玉 在售作品查询
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Live in-stock Hetian jade from Yufu, Shanghai: prices, monthly price guide, book a viewing.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Ask Claude, Cursor, VS Code or any MCP client about your Oura Ring readiness, sleep, HRV, activity, stress and heart rate, without giving it any way to change your data.
*"How did I sleep last night, and why is my readiness only 64?"*
*"Compare my HRV and lowest heart rate over the last 30 days."*
*"Show me last night's sleep stages and heart-rate curve."*
*"Does my readiness drop after days I tagged alcohol?"*
(Run the one-time auth step before or after installing.)
GET, refuses any URL outside /v2/usercollection/, never touches the webhook API, and every tool carries readOnlyHint: true. Tests fail the build otherwise.get_daily_overview returns a day's readiness, sleep, naps, activity, stress, resilience, SpO2, workouts and tags together. get_trends returns a day table plus averages and readiness zones over up to 90 days.raw: true for Oura's original objects.unavailable instead of failing.0600 token file, and safe handling of Oura's single-use refresh tokens. No third-party servers, no telemetry.OURA_SANDBOX=1 serves Oura's public sample data.You need Node.js 20.11+ and an Oura account. (Oura retired personal access tokens in December 2025, so OAuth is the only way in.)
http://localhost:8787/callback.Applications work for up to 10 users without Oura's approval, which is plenty for personal use.
npx -y @royreznik/oura-ring-mcp auth
Paste your Client ID and Client Secret when asked (the secret isn't echoed). Your browser opens Oura's consent page; leave every data type ticked and approve. Tokens are saved to ~/.config/oura-ring-mcp/tokens.json and refreshed automatically from then on.
(For scripts, set OURA_CLIENT_ID and OURA_CLIENT_SECRET instead of answering the prompts.)
Claude Code
As a plugin (adds the server plus an /oura:auth skill that walks you through connecting):
/plugin marketplace add royreznik/oura-ring-mcp
/plugin install oura@oura-ring-mcp
Or just the MCP server:
claude mcp add oura --scope user -- npx -y @royreznik/oura-ring-mcp
Claude Desktop, Cursor, Windsurf
Add to the client's MCP config (Claude Desktop: Settings → Developer → Edit Config; Cursor: ~/.cursor/mcp.json; Windsurf: ~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": { "oura": { "command": "npx", "args": ["-y", "@royreznik/oura-ring-mcp"] } } }
For Claude Desktop you can also install the .mcpb bundle from the latest release.
VS Code (GitHub Copilot)
.vscode/mcp.json (or your user mcp.json):
{
"servers": { "oura": { "type": "stdio", "command": "npx", "args": ["-y", "@royreznik/oura-ring-mcp"] } } }
</details>
OpenAI Codex CLI
~/.codex/config.toml:
[mcp_servers.oura]
command = "npx" args = ["-y", "@royreznik/oura-ring-mcp"]
</details>
Docker
Run auth on the host first, then mount the token directory:
docker build -t oura-ring-mcp https://github.com/royreznik/oura-ring-mcp.git
docker run -i --rm -v ~/.config/oura-ring-mcp:/home/node/.config/oura-ring-mcp oura-ring-mcp
</details>
Then ask: *"Give me my Oura overview for today."*
claude mcp add oura-sandbox --env OURA_SANDBOX=1 -- npx -y @royreznik/oura-ring-mcp
Sandbox mode serves Oura's public sample data. No auth step, no personal data.
| Tool | What it returns |
|---|---|
get_daily_overview | One day: readiness, sleep score and main sleep, naps, activity, stress, resilience, SpO2, cardiovascular age, VO2 max, bedtime guidance, workouts, sessions, tags (defaults to the latest scored day) |
get_trends | Day-by-day table plus avg/min/max for readiness, sleep and activity scores, sleep stages, HRV, lowest HR, temperature, steps, calories and stress, over 1-90 days |
get_profile | Age, height, weight, sex, email; ring model, size, color, firmware; battery level |
list_daily_readiness | Readiness scores, contributors, temperature deviation |
list_daily_sleep | Sleep scores and contributors |
list_sleep_periods / get_sleep_period | Nights and naps: stages, latency, efficiency, HR, HRV, breathing; one night's hypnogram and HR/HRV curves |
list_daily_activity | Activity score, steps, calories, activity minutes, sedentary time |
list_workouts | Activity, intensity, duration, calories, distance (filterable by activity) |
list_sessions | Meditation/breathing/relaxation sessions with mood, HR and HRV |
list_daily_health | Stress, resilience, SpO2 and breathing disturbance, cardiovascular age, VO2 max, bedtime window, joined by day |
list_tags | Tags and notes from the Oura app (alcohol, caffeine, sickness, custom...) |
list_rest_mode_periods | Rest Mode periods and their symptom tags |
get_heart_rate | Heart-rate time series aggregated to 5min/15min/hour/day (or raw), with per-source stats; up to 30 days per call |
List tools accept start / end (YYYY-MM-DD, inclusive), a days shortcut and next_token. See the [tool reference](docs/tools.md) for details.
| Variable | Default | Purpose |
|---|---|---|
OURA_CLIENT_ID | from token file | Your app's client ID (auth asks if unset) |
OURA_CLIENT_SECRET | from token file | Your app's client secret (auth asks, without echoing, if unset) |
OURA_REDIRECT_URI | http://localhost:8787/callback | Must exactly match a redirect URI registered on your app |
OURA_TOKEN_PATH | ~/.config/oura-ring-mcp/tokens.json | Where credentials are stored. Must be absolute (~/ is expanded). Honours XDG_CONFIG_HOME. |
OURA_SANDBOX | unset | 1 serves Oura's public sample data instead of your account |
oura-ring-mcp Start the MCP server on stdio (what your MCP client runs)
oura-ring-mcp auth Connect your Oura account (opens your browser) oura-ring-mcp status Check the stored connection oura-ring-mcp logout Delete the locally stored tokens oura-ring-mcp --version
"Today" is computed in your computer's timezone, which should match the timezone your Oura app uses.
api.ouraring.com (plus your browser visiting cloud.ouraring.com during auth). No telemetry, no intermediary server.0600). They are never logged or returned by tools.oura-ring-mcp logout. To revoke access completely, delete the application at cloud.ouraring.com/oauth/applications or revoke it in your Oura account.Details: PRIVACY.md, SECURITY.md.
state, captured by a loopback-only callback server.Retry-After), server errors, timeouts (30s) and network errors are retried with backoff. Cancelling a request in your client stops its Oura calls.| Symptom | Fix |
|---|---|
| Oura shows a redirect URI error | The app's redirect URI must match OURA_REDIRECT_URI exactly, including http://, port and /callback. |
Port 8787 is in use | Register another URI on your app (e.g. http://localhost:9876/callback) and run auth with OURA_REDIRECT_URI set to it. |
Not connected to Oura | Run auth. If your client runs as a different user or HOME, set OURA_TOKEN_PATH in the client config. |
Oura rejected the refresh token | Run auth again (app secret rotated, access revoked, or the token file was copied to another machine). |
A data type appears under unavailable (403) | It was unticked on Oura's consent page, or needs an active Oura membership. Run auth again and allow it. |
426 error | Update the Oura app on your phone and open it so it syncs. |
| Today's data is missing | Oura only has data after the ring syncs through the Oura app. Open the app, then ask again. |
npx -y @royreznik/oura-ring-mcp status
npm install
npm test # unit, MCP integration, end-to-end and packaging tests (no network) npm run smoke:sandbox # every tool against Oura's live sandbox API npm run smoke:live # every tool against your account (after auth); prints only counts npm run inspect # MCP Inspector
See CONTRIBUTING.md. The one hard rule: oura-ring-mcp stays read-only.
Architecture, auth and test approach are adapted from whoop-mcp by Oryan Omer (MIT).
MIT © Roy Reznik. Unofficial project, not affiliated with or endorsed by Oura Heal
冒頭だけを表示しています。続きはリポジトリで読めます