把 Claude、Claude Code、Cursor 或 OpenClaw 连接到 Apple Health
2026 年有两件事同时成立。Claude 和 ChatGPT 都能读取 Apple Health,而且只有在各自的 iPhone 应用里才能做到。如果你真正在用的智能体运行在 Mac、放在柜子里的 Mac mini、VPS 或终端里,你就需要手机上有个东西把数据交出去。本页两部分都会讲。
1. 内置连接器能做什么
Anthropic 在 2026 年 1 月为 Claude iOS 应用加入了 Apple Health 连接,面向美国的 Pro 和 Max 订阅用户开放测试。OpenAI 的 ChatGPT Health 于 2026 年 7 月面向美国用户推出,包括免费套餐。两者都向 iOS 申请健康权限,在对话中按需拉取数据,并且都是只读的。
| Claude 连接器 | ChatGPT Health | Marrow | |
|---|---|---|---|
| 适用于 | Claude iPhone 应用 | ChatGPT iPhone 应用 | 任意 MCP 客户端,任意机器 |
| Claude Code、Claude Desktop、Cursor | 否 | 否 | 是 |
| OpenClaw、Hermes、本地模型 | 否 | 否 | 是 |
| 手机在口袋里时 | 否 | 否 | 是,通过自托管镜像 |
| 餐食日记和逐组的力量训练记录 | 仅限 HealthKit 总计 | 仅限 HealthKit 总计 | 是 |
| 数字已对照 Apple 自己的每日总计核对 | 否 | 否 | 是 |
| 你的数据去哪里 | Anthropic,按对话 | OpenAI,按对话 | 留在你的手机或你的机器上 |
| 价格 | Pro 或 Max | 免费 | 免费,MIT 许可的服务器 |
如果你只在手机上和助手对话、只想快速看一眼,就用内置连接器。一旦智能体在别处、需要按计划运行,或需要总计背后的明细,就用 Marrow。
2. 为什么“只能在 iPhone 应用里用”并不是一种政策选择
HealthKit 是设备端框架。Apple Health 没有服务器 API,Mac 上的脚本或云函数都无从调用。每一种桌面或服务器集成,包括我们的,实质上都是一个读取 HealthKit 并把数据提供出去的 iOS 应用。所以典型的 Claude Code 设置最终都是一个手机应用把数据推送到数据库,前面再放一个 MCP 服务器。
3. 两分钟版本:设备端 MCP
Marrow 直接在 iPhone 上运行一个 MCP 服务器。安装应用,打开导出,然后是本地 MCP,开启服务器,它会显示一个 URL 和承载令牌。在应用打开、且你的机器与手机处于同一个 Wi-Fi 或 tailnet 时,它会响应。完整说明,包括一段可以粘贴给任意智能体、让它带你完成设置的提示词,见智能体设置页面.
4. 常驻版本:自托管镜像
对于 Claude Code、Cursor、OpenClaw,或任何需要在手机休眠时读取你数据的东西,请配对镜像。它是一个没有依赖项的 Python 文件,采用 MIT 许可,由手机的后台推送保持更新。
pip install marrow-mcp
marrow-server # prints a pairing link and the agent token
在任意屏幕上打开配对链接,然后在 Marrow 中:导出,Server MCP,与服务器配对,然后扫描。从此镜像会在你的硬件上保存一份 SQLite 副本,并在 http://<server-ip>:8800/mcp 提供十三个读取工具:手机上的那九个,加上 sleep_log、symptoms_and_mood、what_changed 和 data_quality(十三个全部列在第 5 节)。在 Marrow 中为这台服务器打开允许 AI 写入,它还会列出十二个写入工具。手机会在 Marrow 打开或唤醒时取走这些记录。
Claude Code
claude mcp add --transport http marrow http://<server-ip>:8800/mcp \
--header "Authorization: Bearer <mcp token>"
Claude Desktop、Cursor、OpenClaw、Hermes,以及任何带 mcp.json 的工具
{
"mcpServers": {
"marrow": {
"type": "http",
"url": "http://<server-ip>:8800/mcp",
"headers": { "Authorization": "Bearer <mcp token>" }
}
}
}
Claude Desktop 还可以使用发布页面上的一键 .mcpb 包.
从你的网络之外
不要对服务器做端口转发。把它放到 tailnet 上,智能体所在的机器能连上的任何地方都可以访问:
tailscale serve --bg --https=8800 http://127.0.0.1:8800
然后在上面的配置里使用 tailnet URL。其余内容,包括磁盘上会存什么,见自托管镜像指南。
5. 智能体可以问什么
手机上有九个读取工具:health_summary、list_metrics、metric_daily、metric_samples、workouts、nutrition_log、strength_log,以及两个拿你自己的日常水平评分、可直接交给模型的读取工具:daily_brief(今天,附应用自己的措辞和值得一提的标记)和 baselines。镜像提供十三个,另外增加 sleep_log、symptoms_and_mood、what_changed(最近一周对比之前四周)和 data_quality(哪些是新的、过时的或缺失的)。开启允许 AI 写入后,两者还会列出十二个写入工具。它们背后是 172 种 Apple Health 类型,以及 Marrow 自己的餐食日记和力量训练记录。效果不错的提示词:
- “比较我开始晨练前后各四周的静息心率和 HRV。”
- “这个月哪几天我睡眠不足六小时?第二天我的步数怎么样了?”
- “汇总最近两周的蛋白质摄入与我的目标对比,并标出最差的那几天。”
- “按估算的 1RM 显示我从 6 月以来的深蹲进步。”
- “我今天表现如何?这周有什么变化?”(镜像根据
daily_brief和what_changed作答,并对照你自己的日常水平评分)
6. 为什么数字比模型更重要
2026 年 1 月,《华盛顿邮报》的一位记者把两个助手都连接到了他的 Apple Health 数据。ChatGPT 给他的心脏健康打了 F,重测时又打了 B,还忘了他的年龄。Claude 表现更好,但按报道的说法,仍然没有考虑到 Apple Watch 数据的局限。模型本身没问题,问题是交给它们的是未经校正的数字,而且它们不知道缺了什么。
Marrow 在智能体看到每个每日数值之前,都会先对照 Apple 自己的总计做校对,它的工具返回的记录带有来源设备和时间戳,这样智能体就能分清是真的偏低,还是那天手表一直在充电。之所以有这一层校验,是因为创始人发现老牌导出应用会在下午悄悄停止更新,使步数少报约 40%。智能体根据 Marrow 给出的每个回答,都是先从你的记录中算出来,再组织成语言的。
简短版本
- 只在手机上对话:用内置的 Claude 或 ChatGPT 连接器就行。
- 同一网络中的 Claude Code、Desktop、Cursor:用 Marrow 的设备端服务器,两分钟。
- OpenClaw、家用服务器,或任何在你睡觉时也在运行的东西:
pip install marrow-mcp,配对一次即可。 - 以上全部免费。如果你什么都不想自己运行,Cloud MCP(Marrow Pro)会为 claude.ai、ChatGPT 和 Gemini 托管镜像。在 Claude 的连接器目录里,它以 Marrow Health 的名字收录,点一下就能添加。获取 Marrow,然后按设置页面操作.
所有方案并排对比,包括适用于 claude.ai 的托管方案:Apple Health MCP 服务器对比。让 Claude 把餐食和训练记进 Apple Health:用 AI 记录饮食.