Skip to main content
Glama

Oura Ring MCP Server

A Model Context Protocol (MCP) server for accessing your Oura Ring health data including sleep, activity, readiness, heart rate, and workout information.

Built with Smithery SDK

Features

šŸ”§ Tools

  • get-personal-info: Retrieve your personal information (age, weight, height, biological sex)

  • get-daily-sleep: Get daily sleep data with total sleep time, sleep stages, and efficiency

  • get-daily-activity: Access daily activity metrics including steps, calories, and distance

  • get-daily-readiness: Check readiness score, temperature deviation, and recovery indicators

  • get-heart-rate: View heart rate measurements and HRV data

  • get-workouts: Retrieve workout sessions with duration, intensity, and calories

  • get-sleep-sessions: Get detailed sleep session data with stages and metrics

  • get-daily-stress: Access daily stress measurements and recovery indicators

šŸ“š Resources

  • Oura API Documentation: Quick reference guide for the Oura API V2

šŸ’¬ Prompts

  • analyze-sleep: Get an AI-powered analysis of your recent sleep quality and patterns

  • activity-summary: Receive a comprehensive summary of your recent activity

  • readiness-check: Check your current readiness and recovery status with recommendations

Prerequisites

  1. Oura Ring Account: Create an account using the Oura iOS or Android app

  2. Personal Access Token: Generate one at https://cloud.ouraring.com/personal-access-tokens

Getting Started

  1. Install dependencies:

    npm install
  2. Start the development server:

    npm run dev
  3. When prompted in the Smithery playground, enter your Oura Personal Access Token

Usage Examples

Get Sleep Data

Use the get-daily-sleep tool to fetch your sleep data:

Start date: 2024-01-01 End date: 2024-01-07

Analyze Sleep Quality

Use the analyze-sleep prompt:

Days: 7

This will fetch your last 7 days of sleep data and provide AI-powered insights.

Check Activity

Use the get-daily-activity tool to see your daily steps, calories, and activity score.

Check Readiness

Use the readiness-check prompt to get personalized recommendations based on your recovery status.

Configuration

The server requires one configuration parameter:

  • accessToken (required): Your Oura Personal Access Token

When running locally, pass the token as a URL parameter:

http://127.0.0.1:8081/mcp?accessToken=YOUR_TOKEN_HERE

API Endpoints Used

This MCP server uses the Oura API V2 endpoints:

  • /v2/usercollection/personal_info - Personal information

  • /v2/usercollection/daily_sleep - Daily sleep summaries

  • /v2/usercollection/daily_activity - Daily activity summaries

  • /v2/usercollection/daily_readiness - Daily readiness scores

  • /v2/usercollection/heartrate - Heart rate measurements

  • /v2/usercollection/workout - Workout sessions

  • /v2/usercollection/sleep - Detailed sleep sessions

  • /v2/usercollection/daily_stress - Daily stress data

Date Formats

  • Dates: Use YYYY-MM-DD format (e.g., 2024-01-15)

  • Datetimes: Use ISO 8601 format (e.g., 2024-01-15T10:30:00Z)

Development

Edit src/index.ts to add new tools, resources, or prompts. The server will automatically reload in development mode.

Project Structure

oura-ring-mcp-server/ ā”œā”€ā”€ src/ │ └── index.ts # MCP server implementation ā”œā”€ā”€ package.json # Project dependencies ā”œā”€ā”€ smithery.yaml # Runtime configuration └── README.md # This file

Build

To build for production:

npm run build

This creates a bundled server in the .smithery/ directory.

Deploy

Ready to deploy? Push your code to GitHub and deploy to Smithery:

  1. Create a new repository at github.com/new

  2. Initialize git and push to GitHub:

    git init git add . git commit -m "Initial commit: Oura Ring MCP Server" git branch -M main git remote add origin https://github.com/YOUR_USERNAME/YOUR_REPO.git git push -u origin main
  3. Deploy your server at smithery.ai/new

Troubleshooting

Authentication Errors

  • Verify your Personal Access Token is correct

  • Check that you haven't revoked the token at cloud.ouraring.com

  • Ensure the token is passed correctly in the configuration

No Data Returned

  • Make sure you're wearing your Oura Ring regularly

  • Data syncs when you open the Oura mobile app

  • Some data types may not be available depending on your ring model

Rate Limiting

The Oura API has rate limits. If you encounter rate limit errors, wait a few minutes before making more requests.

Learn More

License

ISC

-
security - not tested
F
license - not found
-
quality - not tested

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/SauravPahadia/oura-mcp'

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