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.
| Tool | Returns |
|---|---|
health_summary | Recent days across activity, heart, sleep and nutrition |
list_metrics | Every metric tracked, with units and coverage |
metric_daily | Daily values for any metric, up to 400 days |
metric_samples | Raw records with timestamps and source devices |
workouts | Workouts, including set-by-set strength detail |
nutrition_log | Food 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
- iOS 17 or later, and Apple Health. There is no Android or web version.
- Marrow is in TestFlight beta (0.2.0, build 85). Ask for an invite.
- No Marrow account exists, so there is no hosted API to call without a user's own device.