{"_id":"@daveremy/oura-mcp","_rev":"5-2c864748457fedd81fc05c4c90f8f490","name":"@daveremy/oura-mcp","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.1":{"name":"@daveremy/oura-mcp","version":"0.1.1","keywords":["oura","mcp","model-context-protocol","oura-ring","health","sleep","cli"],"license":"MIT","_id":"@daveremy/oura-mcp@0.1.1","maintainers":[{"name":"daveremy","email":"email@daveremy.com"}],"homepage":"https://github.com/daveremy/oura-mcp#readme","bugs":{"url":"https://github.com/daveremy/oura-mcp/issues"},"bin":{"oura":"dist/cli.js","oura-mcp":"dist/mcp.js"},"dist":{"shasum":"2ff949667292e08136141dc513ae49e3e93f4496","tarball":"https://registry.npmjs.org/@daveremy/oura-mcp/-/oura-mcp-0.1.1.tgz","fileCount":19,"integrity":"sha512-YdeLYr89DtZKc89PcrWVbbqezt/aUjtbG2uQHmcCs/dGvbWGq3Vv1gCIaohqePgaN7edEeRbSogH9mlf9LanjQ==","signatures":[{"sig":"MEYCIQDrchRw2IeRMDp+a2eUsVqZFFpIJe0WO+QNAl8iVKy+sQIhAOLfdkvCXc1wR787CDX+bzMrvJfyuExIT05ana4i0x9p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30295},"type":"module","gitHead":"ce6186179324bac37399fe3d7ff1ff7397072254","scripts":{"dev":"tsx src/cli.ts","build":"tsc && chmod +x dist/cli.js dist/mcp.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"daveremy","email":"email@daveremy.com"},"repository":{"url":"git+https://github.com/daveremy/oura-mcp.git","type":"git"},"_npmVersion":"11.8.0","description":"Oura Ring MCP server and CLI — sleep, readiness, activity, HR, stress, SpO2, workouts, and more","directories":{},"_nodeVersion":"25.5.0","dependencies":{"zod":"^4.3.6","commander":"^13.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.13.0"},"_npmOperationalInternal":{"tmp":"tmp/oura-mcp_0.1.1_1773248891411_0.027784669108288362","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@daveremy/oura-mcp","version":"0.1.2","keywords":["oura","mcp","model-context-protocol","oura-ring","health","sleep","cli"],"license":"MIT","_id":"@daveremy/oura-mcp@0.1.2","maintainers":[{"name":"daveremy","email":"email@daveremy.com"}],"homepage":"https://github.com/daveremy/oura-mcp#readme","bugs":{"url":"https://github.com/daveremy/oura-mcp/issues"},"bin":{"oura":"dist/cli.js","oura-mcp":"dist/mcp.js"},"dist":{"shasum":"585940ee4b661d83bf2f0af8b3cbe9299bf9bdc2","tarball":"https://registry.npmjs.org/@daveremy/oura-mcp/-/oura-mcp-0.1.2.tgz","fileCount":19,"integrity":"sha512-DEv7MHU5TYbzNY5v/HCUeQqSuo00LLhz1Hc/bkTyJ7xWWj/LU2W/s30ZTMTuwTvt6VHl4k6LhAwRWPS/NsSCZA==","signatures":[{"sig":"MEUCIQDy3MSVKvgxfAMfI2HAHFMns1ogbikc8ywyfkenuwg2AgIgRnwXrDCoaJg9E7D5TXnz4OoY1p2s4WUrguM8a4NLFKo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30602},"type":"module","gitHead":"67fbae56def0686b40748b4079e6bc9815bc14b4","scripts":{"dev":"tsx src/cli.ts","build":"tsc && chmod +x dist/cli.js dist/mcp.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"daveremy","email":"email@daveremy.com"},"repository":{"url":"git+https://github.com/daveremy/oura-mcp.git","type":"git"},"_npmVersion":"11.8.0","description":"Oura Ring MCP server and CLI — sleep, readiness, activity, HR, stress, SpO2, workouts, and more","directories":{},"_nodeVersion":"25.5.0","dependencies":{"zod":"^4.3.6","commander":"^13.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.13.0"},"_npmOperationalInternal":{"tmp":"tmp/oura-mcp_0.1.2_1773249515855_0.9365523539976177","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@daveremy/oura-mcp","version":"0.1.3","keywords":["oura","mcp","model-context-protocol","oura-ring","health","sleep","cli"],"license":"MIT","_id":"@daveremy/oura-mcp@0.1.3","maintainers":[{"name":"daveremy","email":"email@daveremy.com"}],"homepage":"https://github.com/daveremy/oura-mcp#readme","bugs":{"url":"https://github.com/daveremy/oura-mcp/issues"},"bin":{"oura":"dist/cli.js","oura-mcp":"dist/mcp.js"},"dist":{"shasum":"ec12e5932aa04037d410e07519a4fc0d932b21bc","tarball":"https://registry.npmjs.org/@daveremy/oura-mcp/-/oura-mcp-0.1.3.tgz","fileCount":20,"integrity":"sha512-p1ruzdtOkTjHJksaFUwPRKE3UMxF/H0Tdh6wNLErE44k3W/SxuIe9I4ttSBiGWQM1R5kdv4YK+/ylvZSxsPtzA==","signatures":[{"sig":"MEUCIFbjIGnQt0G1GGbkQBAUjawKRoOjEipndYSx8BoOH8xhAiEAyo+bdqffgDDUcJlqZ1pHl5L6niYTcxdfyR0oukeq8rA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36922},"type":"module","gitHead":"ddb1d6758388dd0c6bfd079f917ebe124c015576","scripts":{"dev":"tsx src/cli.ts","build":"tsc && chmod +x dist/cli.js dist/mcp.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"daveremy","email":"email@daveremy.com"},"repository":{"url":"git+https://github.com/daveremy/oura-mcp.git","type":"git"},"_npmVersion":"11.8.0","description":"Oura Ring MCP server and CLI — sleep, readiness, activity, HR, stress, SpO2, workouts, and more","directories":{},"_nodeVersion":"25.5.0","dependencies":{"zod":"^4.3.6","commander":"^13.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.13.0"},"_npmOperationalInternal":{"tmp":"tmp/oura-mcp_0.1.3_1773251321512_0.46277659269484417","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@daveremy/oura-mcp","version":"0.1.4","keywords":["oura","mcp","model-context-protocol","oura-ring","health","sleep","cli"],"license":"MIT","_id":"@daveremy/oura-mcp@0.1.4","maintainers":[{"name":"daveremy","email":"email@daveremy.com"}],"homepage":"https://github.com/daveremy/oura-mcp#readme","bugs":{"url":"https://github.com/daveremy/oura-mcp/issues"},"bin":{"oura":"dist/cli.js","oura-mcp":"dist/mcp.js"},"dist":{"shasum":"5c92df07e87f6768c7427af89bbd04d8e9411539","tarball":"https://registry.npmjs.org/@daveremy/oura-mcp/-/oura-mcp-0.1.4.tgz","fileCount":22,"integrity":"sha512-eRe4xfktg/8mEoS2IrTFqlGtrvrB/HYi//kjLJ89vr2A4Yf/QgRJ7A8sse1/SDx8bsotsEdhgCHj7ZKtkv8SLA==","signatures":[{"sig":"MEYCIQCDhMdyBJFy+n+UfC3Lxljt8JH7MNzx+wjPzQS6C20PfQIhAJwzXDJrzfv6H4D2MxlI/QnlGOvfZgLQbTOqcDTedFHD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39589},"type":"module","gitHead":"5ec4a1b658288d799e6ec8d47c561ec821eb556f","scripts":{"dev":"tsx src/cli.ts","build":"tsc && chmod +x dist/cli.js dist/mcp.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"daveremy","email":"email@daveremy.com"},"repository":{"url":"git+https://github.com/daveremy/oura-mcp.git","type":"git"},"_npmVersion":"11.11.0","description":"Oura Ring MCP server and CLI — sleep, readiness, activity, HR, stress, SpO2, workouts, and more","directories":{},"_nodeVersion":"25.8.1","dependencies":{"zod":"^4.3.6","commander":"^13.1.0","@modelcontextprotocol/sdk":"^1.27.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.7.0","@types/node":"^22.13.0"},"_npmOperationalInternal":{"tmp":"tmp/oura-mcp_0.1.4_1773673159548_0.9597463256253791","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@daveremy/oura-mcp","version":"0.1.5","description":"Oura Ring MCP server and CLI — sleep, readiness, activity, HR, stress, SpO2, workouts, and more","type":"module","license":"MIT","engines":{"node":">=18.0.0"},"keywords":["oura","mcp","model-context-protocol","oura-ring","health","sleep","cli"],"repository":{"type":"git","url":"git+https://github.com/daveremy/oura-mcp.git"},"bin":{"oura":"dist/cli.js","oura-mcp":"dist/mcp.js"},"scripts":{"build":"tsc && chmod +x dist/cli.js dist/mcp.js","prepublishOnly":"npm run build","dev":"tsx src/cli.ts"},"dependencies":{"@modelcontextprotocol/sdk":"^1.27.1","commander":"^13.1.0","zod":"^4.3.6"},"devDependencies":{"@types/node":"^22.13.0","tsx":"^4.19.0","typescript":"^5.7.0"},"gitHead":"3cb06784f7076cbef573fa0420728512eed5a268","_id":"@daveremy/oura-mcp@0.1.5","bugs":{"url":"https://github.com/daveremy/oura-mcp/issues"},"homepage":"https://github.com/daveremy/oura-mcp#readme","_nodeVersion":"25.8.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-t+9BzNO/8jOZ1ZhDJXLsieMQ4SUHj/AE/Wc91MLmLofnP1u1iimUec1mE+JVi5gANgoZrQbFkBo5PWMjUncK1A==","shasum":"ad012be8d270d4ba52c1c98347065dc7941387cd","tarball":"https://registry.npmjs.org/@daveremy/oura-mcp/-/oura-mcp-0.1.5.tgz","fileCount":22,"unpackedSize":40258,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGAYHbRKXtfYZFqHf8t+DhnvX3FGQzrGEUxdRzAUzFgGAiAEJ4OP6Z0bCbZNyTk5uIC1QL2u5dlU2K4A4g6HDYM/wg=="}]},"_npmUser":{"name":"daveremy","email":"email@daveremy.com"},"directories":{},"maintainers":[{"name":"daveremy","email":"email@daveremy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oura-mcp_0.1.5_1773675523085_0.627892988669237"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-11T17:08:11.283Z","modified":"2026-03-16T15:38:43.302Z","0.1.1":"2026-03-11T17:08:11.581Z","0.1.2":"2026-03-11T17:18:36.003Z","0.1.3":"2026-03-11T17:48:41.669Z","0.1.4":"2026-03-16T14:59:19.699Z","0.1.5":"2026-03-16T15:38:43.215Z"},"bugs":{"url":"https://github.com/daveremy/oura-mcp/issues"},"license":"MIT","homepage":"https://github.com/daveremy/oura-mcp#readme","keywords":["oura","mcp","model-context-protocol","oura-ring","health","sleep","cli"],"repository":{"type":"git","url":"git+https://github.com/daveremy/oura-mcp.git"},"description":"Oura Ring MCP server and CLI — sleep, readiness, activity, HR, stress, SpO2, workouts, and more","maintainers":[{"name":"daveremy","email":"email@daveremy.com"}],"readme":"# oura-mcp\n\nA CLI and MCP server for the [Oura Ring](https://ouraring.com/) API v2. Query sleep, readiness, activity, heart rate, stress, SpO2, workouts, and session data from the command line or through Claude Code / any MCP client.\n\n## Features\n\n- **CLI**: Query all Oura data for any date\n- **MCP Server**: 10 tools for integration with Claude Code and other MCP clients\n- **Auth**: Supports both personal access tokens and OAuth2 with automatic token refresh\n\n## MCP Tools\n\n| Tool | Description |\n|------|-------------|\n| `oura_daily_summary` | Sleep score, readiness score, sleep details, and activity for a date |\n| `oura_sleep` | Detailed sleep session data (duration, stages, HR, HRV) |\n| `oura_readiness` | Readiness score and contributors |\n| `oura_activity` | Daily activity data (steps, calories, distance) |\n| `oura_workouts` | Auto-detected workouts with HR, calories, duration, and intensity |\n| `oura_heart_rate` | Continuous heart rate data for a time window |\n| `oura_stress` | Daily stress and recovery levels |\n| `oura_spo2` | Blood oxygen (SpO2) percentage |\n| `oura_sessions` | Meditation, breathing, and relaxation sessions |\n| `oura_trends` | Multi-day sleep and readiness score trends |\n\n## Install as Claude Code Plugin\n\n```bash\nclaude plugin marketplace add daveremy/oura-mcp\nclaude plugin install oura-mcp@oura-mcp-plugins\n```\n\nThen set your Oura token in the plugin's env (see Auth below).\n\n## Setup\n\n### 1. Get an Oura API Token\n\n**Personal Access Token (simplest):**\n1. Go to the [Oura Developer Portal](https://cloud.ouraring.com/personal-access-tokens)\n2. Create a new personal access token\n3. Save it: `npx @daveremy/oura-mcp config set-token YOUR_TOKEN`\n\nThe token is stored at `~/.oura-mcp/config.json` and works everywhere — CLI, MCP server, and Claude Code plugin. You can also set `OURA_TOKEN` as an environment variable (takes precedence over stored config).\n\n**OAuth2 (for automatic token refresh):**\n1. Create an app at [Oura OAuth Applications](https://cloud.ouraring.com/oauth/applications)\n2. Set redirect URI to `http://localhost:9876/callback`\n3. Set `OURA_CLIENT_ID` and `OURA_CLIENT_SECRET` in your environment\n4. Run `oura auth` to complete the flow\n\n### 2. Use as MCP Server\n\nNo install needed — use `npx` to run directly:\n\n```json\n{\n  \"mcpServers\": {\n    \"oura\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@daveremy/oura-mcp\"],\n      \"env\": {\n        \"OURA_TOKEN\": \"your_token\"\n      }\n    }\n  }\n}\n```\n\nOr register via CLI:\n\n```bash\nclaude mcp add oura -- npx -y @daveremy/oura-mcp\n```\n\n### 3. Use as CLI\n\n```bash\nnpm install -g @daveremy/oura-mcp\nexport OURA_TOKEN=your_token\n\noura sleep                    # Today's sleep data\noura sleep --date 2026-03-05  # Specific date\noura readiness                # Today's readiness\noura activity                 # Today's activity\noura workouts                 # Today's workouts\noura stress                   # Today's stress levels\noura spo2                     # Today's blood oxygen\noura sessions                 # Today's meditation/breathing sessions\noura heart-rate --start 2026-03-05T08:00:00 --end 2026-03-05T09:00:00\noura summary                  # Everything for today\noura config set-token <tok>   # Save token to ~/.oura-mcp/config.json\noura config show              # Show stored config (masked)\noura config clear             # Remove stored credentials\n```\n\nAll commands output JSON to stdout.\n\n### 4. Install from source\n\n```bash\ngit clone https://github.com/daveremy/oura-mcp.git\ncd oura-mcp\nnpm install\nnpm run build\n```\n\n## Environment Variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `OURA_TOKEN` | Option A | Personal access token (simplest) |\n| `OURA_ACCESS_TOKEN` | Option B | OAuth2 access token |\n| `OURA_REFRESH_TOKEN` | Option B | OAuth2 refresh token |\n| `OURA_CLIENT_ID` | Option B | OAuth2 client ID |\n| `OURA_CLIENT_SECRET` | Option B | OAuth2 client secret |\n\n## Skills\n\nThis plugin bundles a `/oura` skill for conversational health data queries:\n\n```\n/oura              # Today's health briefing\n/oura sleep        # Detailed sleep data\n/oura readiness    # Readiness score and contributors\n/oura activity     # Steps, calories, distance\n/oura workouts     # Auto-detected workouts\n/oura hr <start> <end>  # Heart rate for a time window\n/oura stress       # Stress and recovery levels\n/oura spo2         # Blood oxygen\n/oura sessions     # Meditation/breathing sessions\n/oura trends       # 7-day sleep + readiness trends\n/oura trends 14    # 14-day trends\n/oura summary      # Full daily summary (same as default)\n```\n\nThe skill orchestrates the MCP tools into conversational, insight-driven responses instead of raw JSON.\n\n## Requirements\n\n- Node.js 18+\n- An Oura Ring with API access\n\n## License\n\nMIT\n","readmeFilename":"README.md"}