健康数据服务器

一个提供WHOOP健身追踪器数据访问的MCP服务器,包括恢复分数、睡眠指标和运动数据。

  • by JasonBates
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 JasonBates/whoop-mcp-server

使用说明

WHOOP MCP服务器

MCP(模型上下文协议)服务器,为Claude Desktop提供访问您的WHOOP健身追踪器数据的权限,包括恢复评分、睡眠指标和压力数据。

特性

  • 恢复数据:获取您的每日恢复评分、心率变异性、静息心率和血氧饱和度
  • 睡眠分析:查看睡眠持续时间、阶段(浅/深/REM)、效率和性能
  • 复苏趋势:跟踪过去7-14天的恢复情况
  • 应变指标:监测每日压力、卡路里和心率数据
  • 锻炼历史记录:查看最近的锻炼,包括运动类型、压力、卡路里和HR区域

先决条件

  • Python 3.11+
  • 紫外线 包管理器
  • WHOOP会员资格和设备
  • WHOOP开发者帐户(免费)

设置

1.克隆和安装

git clone https://github.com/JasonBates/whoop-mcp-server.git
cd whoop-mcp-server
uv sync

2.创建WHOOP开发者应用程序

  1. 首选 developer.hop.com
  2. 使用您的WHOOP帐户登录
  3. 创建新应用程序:
    • 应用程序名称:“WHOOP MCP”(或您的偏好)
    • 重定向URI: http://localhost:8080/callback
  4. 记下你的 客户端ID 和 客户端密钥

3.配置凭据

创建一个 .env 示例中的文件:

cp .env.example .env

编辑 .env 并添加您的凭据:

WHOOP_CLIENT_ID=your_client_id_here
WHOOP_CLIENT_SECRET=your_client_secret_here

4.向世界卫生组织授权

运行令牌获取脚本:

uv run python scripts/get_tokens.py

这将:

  • 打开浏览器登录WHOOP
  • 请求对应用程序的授权
  • 将您的访问权限和刷新令牌保存到 .env
  • 测试API连接

5.配置克劳德桌面

将服务器添加到您的Claude Desktop配置中: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "whoop": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/whoop-mcp-server",
        "run",
        "python",
        "-m",
        "whoop_mcp"
      ]
    }
  }
}

替换 /path/to/whoop-mcp-server 包含克隆存储库的完整路径。

6.重新启动克劳德桌面

退出并重新打开Claude Desktop。您应该在MCP服务器列表中看到“哇”。

用法

配置后,您可以向Claude询问以下问题:

  • “我今天的WHOOP状态如何?”(使用合并摘要)
  • “我昨晚睡得怎么样?”
  • “显示我过去一周的恢复趋势”
  • “我目前的压力是什么?”
  • “显示我最近的锻炼”

可用工具

工具 说明
get_today_summary 今天的恢复、睡眠和压力在一个电话里
get_sleep_trend 睡眠历史记录(默认7天,无限制)
get_recovery_trend 恢复历史记录(默认7天,无限制)
get_workouts 锻炼历史记录(默认5,无限制)

故障排除

“身份验证错误:找不到访问令牌”

运行令牌脚本: uv run python scripts/get_tokens.py

令牌已过期

服务器会自动刷新令牌,但如果遇到持续的身份验证错误,请重新运行令牌脚本。

多台机器

每台机器必须单独向WHOOP授权。您无法复制 .env 机器之间的令牌,因为每个会话上的第一个API调用刷新令牌,这会使其他机器上的令牌无效。跑 uv run python scripts/get_tokens.py 在您要使用的每台机器上。

速率限制

WHOOP API允许100个请求/分钟和10000个请求/天。正常使用不太可能达到这些限制。

发展

# Test with MCP Inspector
npx @modelcontextprotocol/inspector uv run python -m whoop_mcp

许可证

麻省理工学院