By daveremy
Oura Ring MCP server — sleep, readiness, activity, HR, stress, SpO2, workouts, and sessions
A CLI and MCP server for the Oura Ring 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.
| Tool | Description |
|---|---|
oura_daily_summary | Sleep score, readiness score, sleep details, and activity for a date |
oura_sleep | Detailed sleep session data (duration, stages, HR, HRV) |
oura_readiness | Readiness score and contributors |
oura_activity | Daily activity data (steps, calories, distance) |
oura_workouts | Auto-detected workouts with HR, calories, duration, and intensity |
oura_heart_rate | Continuous heart rate data for a time window |
oura_stress | Daily stress and recovery levels |
oura_spo2 | Blood oxygen (SpO2) percentage |
oura_sessions | Meditation, breathing, and relaxation sessions |
oura_trends | Multi-day sleep and readiness score trends |
claude plugin marketplace add daveremy/oura-mcp
claude plugin install oura-mcp@oura-mcp-plugins
Then set your Oura token in the plugin's env (see Auth below).
Personal Access Token (simplest):
npx @daveremy/oura-mcp config set-token YOUR_TOKENThe 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).
OAuth2 (for automatic token refresh):
http://localhost:9876/callbackOURA_CLIENT_ID and OURA_CLIENT_SECRET in your environmentoura auth to complete the flowNo install needed — use npx to run directly:
{
"mcpServers": {
"oura": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@daveremy/oura-mcp"],
"env": {
"OURA_TOKEN": "your_token"
}
}
}
}
Or register via CLI:
claude mcp add oura -- npx -y @daveremy/oura-mcp
npm install -g @daveremy/oura-mcp
export OURA_TOKEN=your_token
oura sleep # Today's sleep data
oura sleep --date 2026-03-05 # Specific date
oura readiness # Today's readiness
oura activity # Today's activity
oura workouts # Today's workouts
oura stress # Today's stress levels
oura spo2 # Today's blood oxygen
oura sessions # Today's meditation/breathing sessions
oura heart-rate --start 2026-03-05T08:00:00 --end 2026-03-05T09:00:00
oura summary # Everything for today
oura config set-token <tok> # Save token to ~/.oura-mcp/config.json
oura config show # Show stored config (masked)
oura config clear # Remove stored credentials
All commands output JSON to stdout.
git clone https://github.com/daveremy/oura-mcp.git
cd oura-mcp
npm install
npm run build
| Variable | Required | Description |
|---|---|---|
OURA_TOKEN | Option A | Personal access token (simplest) |
OURA_ACCESS_TOKEN | Option B | OAuth2 access token |
OURA_REFRESH_TOKEN | Option B | OAuth2 refresh token |
OURA_CLIENT_ID | Option B | OAuth2 client ID |
OURA_CLIENT_SECRET | Option B | OAuth2 client secret |
This plugin bundles a /oura skill for conversational health data queries:
/oura # Today's health briefing
/oura sleep # Detailed sleep data
/oura readiness # Readiness score and contributors
/oura activity # Steps, calories, distance
/oura workouts # Auto-detected workouts
/oura hr <start> <end> # Heart rate for a time window
/oura stress # Stress and recovery levels
/oura spo2 # Blood oxygen
/oura sessions # Meditation/breathing sessions
/oura trends # 7-day sleep + readiness trends
/oura trends 14 # 14-day trends
/oura summary # Full daily summary (same as default)
The skill orchestrates the MCP tools into conversational, insight-driven responses instead of raw JSON.
MIT
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub daveremy/oura-mcpQuery Function Health lab results, track biomarker changes, and get health recommendations
Read and send iMessages — contact resolution, message search, group chats, reactions
Query Apple Health daily metrics, workouts, and trends via Health Auto Export CSVs
Image generation with Google Gemini Nano Banana 2 via MCP
Persistent ticklers/reminders that survive agent session restarts
Multi-agent AI coach for endurance & strength athletes — runs entirely inside Claude Code.
Claude Code plugin for Shiny Health - cross-platform health data queries for Apple HealthKit and Android Health Connect in .NET MAUI
FHIR AI agent guardrails with 14 MCP tools. PHI redaction on every read, step-up authorization for writes, immutable audit trails, tenant isolation, Curatr data quality evaluation and correction, Fasten Connect EHR ingestion, and HealthEx portable health record export. FHIR R4 US Core v9 (stable) + FHIR R6 ballot3 (experimental). A healthclaw.io reference implementation.
End-to-end RuView (WiFi-DensePose) toolkit for Claude Code: onboarding, ESP32 hardware setup, configuration, sensing applications, model training, advanced multistatic sensing, and witness verification — from practical to advanced.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.