README
🚀 Whoop MCP 服务器
Whoop MCP 服务器是一个基于 Python 的工具,它遵循 MIT 许可证,适配 Python 3.12 版本。该服务器借助模型上下文协议 (MCP) 提供对 Whoop API 的访问,支持语言模型查询周期、恢复、压力和锻炼等相关数据。
🚀 快速开始
使用此服务器需要 Whoop 凭据。该服务器使用电子邮件/密码进行身份验证,通过 Whoop API 登录。
Claude for Desktop
更新你的 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 API 服务器,通过相同的功能公开为 HTTP 端点。运行方法:
./run_whoop_server.sh
✨ 主要特性
- 多数据查询支持:支持查询周期、恢复、压力和锻炼等数据。
- 多种调用方式:既可以通过更新配置文件供 Claude for Desktop 使用,也可以作为 HTTP API 服务器调用。
- 错误友好提示:提供常见问题的人类可读错误信息。
📦 安装指南
安装前请确保已安装 Python 3.12,然后安装项目依赖:
pip install -r requirements.txt
💻 使用示例
基础用法
连接后,你可以询问 Claude 如下问题:
- “今天的恢复分数是多少?”
- “显示过去一周的压力数据”
- “过去7天内的平均压力是多少?”
- “获取最新的周期数据”
高级用法
你可以根据需求调整配置文件中的日期范围或天数参数,以获取不同的数据。例如,在调用工具时修改日期参数:
# 示例代码,假设在调用 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)。
错误处理
该服务器提供常见问题的人类可读错误信息:
- 无效日期格式
- API 认证错误
- 网络连接问题
- 缺少或无效凭证
🔧 技术细节
项目结构
whoop/
├── src/
│ ├── whoop_server.py # MCP 服务器实现
│ └── whoop_http_server.py # HTTP API 服务器实现
├── config/
│ └── .env # 环境变量
├── requirements.txt # Python 依赖项
└── run_whoop_server.sh # 运行服务器的脚本
📄 许可证
该项目采用 MIT License,具体信息请参阅 LICENSE 文件。
微信扫一扫