
Marrow
tech.skeletonarmyPublished by skeletonarmy.techv0.4.1Updated Oct 30, 2026
Marrow Health: your Apple Health data over MCP, from the free iOS app. Reads, and writes on demand.
The publisher's own server: Marrow
Overview
Self-hosted companion server that mirrors Apple Health data from the free Marrow iOS app into local SQLite and serves it to AI agents over MCP.
- What you can do
- Read daily briefs, personal baselines, what-changed comparisons and data-quality reports scored against your own trailing normal
- Read raw health data: summaries, metric lists, daily values, raw samples, workouts, sleep, nutrition diary, strength log, symptoms and mood
- Use four bundled prompts (how am I doing, weekly review, doctor prep, log from text) and four resources for today, metrics, targets and quality
- Query any metric by days back or a date range, with paging for raw samples
- When to use it
- Useful when you want an agent on your own machine to answer questions about your Apple Health history around the clock, even with the phone in your pocket, and you prefer the data to stay on hardware you own rather than a vendor cloud.
- Requirements
- A local Python runtime (pip install marrow-mcp, or run the single script, or Docker) on a machine you own; the free Marrow iOS app on iOS 17+ with Apple Health; pairing by scanning a QR or pairing URL from the app; a bearer token generated on first run, passed in the Authorization header; the phone must reach the server over a private or tailnet address, or HTTPS for a public one.
Installation
In SourceWeft
- Open Marrow in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Marrow Health MCP server (marrow-mcp)
Let your AI agents read your own Apple Health data.
Marrow is a free iOS app that tracks 178 health data series - 172 Apple Health types plus its own meal diary and set-by-set weightlifting log. This repo is its self-hosted companion server: one Python file, standard library only, that keeps a SQLite mirror of your data on hardware you own and serves it over the Model Context Protocol so agents can query it 24/7, phone in your pocket.
Nothing here talks to a cloud. Data flows phone → your machine, full stop.
[An agent querying Marrow over MCP: sleep and workout data answered from the phone]
Run it
Without [qr] the pairing page shows the pairing JSON instead of a code.
or from a clone
or with Docker
Open the pairing URL on any screen, then in Marrow: Export, Server MCP,
Pair with a server, and scan. From then on the app's background pushes keep
the mirror current with the app closed. The app pairs over plain http only on
your own networks (a private or tailnet IPv4 address, a .local or .ts.net
name, a short LAN name). A public address needs https (--url https://...).
Upgrading to 0.3.0
Stop the old server and start the new one on the same --data directory.
An existing mirror.sqlite gains the new columns on first start, and the
tokens in --data carry over, so the phone stays paired. Sets logged by
Marrow 1.4 carry a set_type (work,
warmup, failure or drop). Warm-ups are still listed but no longer count toward
volume or records, and rows mirrored before the upgrade read as work sets.
Connect an agent
The server speaks MCP over Streamable HTTP (JSON-RPC 2.0, protocol version
2025-06-18), authenticated with a bearer token it generates on first run and
prints alongside the pairing link.
Claude Code
Claude Desktop, one click
Download marrow.mcpb,
double-click it, and Claude Desktop installs the extension and asks for the
URL and token. No terminal involved. (The bundle is a tiny zero-dependency
bridge in mcpb/. It forwards Claude's stdio to your Marrow URL and nothing
else.)
Claude Desktop (manual), Cursor, or anything using an mcp.json
Check it by hand
Tools
Thirteen tools, all of them reads. The server also carries write tools (log a meal, a workout and so on), but it lists them only after a phone registers it for write-back, and today only Marrow Connect does that. A self-hosted server paired from the app serves the thirteen reads and nothing an agent can call writes to your health record.
Four of them answer in the app's own terms, scored against your own trailing normal with the same math the app's Home page uses (the day itself excluded), so an agent starts from a read that is already true for you instead of judging a number against the population:
The nine raw reads:
Every read takes days back from the phone's today, or from and to on
the phone's calendar. metric_samples pages with before (the start of the
last record you have). Tools with an output schema also answer with
structuredContent.
Four prompts come with the server (how_am_i_doing, weekly_review,
doctor_prep, log_from_text) and four resources (marrow://today,
marrow://metrics, marrow://targets, marrow://quality), for the clients
that show them.
Metric keys: list_metrics shows Apple's short names (active_energy_burned),
and the tools also accept the app's own keys (active_energy,
heart_rate_variability), so an agent moved over from the phone keeps its
vocabulary.
Then ask your agent things like "how did my sleep change once I started training in the mornings?" and let it go and look.
Kits, recipes and the Claude Code plugin
- kits/: copy-and-paste setup for Claude Code, Claude Desktop, Cursor, OpenClaw and Hermes Agent.
- recipes/: receivers for Marrow's Automations (the app POSTs your data to any URL on a schedule, with the app closed): Home Assistant, n8n, Google Sheets through Apps Script, InfluxDB.
- Built with Marrow: complete projects people run on these connections, starting with Body Ops, a Grafana dashboard for every kind of data Marrow sends. Submit yours there.
- The Claude Code plugin:
/plugin marketplace add MarrowHealth/marrow-mcpthen/plugin install marrow-health@marrow. It adds the Marrow Connect server and four commands (/marrow-health:how-am-i-doing,weekly-review,doctor-prep,log) plus a skill that knows which tool answers what.
Why not the built-in Claude or ChatGPT connector?
Both Claude (Pro/Max, US) and ChatGPT now read Apple Health natively. Use them if that is all you need. They stop where this server starts:
OpenClaw / Hermes / any agent on a home machine. Point the agent's MCP
config at the server URL with the bearer token, exactly as in the mcp.json
block above. Reach it from outside the LAN with tailscale serve --bg --https=8800 http://127.0.0.1:8800 and use the tailnet URL.
The other ways in
This server is one of the doors on Marrow's Export tab, and you do not need it to give agents access:
- Local MCP. Marrow runs an MCP server on the iPhone itself at
http://<phone-ip>:21212/mcp, answering while the app is running. Seven of the raw reads above, zero extra hardware. - Server MCP. This package: an always-on mirror on your own box.
- Automated. Scheduled pushes to any URL (Home Assistant, n8n, your own endpoint).
- Manual. CSV, JSON and GPX files out of the share sheet.
All four are in the free tier. Setup for all of them: https://marrowhealthapp.com/guides.
Marrow Connect is the hosted Pro path: Marrow runs the mirror, and ChatGPT, Claude or Gemini read it with the phone asleep and nothing to run. It is the only door that can log for you, once you turn on Allow AI write in the app. https://marrowhealthapp.com/connect
Security
- Both servers are built for a LAN or a tailnet. Do not port-forward this to
the open internet. If you need it remotely, front it with
tailscale serve, Caddy, or an equivalent so the transport is HTTPS and the device is authenticated before the bearer token is ever presented. - Two separate tokens live in
--data:.app-tokenfor the phone's pushes and.mcp-tokenfor agents. Rotating one does not disturb the other. - Ingest is idempotent and UUID-keyed, so a replayed batch cannot double-count.
Status
Marrow is on the App Store, iOS 17+, and requires Apple Health. Get it on the App Store.
The iOS app is closed source. This server is not, because you should be able to read anything you are asked to run on your own hardware.
Registry
Listed in the official MCP registry
as tech.skeletonarmy/marrow, verified by DNS on skeletonarmy.tech.
mcp-name: tech.skeletonarmy/marrow
Help and policies
- Agent setup guide, the full client-by-client walkthrough
- Support and troubleshooting, or email [email protected]
- Privacy policy. Short version: your health data stays on your device, this server runs on hardware you own, and nothing here reports to us.
- Terms of use
Licence
MIT. See LICENSE.
Source: README.md at commit 7aad60a
Tools
0Version history
6- v0.4.1LatestOct 22, 2026
- v0.3.4Oct 19, 2026
- v0.3.2Oct 18, 2026
- v0.3.0Oct 14, 2026
- v0.2.5Oct 6, 2026
- v0.2.4Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Marrow integrations
Marrow
id.marrowOfficial publisher
Marrow gives an assistant an evidence-grounded, graph-connected, correctable memory store it can query and update.

Marrow AI: Control Layer for AI Agents
ai.getmarrow
Marrow AI: Control Layer for AI Agents's local MCP server, published by getmarrow.ai; no sign-in required; STDIO; 17 tools.

Marrow
Published by GitHub account getmarrow
Marrow AI is a governance and proof layer that lets an assistant check policy, get approval and record evidence before and after consequential actions.

Marrow
Published by GitHub account aryawidjaja
Marrow gives coding agents a shared, searchable project memory with rooms, file claims, and an auditable ledger.
HyperMarrow
cool.qianshi
HyperMarrow is a local-first long-term memory server for AI coding agents, keeping stored memories on the user's own machine.