健康数据分析服务

Oura MCP Server 是一个连接Oura Ring健康数据的服务,允许用户通过自然语言查询和分析睡眠、活动、心率等健康指标。

  • by ai-niki
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 pokidyshev/oura-mcp

使用说明

Oura MCP服务器

将您的Oura Ring连接到Claude、Cursor或任何兼容MCP的应用程序!使用自然语言询问有关您的睡眠、活动、准备情况、心率和其他健康指标的问题。

你能做什么?

安装后,您可以询问您的AI助手:

  • “我昨晚的睡眠分数是多少?”
  • “显示我过去一周的活动数据”
  • “我这个月的准备情况如何?”
  • “昨天锻炼时我的心率是多少?”
  • “显示我的最大摄氧量进展”

您的AI助手将可以访问您的所有Oura Ring数据,并可以分析趋势、比较时期并为您提供见解。

快速设置

备注:本指南涵盖 个人使用 使用个人访问令牌。对于 生产部署 使用OAuth2配置环境变量(OURA_CLIENT_ID, OURA_CLIENT_SECRET, DEPLOYED_URL)在您的FastMCP Cloud仪表板中进行部署。

第一步:获取Oura代币

  1. 首选https://cloud.ouraring.com/personal-access-tokens
  2. 使用您的Oura帐户登录
  3. 点击 “创建新的个人访问令牌”
  4. 给它起个名字(比如“克劳德”)
  5. 复制令牌 -你不会再看到它了!

步骤2:配置MCP客户端

对于Claude Desktop:

查找您的Claude Desktop配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

在文本编辑器中打开它并添加此内容(替换 YOUR_TOKEN_HERE 使用步骤1中的令牌):

{
  "mcpServers": {
    "oura": {
      "command": "uvx",
      "args": ["oura-mcp"],
      "env": {
        "OURA_ACCESS_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

如果您已经有其他MCP服务器,只需添加 "oura" 内部部分 "mcpServers".

对于其他MCP客户端 (光标等):有关MCP服务器配置,请参阅客户的文档。使用相同 uvx oura-mcp 命令与 OURA_ACCESS_TOKEN 环境变量。

步骤3:重新启动MCP客户端

关闭并重新打开您的应用程序(Claude Desktop、Cursor等)。查找MCP服务器/工具指示器-您应该看到“oura”列为已连接。

第四步:开始使用它!

试着问:“给我看看上周的睡眠数据”

可用数据

服务器提供对以下内容的访问:

每日总结

  • 睡眠评分和分析(深度睡眠、REM、效率等)
  • 活动分数、步数、卡路里和活动时间
  • HRV、温度和恢复指标的准备度得分
  • 压力和恢复数据

详细指标

  • 心率、心率变异性和呼吸模式的睡眠会话
  • 有强度、卡路里和距离的锻炼
  • 5分钟间隔的心率数据
  • VO2最大估计值
  • 血氧水平(Gen 3环)
  • 恢复力和心血管年龄

个人资料

  • 响铃信息和设置
  • 个人资料数据
  • 标签和注释

故障排除

“没有可用的访问令牌”或连接错误

  1. 仔细检查配置文件中的令牌是否正确
  2. 确保没有多余的空格或引号
  3. 更改后重新启动应用程序
  4. 如果需要,创建新令牌:https://cloud.ouraring.com/personal-access-tokens

没有数据显示

  • 确保您的Oura Ring最近已同步(打开Oura移动应用程序)
  • 睡眠数据需要通过应用程序手动同步
  • 你只能访问戴戒指的日期

MCP客户端看不到Oura服务器

  1. 检查客户的MCP服务器/工具列表-是否列出了“oura”?
  2. 验证您的配置文件是否包含有效的JSON(在线使用JSON验证器)
  3. 确保在编辑配置后重新启动应用程序

还有问题吗?

检查Oura API状态:https://api.ouraring.com

对于开发者

本地开发

git clone https://github.com/pokidyshev/oura-mcp.git
cd oura-mcp

# Create .env file with your token
cp .env.example .env
# Edit .env and add: OURA_ACCESS_TOKEN=your_token

# Install and test
uv sync
uv run mcp dev src/oura_mcp/server.py

生产部署(OAuth2)

对于FastMCP Cloud的生产部署:

  1. 在Oura开发者门户中配置OAuth:

    • 首选https://cloud.ouraring.com/oauth/applications
    • 添加重定向URI: https://your-app.fastmcp.app/mcp/auth/callback
  2. 生成JWT签名密钥:

    python -c "import secrets; print(secrets.token_urlsafe(32))"
    

    复制输出-下一步您将需要它。

  3. 在FastMCP Cloud仪表板中设置环境变量:

    OURA_CLIENT_ID=your_client_id
    OURA_CLIENT_SECRET=your_client_secret
    DEPLOYED_URL=https://your-app.fastmcp.app
    JWT_SIGNING_KEY=<paste_generated_key_here>
    

    ⚠️ 重要说明:

    • DEPLOYED_URL 是基本域(FastMCP Cloud处理 /mcp 自动安装)
    • 保持 JWT_SIGNING_KEY 稳定!如果更改它,所有用户令牌都将无效。
  4. 部署:推送到连接的GitHub仓库或使用FastMCP CLI

  5. 在Claude桌面中使用:添加到配置:

    {
      "mcpServers": {
        "oura": {
          "url": "https://your-app.fastmcp.app"
        }
      }
    }
    

技术细节

  • 速率限制:每5分钟窗口5000个请求(自动处理)
  • 数据格式:所有响应均为JSON格式
  • 日期格式:支持自然语言(“今天”、“昨天”、“上周”)和YYYY-MM-DD
  • 安全:所有API调用都使用HTTPS。仅存储在环境变量中的令牌。

许可证

MIT许可证-请参阅许可证文件

链接

  • Oura API文档: https://cloud.ouraring.com/docs
  • MCP文件: https://modelcontextprotocol.io
  • 内置于: FastMCP