Skip to main content
Glama
philipbrowne

Oura Ring MCP Server

by philipbrowne

Oura Ring MCP Server

An MCP (Model Context Protocol) server that provides Claude with access to the Oura Ring health data API. Access your sleep, activity, readiness, heart rate, and other health metrics through Claude.

Features

  • Sleep data — daily scores, detailed periods, HRV, sleep phases

  • Activity data — steps, calories, active time, scores

  • Readiness data — readiness scores, body temperature, contributors

  • Heart rate — continuous HR samples with source context

  • Stress & resilience — stress levels, recovery time, resilience

  • SpO2 — blood oxygen saturation data

  • Workouts & sessions — exercise tracking, meditation sessions

  • Sleep recommendations — optimal bedtime window

Related MCP server: Oura Ring MCP Server

Setup

1. Get Oura API Credentials

  1. Go to Oura Developer Portal

  2. Create a new application

  3. Note your Client ID and Client Secret

2. Install

# Clone the repository
git clone <repo-url>
cd oura-mcp-server

# Install in development mode
pip install -e ".[dev]"

3. Configure

# Copy the example environment file
cp .env.example .env

# Edit with your credentials
# OURA_CLIENT_ID=your_client_id
# OURA_CLIENT_SECRET=your_client_secret

4. Run

# Run with stdio transport (for local MCP clients)
oura-mcp

# Or run directly
python -m oura_mcp.server

Authentication

The server uses OAuth2 Authorization Code flow. On first use:

  1. Call start_authentication to get an authorization URL

  2. Visit the URL and authorize the application

  3. Copy the authorization code

  4. Call complete_authentication with the code

Tokens are stored locally at ~/.config/oura-mcp/tokens.json and automatically refresh when expired.

Available Tools

Data Tools

Tool

Description

get_sleep_summary

Daily sleep scores and contributors

get_sleep_details

Detailed sleep periods (HRV, phases, HR)

get_sleep_recommendations

Optimal bedtime window

get_activity_summary

Steps, calories, active time, score

get_readiness_summary

Readiness score and contributors

get_stress_data

Stress/recovery time, day summary

get_spo2_data

Blood oxygen levels

get_heart_rate

HR samples with source context

get_workouts

Activity type, duration, calories

get_sessions

Meditation/rest/breathing sessions

get_personal_info

User profile

get_daily_resilience

Resilience level and contributors

Auth Tools

Tool

Description

check_auth_status

Check if account is connected

start_authentication

Start OAuth2 flow

complete_authentication

Complete OAuth2 flow with code

disconnect_account

Remove stored credentials

Cloud Deployment (Railway)

For deploying as a remote MCP server:

# Set environment variables on Railway
OURA_CLIENT_ID=your_client_id
OURA_CLIENT_SECRET=your_client_secret
OURA_ACCESS_TOKEN=your_access_token
OURA_REFRESH_TOKEN=your_refresh_token

The server uses SSE transport when deployed to cloud. See cloud_server.py and Dockerfile.

Claude.ai Integration

Add to your Claude.ai MCP server configuration:

{
  "mcpServers": {
    "oura": {
      "url": "https://your-deployment-url.railway.app/sse"
    }
  }
}

Development

# Run tests
pytest

# Lint
ruff check .

# Format
ruff format .

License

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/philipbrowne/oura-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server