Marrow Get the beta

MCP 2025-06-18 / streamable http / read-only / free

Connect an agent to Marrow.

Marrow serves your Apple Health data over the Model Context Protocol, from your own iPhone or your own server. Six read-only tools, bearer-token auth, no account anywhere. This page is the whole setup.

1. Turn the server on

It ships off. In the app: Export → Agents (MCP), then enable the server. You get a URL, a token, and a QR code. The server binds to your local network only, and the app shows the exact address it is listening on.

2. Point your client at it

Replace <phone-ip> and <token> with what the app shows you.

Claude Code

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

Claude Desktop, Cursor, or any client using an mcp.json

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

Check it by hand

curl -s http://<phone-ip>:21212/mcp \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

The tools

All read-only. Nothing an agent can call writes to your health record.

ToolReturns
health_summaryRecent days across activity, heart, sleep and nutrition
list_metricsEvery metric tracked, with units and coverage
metric_dailyDaily values for any metric, up to 400 days
metric_samplesRaw records with timestamps and source devices
workoutsWorkouts, including set-by-set strength detail
nutrition_logFood diary with the full nutrient breakdown

There are 174 metrics behind list_metrics, covering activity, heart, sleep, body, respiratory, mobility, hearing, nutrition, mind, symptoms, cycle and habits. Machine-readable version of this page: tools.json.

Keeping it up when the phone is not

The on-device server answers while the app is running. For 24/7 access, pair a self-hosted mirror: one Python stdlib file on a Pi, NAS or old laptop. The phone's background pushes keep it current, and it speaks the same MCP surface at http://<server-ip>:8800/mcp with its own token. It is open source and installable:

pip install marrow-mcp
marrow-server

Source: github.com/DukeAidanHall/marrow-mcp. Listed in the official MCP registry as tech.skeletonarmy/marrow.

Do not port-forward either server to the open internet. Both are designed for a LAN or a tailnet. If you need remote access, front it with tailscale serve or an equivalent, so the transport is HTTPS and the device is authenticated before the bearer token is ever seen.

What this costs

Nothing. Agent access is in the free tier, along with background sync, automated export, CSV and JSON export, and barcode scanning. Health Auto Export shipped an MCP server before Marrow did, and it is good, but theirs requires a Premium subscription. That difference, not primacy, is the claim worth making.

Requirements