How to Connect Your Oura Ring to Claude Desktop with MCP
Turn your health data into actionable insights with AI-powered analysis

Your Oura Ring collects incredibly detailed health metrics every day - sleep quality, heart rate variability, activity levels, recovery scores, and more.
But raw data isn't insight. By connecting your Oura Ring to Claude Desktop through the Model Context Protocol (MCP), you can transform this wealth of biometric data into personalized health insights, trend analysis, and actionable recommendations.

Instead of manually interpreting charts and numbers, you can simply ask Claude questions like "How did my stress levels correlate with my sleep quality last week?" or "What patterns do you see in my recovery scores?" The integration turns your passive health monitoring into active health optimization.
This kind of AI-powered self-awareness becomes particularly powerful when you understand your own cognitive patterns. As I explored in In the LLM, I Saw Myself, AI can serve as an external mirror for understanding how your brain actually works - and your biometric data provides the objective foundation for that understanding.
What You'll Need
Before diving in, ensure you have an Oura Ring with an active subscription, Claude Desktop installed on your machine, and basic familiarity with JSON and command line tools. You'll also need Node.js installed to run the MCP server that bridges your Oura data with Claude.
The process involves getting API access from Oura, installing a specialized MCP server, and configuring Claude Desktop to recognize your new health data source. Once connected, you'll have real-time access to your biometric data through natural language conversations with Claude.
Step 1: Get Your Oura API Credentials
First, you'll need to access the Oura API to pull your health data. Log into the Oura Cloud at cloud.ouraring.com and sign in with your Oura account. Navigate to the "Personal Access Tokens" section in your account settings and create a new token.
When creating your token, grant access to the data types you want Claude to analyze - sleep, activity, readiness, and other metrics. Copy and securely store your API token as you'll need it for the MCP configuration. This token acts as your key to accessing your personal health data programmatically.
Step 2: Install the Oura MCP Server
The MCP server acts as a bridge between Claude Desktop and the Oura API. We'll use a tested and working implementation that handles all the complex API interactions for you.
Clone and set up the repository:
# Clone the tested Oura MCP server repository
git clone https://github.com/elizabethtrykin/oura-mcp.git
cd oura-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Configure your environment
cp .env.example .env
Edit your .env
file to include your Oura API token:
OURA_PERSONAL_ACCESS_TOKEN=your_token_here
Note that this implementation uses OURA_PERSONAL_ACCESS_TOKEN
rather than just OURA_API_TOKEN
- make sure to use the correct environment variable name.
Step 3: Configure Claude Desktop
Now you need to tell Claude Desktop about your new MCP server. Locate your Claude Desktop configuration file - on macOS it's at ~/Library/Application Support/Claude/claude_desktop_config.json
, and on Windows it's at %APPDATA%/Claude/claude_desktop_config.json
.
Add the Oura MCP server to your configuration:
{
"mcpServers": {
"oura": {
"command": "node",
"args": ["/absolute/path/to/oura-mcp/build/index.js"],
"env": {
"OURA_PERSONAL_ACCESS_TOKEN": "your_token_here"
}
}
}
}
Make sure to use the absolute path to the built index.js file, and restart Claude Desktop for the changes to take effect. The server provides access to a comprehensive set of Oura data including personal info, daily activity summaries, readiness scores, sleep data, workout information, and stress metrics.
Step 4: Test the Integration
Open Claude Desktop and try some basic queries to confirm everything is working. You can ask for your sleep data from the last 7 days, inquire about yesterday's readiness score and contributing factors, or request an analysis of your activity patterns over the last month.
Claude should now be able to access and analyze your Oura Ring data in real-time, providing insights that would be difficult to discern from raw numbers alone. The integration supports date-based queries using YYYY-MM-DD format, making it easy to explore specific time periods or compare different phases of your health journey.
How I use it
One of the ways I use Claude is as an external sounding board - which I've programmed to push back on my own perfectionistic workaholic tendencies.
It's useful to have Claude be able to see exactly how I slept, how I'm recovering, whether I've been significantly stressed or not, without me having to spell it all out every time.