Whoop MCP 服务器是一个基于 Python 的工具,它遵循 MIT 许可证,适配 Python 3.12 版本。该服务器借助模型上下文协议 (MCP) 提供对 Whoop API 的访问,支持语言模型查询周期、恢复、压力和锻炼等相关数据。
使用此服务器需要 Whoop 凭据。该服务器使用电子邮件/密码进行身份验证,通过 Whoop API 登录。
更新你的 claude_desktop_config.json 文件(位于 ~/Library/Application\ Support/Claude/claude_desktop_config.json macOS 上和 %APPDATA%/Claude/claude_desktop_config.json Windows 上)以包含以下内容:
{
"mcpServers": {
"Whoop": {
"command": "python",
"args": ["/path/to/whoop/src/whoop_server.py"],
"cwd": "/path/to/whoop",
"env": {
"WHOOP_EMAIL": "your.email@example.com",
"WHOOP_PASSWORD": "your_password"
}
}
}
}
该项目还包括一个 HTTP API 服务器,通过相同的功能公开为 HTTP 端点。运行方法:
./run_whoop_server.sh
安装前请确保已安装 Python 3.12,然后安装项目依赖:
pip install -r requirements.txt
连接后,你可以询问 Claude 如下问题:
你可以根据需求调整配置文件中的日期范围或天数参数,以获取不同的数据。例如,在调用工具时修改日期参数:
# 示例代码,假设在调用 get_cycle_collection 工具
from whoop_server import get_cycle_collection
cycle_data = get_cycle_collection(start_date="2024-01-01", end_date="2024-01-31")
该服务器公开了以下工具:
get_cycle_collection(start_date: str, end_date: str):获取指定日期范围的周期数据get_latest_cycle():获取最新的周期数据get_recovery_data(start_date: str, end_date: str):获取指定日期范围的恢复数据get_strain_data(start_date: str, end_date: str):获取指定日期范围的压力数据get_average_strain(days: int = 7):计算指定天数内的平均压力get_profile():获取用户资料信息check_auth_status():检查与 Whoop API 的认证状态日期需提供为 ISO 格式(YYYY-MM-DD)。
该服务器提供常见问题的人类可读错误信息:
whoop/
├── src/
│ ├── whoop_server.py # MCP 服务器实现
│ └── whoop_http_server.py # HTTP API 服务器实现
├── config/
│ └── .env # 环境变量
├── requirements.txt # Python 依赖项
└── run_whoop_server.sh # 运行服务器的脚本
该项目采用 MIT License,具体信息请参阅 LICENSE 文件。