This server implements the Model Context Protocol for the Oura Ring API, allowing AI models to access your Oura Ring data through a standardized interface. It uses the official MCP TypeScript SDK.
- Install dependencies:
npm install
- Create a
.env
file in the root directory with your Oura API token:
OURA_API_TOKEN=your_personal_access_token_here
You can obtain your personal access token from the Oura Cloud Dashboard.
- Build the TypeScript code:
npm run build
Start the server:
npm start
For development with hot reloading:
npm run dev
The server provides access to the following Oura API endpoints as MCP resources:
- URI Template:
oura://personal_info/{token}
- Description: User's personal information including age, weight, height, and biological sex from their Oura profile
- URI Template:
oura://daily_sleep/{token}/{start_date}/{end_date}
- Description: Daily sleep metrics including total sleep time, sleep score, and sleep efficiency
- URI Template:
oura://sleep/{start_date}/{end_date}
- Description: Detailed sleep analysis including sleep stages, heart rate, HRV, and temperature variations for individual sleep sessions
- URI Template:
oura://daily_activity/{start_date}/{end_date}
- Description: Daily activity metrics including steps, calories burned, activity score, and movement throughout the day
- URI Template:
oura://daily_readiness/{start_date}/{end_date}
- Description: Daily readiness score and contributing factors like sleep balance, activity balance, and body temperature
- URI Template:
oura://heart_rate/{start_date}/{end_date}
- Description: Continuous heart rate measurements throughout the day and night
- URI Template:
oura://sessions/{start_date}/{end_date}
- Description: Meditation, relaxation, and other focused sessions recorded by the user
- URI Template:
oura://tags/{start_date}/{end_date}
- Description: User-created tags and annotations for tracking lifestyle factors, symptoms, or other personal markers
- URI Template:
oura://workouts/{start_date}/{end_date}
- Description: Workout sessions including type, duration, intensity, and associated biometric data
- URI Template:
oura://daily_stress/{start_date}/{end_date}
- Description: Daily stress levels and recovery metrics based on heart rate variability and other biometric data
- URI Template:
oura://rest_mode/{start_date}/{end_date}
- Description: Periods when the user has enabled Rest Mode, indicating times of illness, recovery, or reduced activity
- URI Template:
oura://ring_configuration/{token}
- Description: Technical details about the user's Oura ring including hardware version, firmware version, and sizing information
A tool to search through all available Oura data endpoints based on a query string.
Parameters:
token
: Oura API tokenquery
: Search query stringstart_date
: (Optional) Start date in YYYY-MM-DD formatend_date
: (Optional) End date in YYYY-MM-DD format