在mcp内
   
MCP服务器 Withings Health API公司 使用OAuth、本地SQLite缓存和趋势分析。
这与其他Withings MCP服务器有何不同:
- 本地SQLite缓存,用于快速离线查询和历史趋势分析
- 增量同步-仅获取自上次同步以来的新数据
- 支持所有200多种Withings测量类型(身体检查、睡眠、活动、锻炼、心电图)
- OAuth令牌自动刷新(访问令牌:3小时,刷新令牌:1年)
- 超越零依赖
mcp(通过stdlib进行HTTP) - Python 3.13+
工具
| 工具 | 说明 |
|---|---|
withings_sync | 将数据从Withings API同步到本地缓存 |
withings_get_body | 身体成分(体重、脂肪百分比、肌肉、骨骼、血压、血氧饱和度) |
withings_get_sleep | 睡眠总结或详细的相位时间序列 |
withings_get_activity | 每日步数、距离、卡路里、活动时间 |
withings_get_workouts | 训练课程类型、持续时间、人力资源 |
withings_get_heart | 心电图记录和心房颤动检测 |
withings_get_devices | 具有电池状态的连接设备 |
withings_trends | 周期平均值、每周/每月/每季度趋势、比较 |
先决条件
- Python 3.13+
- 紫外线 (推荐)或pip
- Withings开发人员帐户和注册应用程序
安装
git clone https://github.com/partymola/withings-mcp.git
cd withings-mcp
uv venv --python 3.13 .venv
uv pip install -e .设置
1.注册Withings应用程序
- 首选https://developer.withings.com/dashboard
- 创建新应用程序
- 将回调URL设置为
http://localhost:8585 - 记下您的客户端ID和客户端密码
2.身份验证
.venv/bin/withings-mcp auth这将打开您的浏览器进行Withings授权。批准后,令牌将保存在本地 config/.
3.用克劳德代码注册
claude mcp add -s user withings -- /path/to/withings-mcp/.venv/bin/withings-mcp4.首次同步
在Claude Code中,说:“同步我的Withings数据”
这运行 withings_sync 以填充本地缓存。后续同步仅获取新数据。
配置
| 环境变量 | 默认值 | 描述 |
|---|---|---|
WITHINGS_MCP_CONFIG_DIR | ./config/ | 凭据和令牌目录 |
WITHINGS_MCP_DB_PATH | ./withings.db | SQLite数据库路径 |
示例提示
- “同步我的Withings数据”
- “显示我过去3个月的体重”
- “今年我的睡眠有什么变化?”
- “比较我这个月和上个月的身体成分”
- “三月份我做了什么锻炼?”
- “我连接了哪些Withings设备?”
- “每季度显示我的睡眠趋势”
发展
# Install with dev dependencies
uv pip install -e . && uv pip install pytest
# Run tests (74 tests, all use in-memory SQLite with fictional data)
.venv/bin/python -m pytest tests/ -v安全
- 只读:没有工具可以修改Withings服务器上的数据
- 本地存储:健康数据保存在本地SQLite数据库中
- 令牌存储:OAuth令牌存储在
config/(gitignored,文件权限0600) - 错误消息:从不包含健康数据值,只包含状态代码
- 预提交挂钩:拒绝提交数据库文件和凭据
贡献
看 贡献.md 用于开发设置、测试工作流和预提交挂钩。在中跟踪更改 更改日志.md.
许可证
GPL-3.0或更高版本
