mcpField
W
withings-mcp

withings-mcp

本地服务
github.com/partymola健康医疗13 天前更新

关于 withings-mcp

withings-mcp 是连接 Withings Health API 的只读 MCP 服务,面向需要查询和分析健康数据的用户。它将数据增量同步到本地 SQLite 缓存,并提供趋势分析与自动 OAuth 令牌刷新。

主要功能

  1. 01同步身体组成、睡眠、活动和锻炼数据
  2. 02查询 ECG 记录与房颤检测
  3. 03使用本地 SQLite 缓存和增量同步
  4. 04分析周期均值及周月季趋势
  5. 05自动刷新 OAuth 令牌
  6. 06通过命令行同步和检查配置

适用场景

  1. 01查看数月体重变化
  2. 02比较本月与上月身体组成
  3. 03分析年度睡眠变化
  4. 04汇总指定月份的锻炼记录

MCP 相关

withings-mcp 将 Withings 健康数据查询和同步工具提供给 MCP 客户端。缓存查询可在数据过期时自动同步,也可指定实时读取;心脏数据和设备查询始终访问实时 API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"partymola-withings": {
"command": "uvx",
"args": [
"withings-mcp"
]
}
}
}
启动命令uvx withings-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiwithings-mcp0.8.0

工具

8

收录的工具列表 · 更新于 2 周前

参数类型必填说明
daysinteger否
data_typesstring否

详细介绍

withings-mcp

CI License: GPL v3 Python 3.13+ PyPI Glama MCP Server

适用于 Withings Health API 的 MCP 服务,支持 OAuth、本地 SQLite 缓存和趋势分析。

与其他 Withings MCP 服务相比,它的特点:

  • 本地 SQLite 缓存,支持快速离线查询和历史趋势分析
  • 增量同步——仅获取上次同步之后的新数据
  • 广泛覆盖 Withings 数据:17 项身体成分指标,以及睡眠、每日活动、锻炼和 ECG/AFib
  • 自动刷新 OAuth 令牌(访问令牌:3h,刷新令牌:1 年)
  • 除 mcp 外零依赖(HTTP 使用标准库)
  • Python 3.13+(已在 Linux、macOS 和 Windows 上通过 CI 测试 Python 3.13 和 3.14)

工具

工具描述数据来源
withings_sync将 Withings API 的数据同步到本地缓存实时 API -> SQLite
withings_get_body身体成分(体重、脂肪率、肌肉、骨量、血压、SpO2)本地缓存(过期时自动同步)
withings_get_sleep睡眠摘要,或使用 detail=True 获取详细的睡眠阶段时间序列缓存(摘要)/实时(详细数据)
withings_get_activity每日步数、距离、卡路里、活动时长本地缓存(过期时自动同步)
withings_get_workouts锻炼记录,包含类型、时长、心率本地缓存(过期时自动同步)
withings_get_heartECG 记录和 AFib 检测实时 API(始终)
withings_get_devices已连接设备及其电池状态实时 API(始终)
withings_trends周期平均值、每周/每月/每季度趋势及比较本地缓存(过期时自动同步)

基于缓存的查询工具会在数据过期时自动同步,并接受 live=True 参数以绕过缓存,直接从 Withings API 获取数据。withings_get_heart 和 withings_get_devices 始终获取实时数据。withings_get_sleep(detail=True) 会返回逐分钟的睡眠阶段数据(实时获取,每次请求最多 7 天)。

前置条件

  • Python 3.13+(已在 Linux、macOS 和 Windows 上通过 CI 测试 Python 3.13 和 3.14)
  • uv(推荐)或 pip
  • Withings 开发者账户和已注册的应用

安装

pip install withings-mcp

也可以使用 uvx withings-mcp 直接运行,无需安装。若要从克隆的代码库进行开发:

git clone https://github.com/partymola/withings-mcp.git
cd withings-mcp
uv venv --python 3.13 .venv
uv pip install -e .

设置

1. 注册 Withings 应用
  1. 前往 https://developer.withings.com/dashboard
  2. 创建新应用
  3. 将回调 URL 设置为 http://localhost:8585
  4. 记下 Client ID 和 Client Secret
2. 身份验证
.venv/bin/withings-mcp auth

这会打开浏览器以进行 Withings 授权。批准后,令牌会保存在本地的 config/ 中。

3. 在 Claude Code 中注册
claude mcp add -s user withings -- /path/to/withings-mcp/.venv/bin/withings-mcp
4. 首次同步

在 Claude Code 中说:“同步我的 Withings 数据”

这会运行 withings_sync 来填充本地缓存。之后的同步只会获取新数据。

如果遇到问题——例如没有出现预期的数据,或同步停止运行——请运行 withings-mcp doctor。它会报告实际使用的路径和凭据,以及需要修复的内容,且不会发出 API 请求。

你也可以在不使用 MCP 客户端的情况下,通过命令行同步:

.venv/bin/withings-mcp sync                      # all data types, last 30 days
.venv/bin/withings-mcp sync --types body,sleep   # a subset
.venv/bin/withings-mcp sync --days 90            # deeper history on first sync

命令行界面

withings-mcp              Start the MCP server (stdio transport)
withings-mcp auth         Interactive OAuth setup (opens the browser)
withings-mcp sync         Sync data to the local cache (--types, --days)
withings-mcp doctor       Check the setup and report what needs fixing
withings-mcp --version    Print the installed package version

配置

环境变量默认值描述
WITHINGS_MCP_CONFIG_DIR./config/凭据和令牌的目录
WITHINGS_MCP_DB_PATH./withings.dbSQLite 数据库路径

示例提示词

  • “同步我的 Withings 数据”
  • “显示我过去 3 个月的体重”
  • “我今年的睡眠情况有什么变化?”
  • “比较我本月和上月的身体成分”
  • “我 3 月做了哪些锻炼?”
  • “我连接了哪些 Withings 设备?”
  • “按季度显示我的睡眠趋势”

开发

# Install with dev dependencies
uv pip install -e . && uv pip install pytest

# Run tests (all use in-memory SQLite with fictional data)
.venv/bin/python -m pytest tests/ -v      # .venv\Scripts\python on Windows

安全

  • 只读:没有任何工具会修改 Withings 服务上的数据
  • 本地存储:健康数据保存在你的本地 SQLite 数据库中
  • 令牌存储:OAuth 令牌存储在 config/ 中(已加入 gitignore;在 POSIX 系统上创建时权限为 0600;Windows 忽略该模式,并通过 ACL 控制访问权限)
  • 错误消息:绝不包含健康数据值,只包含状态码
  • 提交前钩子:可选钩子(scripts/check-no-data.sh)会阻止将数据库文件、config/ 下的文件和大型文件提交到代码库。它不会读取文件内容。可使用 CONTRIBUTING.md 中的单行命令安装

贡献

开发环境设置、测试工作流和提交前钩子请参阅 CONTRIBUTING.md。变更记录见 CHANGELOG.md。

许可证

GPL-3.0-or-later

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。