Oura MCP Server
by elizabethtrykin
The Oura MCP Server provides a Model Context Protocol interface for accessing Oura Ring data. It allows users to retrieve various health and activity metrics from their Oura Ring through a standardized protocol.
View on GitHub
Last updated: N/A
Oura MCP Server
A Model Context Protocol (MCP) server for accessing Oura Ring data.
Setup
Prerequisites
- Node.js (v16+)
- Oura account
Installation
- Clone the repository
- Run:
npm install
npm run build
Configuration
Obtaining Credentials
- Log in to Oura Cloud Console
- Get either:
- Personal Access Token (for testing)
- OAuth2 Credentials (for production)
Environment Variables
Create a .env
file:
# Option 1: Personal Access Token
OURA_PERSONAL_ACCESS_TOKEN=your_token
# Option 2: OAuth2 credentials
OURA_CLIENT_ID=your_client_id
OURA_CLIENT_SECRET=your_client_secret
OURA_REDIRECT_URI=http://localhost:3000/callback
Usage
Testing
node test.js <tool_name> <date>
Example: node test.js get_daily_sleep 2023-05-01
Claude Desktop Integration
Add to Claude Desktop's config (Settings → Developer → Edit Config):
{
"mcpServers": {
"oura": {
"command": "node",
"args": ["/absolute/path/to/oura-mcp/build/index.js"],
"env": {"OURA_PERSONAL_ACCESS_TOKEN": "your_token"}
}
}
}
Restart Claude Desktop after saving. See MCP docs for details.
Available Resources
personal_info
- User profiledaily_activity
- Activity summariesdaily_readiness
- Readiness scoresdaily_sleep
- Sleep summariessleep
- Detailed sleep datasleep_time
- Sleep timingworkout
- Workout datasession
- Session datadaily_spo2
- SpO2 measurementsrest_mode_period
- Rest periodsring_configuration
- Ring configdaily_stress
- Stress metricsdaily_resilience
- Resilience metricsdaily_cardiovascular_age
- CV agevO2_max
- VO2 max data
Available Tools
For date-based resources, use tools like get_daily_sleep
with startDate
and endDate
parameters (YYYY-MM-DD).