Oura MCP服务器
](https://www.npmjs.com/package/oura-ring-mcp)  
一个MCP服务器,将您的Oura Ring连接到Claude和其他AI助手。获取有关您的睡眠、准备和活动的人类可读见解,而不仅仅是原始JSON。
特性
- 智能格式化 -持续时间(小时/分钟),得分与上下文(“85-最佳”)
- 睡眠分析 -睡眠阶段、效率、HRV和生物识别
- 准备跟踪 -恢复得分和贡献者细分
- 活动数据 -步数、卡路里和强度分解
- 健康指标 -心率、血氧饱和度、压力、心血管年龄
- 智能分析 -异常检测、相关性、趋势分析
- 标签支持 -比较有条件/无条件的指标
参见示例输出 --克劳德返回睡眠、准备、每周总结和智能分析
快速开始
1.安装
npm install -g oura-ring-mcp或者直接与npx一起使用(无需安装):
npx oura-ring-mcp2.与Oura进行身份验证
选项A:个人访问令牌(更简单)
- 首选 cloud.oraring.com/personal-access-tokens
- 创建新令牌
- 集
OURA_ACCESS_TOKEN在您的Claude Desktop配置中(见下文)
选项B:Auth-CLI流
- 在以下位置创建OAuth应用程序 developer.uraling.com
- 将重定向URI设置为 http://localhost:3000/callback
- 运行身份验证流:
export OURA_CLIENT_ID=your_client_id
export OURA_CLIENT_SECRET=your_client_secret
npx oura-ring-mcp auth- 凭据保存到
~/.oura-mcp/credentials.json
3.配置克劳德桌面
增添 claude_desktop_config.json:
使用个人访问令牌:
{
"mcpServers": {
"oura": {
"command": "npx",
"args": ["oura-ring-mcp"],
"env": {
"OURA_ACCESS_TOKEN": "your_token_here"
}
}
}
}使用OAuth(运行后 npx oura-ring-mcp auth):
{
"mcpServers": {
"oura": {
"command": "npx",
"args": ["oura-ring-mcp"]
}
}
}服务器从以下位置读取凭据 ~/.oura-mcp/credentials.json。要启用自动令牌刷新,请添加您的OAuth凭据:
{
"mcpServers": {
"oura": {
"command": "npx",
"args": ["oura-ring-mcp"],
"env": {
"OURA_CLIENT_ID": "your_client_id",
"OURA_CLIENT_SECRET": "your_client_secret"
}
}
}
}重新启动克劳德桌面。需要节点>=18。
我能问什么?
每日签到:
- “我昨晚睡得怎么样?”
- “我今天恢复得足够好吗?”
- “我的身体现在告诉我什么?”
模式和趋势:
- “我周末睡得更好吗?”
- “为了获得最佳睡眠,我应该什么时候睡觉?”
- “我的HRV是在改善还是在下降?”
相关性和见解:
- “酒精会影响我的睡眠质量吗?”
- “什么能预测我最好的睡眠时间?”
- “锻炼时间如何影响我的恢复?”
比较:
- “比较我本周和上周的睡眠情况”
- “冥想后和不冥想后我怎么睡觉?”
- “当我开始服用镁时,发生了什么变化?”
异常:
- “我的数据中有任何异常读数吗?”
- “为什么我昨天的准备程度这么低?”
- “查找我的指标不准确的日子”
可用工具
数据检索
| 工具 | 说明 |
|---|---|
get_sleep | 睡眠数据,包括阶段、效率、心率、心率变异性 |
get_daily_sleep | 贡献者的每日睡眠评分 |
get_readiness | 准备度得分和恢复指标 |
get_activity | 步数、卡路里、强度分解 |
get_workouts | 有类型和强度的锻炼课程 |
get_sessions | 冥想和放松课程 |
get_heart_rate | 全天人力资源读数 |
get_stress | 压力水平和恢复时间 |
get_spo2 | 血氧和呼吸障碍 |
get_tags | 用户创建的标签和注释 |
智能分析
| 工具 | 说明 |
|---|---|
detect_anomalies | 使用异常值检测查找异常读数 |
analyze_sleep_quality | 睡眠分析与趋势、模式、债务 |
correlate_metrics | 查找健康指标之间的相关性 |
compare_periods | 将本周与上周进行比较 |
compare_conditions | 比较有/没有标签的指标 |
best_sleep_conditions | 什么能预测你的睡眠质量好坏 |
analyze_hrv_trend | HRV趋势与滚动平均值 |
资源
| 资源 | 描述 |
|---|---|
oura://today | 今天的健康摘要 |
oura://weekly-summary | 过去7天的平均值 |
oura://baseline | 你的30天平均值和正常范围 |
oura://monthly-insights | 30天趋势和异常分析 |
oura://tag-summary | 您的标签和使用频率 |
提示
| 提示 | 描述 |
|---|---|
weekly-review | 全面的每周健康回顾 |
sleep-optimization | 确定什么能让你睡得最好 |
recovery-check | 你今天应该努力训练还是休息? |
compare-weeks | 本周与上周比较 |
tag-analysis | 特定标签如何影响您的健康 |
远程部署(铁路)
部署MCP服务器以进行远程访问。服务器通过Oura代理OAuth,因此用户直接使用他们的Oura帐户进行身份验证,不需要PAT。
1.创建Oura OAuth应用程序
- 首选 Oura OAuth应用程序
- 创建一个新应用
- 设置 重定向URI 致:
https://your-app.railway.app/oauth/callback - 注意 客户端ID 和 客户端密钥
2.部署
# Install Railway CLI
npm install -g @railway/cli
# Login, init, and deploy
railway login
railway init
railway up3.设置环境变量
在铁路仪表板中,添加:
| 变量 | 描述 |
|---|---|
OURA_CLIENT_ID | 从您的Oura OAuth应用程序 |
OURA_CLIENT_SECRET | 从您的Oura OAuth应用程序 |
NODE_ENV | production |
MCP_SECRET | *(可选)* Claude Desktop的静态承载令牌(openssl rand -base64 32) |
OURA_ACCESS_TOKEN | *(可选)* 如果不使用OAuth,则PAT回退(MCP_SECRET 必填) |
铁路自动设置 PORT 和 RAILWAY_PUBLIC_DOMAIN.
4.从Claude.ai连接
使用 连接器 在第ai条中:
- 前往“设置”>“MCP连接器”>“添加”
- 请输入您的服务器URL:
https://your-app.railway.app(无/mcp) - 将OAuth客户端ID和密钥留空(动态注册处理)
- 您将被重定向到Oura以授权访问您的数据
5.从克劳德桌面连接
对于Claude Desktop,请使用 MCP_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}'贡献
看 CLAUDE.md 了解架构细节和开发指南。
许可证
麻省理工学院
