home / mcp / oura ring mcp server

Oura Ring MCP Server

Provides access to Oura Ring health data via MCP with date range queries and ready-to-run Python server

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "abekek-oura-mcp-python": {
      "command": "python",
      "args": [
        "server.py"
      ],
      "env": {
        "OURA_PERSONAL_ACCESS_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

You can run an MCP server that gives you structured access to your Oura Ring health data. It lets you query sleep, activity, readiness, and other metrics through a simple MCP interface, so AI assistants and other clients can retrieve your data securely and efficiently.

How to use

You use this MCP server by connecting an MCP client to the local or remote server and issuing data requests for the metrics you care about. Each available tool represents a data endpoint you can query, such as daily sleep, readiness, activity, VO2 max, and personal information. You can filter results by date ranges when supported by a tool, with sensible defaults applied if you omit dates.

How to install

Prerequisites you need to prepare before starting the server:

  • Python 3.10 or higher
  • An Oura Ring and account
  • Oura Personal Access Token (get one at cloud.ouraring.com/personal-access-tokens)

Step by step installation and run flow:

  • Clone the project to your machine:
  • ````
  • git clone https://github.com/yourusername/oura-mcp-python.git
  • cd oura-mcp-python
  • ````

Install dependencies from the requirements file:

pip install -r requirements.txt

Create a configuration file with your Oura credentials, using the example as a starting point, then edit to include your token:

cp .env.example .env
# Edit .env and add your OURA_PERSONAL_ACCESS_TOKEN

Start the MCP server:

python server.py

Additional sections

Claude Desktop and Bedrock deployments are supported to run the MCP server in different environments. Use the recommended configuration to connect your client to the server.

Testing

You can verify your setup by running the test suite or test script before integrating with clients.

Configuration for Claude Desktop

Add the MCP server connection to Claude Desktop to enable direct querying from Claude.

AWS Bedrock Deployment

Deploy the MCP server to AWS Bedrock AgentCore using the provided deployment script or manual steps.

Usage examples

After configuration, you can ask for data such as sleep data for a date range, readiness scores, steps, workouts, VO2 max, and more. Use natural language prompts aligned with the available tools to retrieve the exact data you need.

Available tools

get_daily_sleep

Fetch daily sleep metrics including score, duration, efficiency, and sleep stages.

get_sleep_sessions

Retrieve detailed sleep sessions with heart rate, HRV, and movement data.

get_sleep_time

Return sleep timing information such as bedtime and wake time.

get_daily_readiness

Get daily readiness scores and contributing factors.

get_daily_activity

Query daily activity including steps, calories, and activity levels.

get_workouts

Fetch workout sessions with type, duration, and intensity.

get_sessions

Retrieve sessions like meditation and breathing exercises.

get_daily_spo2

Obtain daily blood oxygen saturation levels.

get_daily_stress

Access daily stress levels and recovery status.

get_daily_resilience

Get daily resilience scores and trends.

get_daily_cardiovascular_age

Estimate cardiovascular age from metrics.

get_vo2_max

Retrieve VO2 max measurements and trends.

get_ring_configuration

Query ring hardware configuration.

get_rest_mode_period

Fetch rest mode periods.

get_personal_info

Retrieve user profile information.