oura-ring-mcp
About
MCP server for Oura Ring data with smart analysis tools
Details
- Author
- mitchhankins01
- Categories
- Productivity, Other
Jump to
Setup
Install oura-ring-mcp in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/mitchhankins01/oura-ring-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
An MCP server that connects your Oura Ring to Claude and other AI assistants. Get human-readable insights about your sleep, readiness, and activity—not just raw JSON.
- Smart formatting- Durations in hours/minutes, scores with context ("85 - Optimal")
- Sleep analysis- Sleep stages, efficiency, HRV, and biometrics
- Readiness tracking- Recovery scores and contributor breakdown
- Activity data- Steps, calories, and intensity breakdown
- Health metrics- Heart rate, SpO2, stress, cardiovascular age
- Smart analysis- Anomaly detection, correlations, trend analysis
- Tags support- Compare metrics with/without conditions
See example outputs— what Claude returns for sleep, readiness, weekly summaries, and smart analysis
Or use directly with npx (no install needed):
Option A: Personal Access Token (simpler)
- Go tocloud.ouraring.com/personal-access-tokens
- Create a new token
- SetOURA_ACCESS_TOKENin your Claude Desktop config (see below)
- Create an OAuth app atdeveloper.ouraring.com
- Set Redirect URI tohttp://localhost:3000/callback
export OURA_CLIENT_ID=your_client_id export OURA_CLIENT_SECRET=your_client_secret npx oura-ring-mcp auth
{ "mcpServers": { "oura": { "command": "npx", "args": ["oura-ring-mcp"], "env": { "OURA_ACCESS_TOKEN": "your_token_here" } } } }
With OAuth (after runningnpx oura-ring-mcp auth):
{ "mcpServers": { "oura": { "command": "npx", "args": ["oura-ring-mcp"] } } }
The server reads credentials from~/.oura-mcp/credentials.json. To enable automatic token refresh, add your OAuth credentials:
{ "mcpServers": { "oura": { "command": "npx", "args": ["oura-ring-mcp"], "env": { "OURA_CLIENT_ID": "your_client_id", "OURA_CLIENT_SECRET": "your_client_secret" } } } }
Restart Claude Desktop. Requires Node >=18.
- "How did I sleep last night?"
- "Am I recovered enough to work out today?"
- "What's my body telling me right now?"
- "Do I sleep better on weekends?"
- "What time should I go to bed for optimal sleep?"
- "Is my HRV improving or declining?"
- "Does alcohol affect my sleep quality?"
- "What predicts my best sleep nights?"
- "How does exercise timing affect my recovery?"
- "Compare my sleep this week vs last week"
- "How do I sleep after meditation vs without?"
- "What changed when I started taking magnesium?"
- "Are there any unusual readings in my data?"
- "Why was my readiness so low yesterday?"
- "Find days where my metrics were off"
Deploy the MCP server for remote access. The server proxies OAuth through Oura, so users authenticate directly with their Oura account — no PAT needed.
- Go toOura OAuth Applications
- Create a new application
- Set theRedirect URIto:https://your-app.railway.app/oauth/callback
- Note theClient IDandClient Secret
# Install Railway CLI npm install -g @railway/cli # Login, init, and deploy railway login railway init railway up
Railway automatically setsPORTandRAILWAY_PUBLIC_DOMAIN.
- Go to Settings > MCP Connectors > Add
- Enter your server URL:https://your-app.railway.app(without/mcp)
- Leave OAuth Client ID and Secret empty (dynamic registration handles it)
- You'll be redirected to Oura to authorize access to your data
For Claude Desktop, useMCP_SECRET+OURA_ACCESS_TOKEN:
{ "mcpServers": { "oura-remote": { "url": "https://your-app.railway.app/mcp", "headers": { "Authorization": "Bearer your_mcp_secret_here" } } } }
# With Oura OAuth (full flow) OURA_CLIENT_ID=your_id OURA_CLIENT_SECRET=your_secret pnpm start:http # With static secret only (requires OURA_ACCESS_TOKEN) OURA_ACCESS_TOKEN=your_pat MCP_SECRET=test-secret pnpm start:http # Verify health endpoint curl http://localhost:3000/health # Check OAuth metadata (only available when OURA_CLIENT_ID is set) curl http://localhost:3000/.well-known/oauth-authorization-server # Test authenticated request (with static secret) curl -X POST http://localhost:3000/mcp \ -H "Authorization: Bearer test-secret" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{}},"id":1}'
SeeCLAUDE.mdfor architecture details and development guidelines.
Access your Fitbit health and fitness data for personalized insights.
Connects to Garmin Connect to expose your fitness and health data to MCP-compatible clients.
Pace is the first MCP connector that brings wearable health data directly into Claude — no third-party dashboards, no manual exports, no extra apps. Most health apps lock your data behind their own UI. Pace breaks that wall: connect once, and Claude can analyze your sleep, activity, workouts, nutrition and recovery in natural language — with full visualizations inline.
Fetch health and fitness metrics like heart rate, sleep, and steps from the Ultrahuman API.
AI workout coach MCP server. Access training data, workout history, personal records, and body progress through Claude Desktop.
Free remote MCP server giving AI assistants direct access to data from a mentoring practice: 3,400+ paid 1:1 sessions with 300+ engineering leaders since 2019.
Fitimio helps your AI assistant track your meals, calories, workouts, goals, body metrics, and health notes so it can give answers based on your real progress.
Access the Whoop API to query cycles, recovery, strain, and workout data.
Local MCP server that exposes Whoop recovery, sleep, and strain data to AI agents
Fulcra Context MCP server for accessing your personal health, workouts, sleep, location, and more, all privately. Built around Context by Fulcra.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




