Marrow Get the app

guide / updated September 2026

Connect Claude, Claude Code, Cursor or OpenClaw to Apple Health.

Two things are true at once in 2026. Claude and ChatGPT can both read Apple Health, and neither can do it anywhere except inside its own iPhone app. If the agent you actually use lives on a Mac, a Mac mini in a closet, a VPS, or a terminal, you need something on the phone to hand the data out. This page covers both halves.

1. What the built-in connectors do

Anthropic added an Apple Health connection to the Claude iOS app in January 2026, in beta for Pro and Max subscribers in the US. OpenAI's ChatGPT Health reached US users in July 2026 and includes the free plan. Both ask iOS for Health permission, pull what they need during a conversation, and are read-only.

Claude connectorChatGPT HealthMarrow
Works inClaude iPhone appChatGPT iPhone appAny MCP client, any machine
Claude Code, Claude Desktop, CursorNoNoYes
OpenClaw, Hermes, local modelsNoNoYes
While the phone is in your pocketNoNoYes, via the self-hosted mirror
Meal diary and set-by-set liftsHealthKit totals onlyHealthKit totals onlyYes
Numbers checked against Apple's own daily totalsNoNoYes
Where your data goesAnthropic, per chatOpenAI, per chatStays on your phone or your box
PricePro or MaxFreeFree, MIT server

Use the built-in connector if you only ever talk to the assistant on your phone and want a quick read. Use Marrow the moment the agent is somewhere else, needs to run on a schedule, or needs the detail behind the totals.

2. Why "iPhone app only" is not a policy choice

HealthKit is an on-device framework. There is no Apple Health server API, nothing a script on a Mac or a cloud function can call. Every desktop or server integration, including ours, is really an iOS app that reads HealthKit and serves it out. That is why a typical Claude Code setup ends up with a phone app pushing to a database and an MCP server in front of it.

3. The two-minute version: on-device MCP

Marrow runs an MCP server on the iPhone itself. Install the app, open Export, then Agents, turn the server on, and it shows a URL and bearer token. It answers while the app is open and your machine is on the same Wi-Fi or tailnet. Full instructions, including a prompt you can paste into any agent so it walks you through setup, are on the agent setup page.

4. The always-on version: self-hosted mirror

For Claude Code, Cursor, OpenClaw, or anything that needs your data while the phone is asleep, pair the mirror. It is one Python file with no dependencies, MIT licensed, and the phone's background pushes keep it current.

pip install marrow-mcp
marrow-server            # prints a pairing link and the agent token

Open the pairing link on any screen, then in Marrow: Server, then Pair with a server, then scan. From then on the mirror keeps a SQLite copy on your hardware and serves the same seven tools at http://<server-ip>:8800/mcp.

Claude Code

claude mcp add --transport http marrow http://<server-ip>:8800/mcp \
  --header "Authorization: Bearer <mcp token>"

Claude Desktop, Cursor, OpenClaw, Hermes, anything with an mcp.json

{
  "mcpServers": {
    "marrow": {
      "type": "http",
      "url": "http://<server-ip>:8800/mcp",
      "headers": { "Authorization": "Bearer <mcp token>" }
    }
  }
}

Claude Desktop also has a one-click .mcpb bundle on the releases page.

From outside your network

Do not port-forward the server. Put it on a tailnet and it works from anywhere the agent machine can reach:

tailscale serve --bg --https=8800 http://127.0.0.1:8800

Then use the tailnet URL in the config above. The self-hosted mirror guide has the rest, including what lands on disk.

5. What the agent can ask

Seven read-only tools: health_summary, list_metrics, metric_daily, metric_samples, workouts, nutrition_log, strength_log. Behind them are 172 Apple Health types plus Marrow's own meal diary and lifting log. Prompts that work well:

6. Why the numbers matter more than the model

In January 2026 a Washington Post reporter connected both assistants to his Apple Health data. ChatGPT graded his heart health an F, then a B on a repeat, and forgot his age. Claude did better and still, in the report's words, failed to account for limitations in the Apple Watch data. The models were fine. They were handed unqualified numbers with no sense of what was missing.

Marrow reconciles every daily value against Apple's own totals before an agent sees it, and its tools return records with source devices and timestamps so the agent can tell a real low from a day the watch sat on a charger. The verification layer exists because the founder caught the incumbent export app silently freezing mid-afternoon and under-reporting steps by about 40 percent. Every answer an agent gives from Marrow is computed from your records, then phrased.

The short version