# oura-ring-mcp

Brings Oura Ring biometrics directly into AI chats. Good for tracking sleep stages, readiness scores, and daily stress trends without manual exports.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 31
- Author: mitchhankins01
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/mitchhankins01/oura-ring-mcp
- Updated: 2026-02-08
- HTML: https://affpapa.org/en/nevibecode/mcp/oura-ring-mcp

## What it does

This MCP server connects your Oura account to AI assistants using the Model Context Protocol. Rather than returning unformatted JSON, it structures information into clear summaries covering sleep stages, resting heart rate, SpO2 levels, active calories, and recovery.

Built-in tools evaluate trends over time. Tool `detect_anomalies` surfaces unusual spikes, `correlate_metrics` looks for links between habits and recovery, and `analyze_hrv_trend` checks rolling averages. Users can query dedicated resources such as `oura://today` or `oura://baseline` to review month-long norms and compare tagged behaviors against standard nights.

It requires Node 18 or newer. Authentication works either with an `OURA_ACCESS_TOKEN` personal key or through a local OAuth workflow via `npx oura-ring-mcp auth`, which stores credentials under `~/.oura-mcp/credentials.json`.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `OURA_ACCESS_TOKEN`, `OURA_CLIENT_ID`, `OURA_CLIENT_SECRET` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env OURA_ACCESS_TOKEN=<OURA_ACCESS_TOKEN> --env OURA_CLIENT_ID=<OURA_CLIENT_ID> --env OURA_CLIENT_SECRET=<OURA_CLIENT_SECRET> --transport stdio oura-ring-mcp -- npx -y oura-ring-mcp
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add oura-ring-mcp --env OURA_ACCESS_TOKEN=<OURA_ACCESS_TOKEN> --env OURA_CLIENT_ID=<OURA_CLIENT_ID> --env OURA_CLIENT_SECRET=<OURA_CLIENT_SECRET> -- npx -y oura-ring-mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "oura-ring-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "oura-ring-mcp"
            ],
            "env": {
                "OURA_ACCESS_TOKEN": "<OURA_ACCESS_TOKEN>",
                "OURA_CLIENT_ID": "<OURA_CLIENT_ID>",
                "OURA_CLIENT_SECRET": "<OURA_CLIENT_SECRET>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "oura-ring-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "oura-ring-mcp"
            ],
            "env": {
                "OURA_ACCESS_TOKEN": "<OURA_ACCESS_TOKEN>",
                "OURA_CLIENT_ID": "<OURA_CLIENT_ID>",
                "OURA_CLIENT_SECRET": "<OURA_CLIENT_SECRET>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e OURA_ACCESS_TOKEN=<OURA_ACCESS_TOKEN> -e OURA_CLIENT_ID=<OURA_CLIENT_ID> -e OURA_CLIENT_SECRET=<OURA_CLIENT_SECRET> oura-ring-mcp npx -y oura-ring-mcp
```
Replace <…> with your own values

## When to use it
- Inspect sleep duration and sleep stages directly inside your workspace
- Track HRV patterns and recovery markers over rolling multi-day periods
- Correlate custom tagged routines with nightly readiness and deep sleep
- Flag physical strain anomalies without opening the phone dashboard

## Example prompts
- How did I sleep last night and is my readiness score high enough for hard exercise?
- Compare my heart rate variability this week against my 30-day baseline
- Check for anomalies in my stress readings over the past few days

## Similar
- [Reactive Resume](https://affpapa.org/en/nevibecode/mcp/reactive-resume.md) — MCP server · ★ 44874
- [screenpipe](https://affpapa.org/en/nevibecode/mcp/screenpipe.md) — MCP server · ★ 22053
- [Inbox Zero](https://affpapa.org/en/nevibecode/mcp/inbox-zero.md) — MCP server · ★ 12791
- [kaneo](https://affpapa.org/en/nevibecode/mcp/kaneo.md) — MCP server · ★ 9602
- [Mindwtr](https://affpapa.org/en/nevibecode/mcp/mindwtr.md) — MCP server · ★ 2318
- [Azure DevOps (ADO)](https://affpapa.org/en/nevibecode/mcp/azure-devops-ado.md) — MCP server · ★ 2067

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
