tech.skeletonarmy/marrow is an MCP server that read-only MCP access to your own Apple Health data, mirrored from the Marrow iOS app. Its tool list has not been published yet over http, requires no API key, and scores 59/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"marrow": {
"url": "http://<server-ip>:8800/mcp",
"type": "http",
"headers": {
"Authorization": "Bearer <mcp token>"
}
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Give your AI agents read-only access to your own Apple Health data.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'marrow-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked marrow-mcp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in health
MCP server for Withings health data — sleep, activity, heart, and body metrics.
MCP server for the ClinicalTrials.gov v2 API. Search trials, retrieve study details and results, and match patients to eligible trials.
基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server
MCP Server for Brazilian ICD-10 (DATASUS) - International Classification of Diseases
MCP Security Weekly
Get CVE alerts and security updates for tech.skeletonarmy/marrow and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Give your AI agents read-only access to 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.

python3 marrow_server.py # prints a pairing URL
python3 marrow_server.py --port 8800 --data ./data
or
docker compose up -d
Open the pairing URL on any screen, then in Marrow: Server → Pair with a server → scan. From then on the app's background pushes keep the mirror current with the app closed.
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 mcp add --transport http marrow \
http://<server-ip>:8800/mcp \
--header "Authorization: Bearer <mcp token>"
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
{
"mcpServers": {
"marrow": {
"type": "http",
"url": "http://<server-ip>:8800/mcp",
"headers": { "Authorization": "Bearer <mcp token>" }
}
}
}
Check it by hand
curl -s http://<server-ip>:8800/mcp \
-H "Authorization: Bearer <mcp token>" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
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 in the mirror, 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 | The meal diary: every logged food with full nutrient detail, by day |
strength_log | Every lifting set with estimated 1RM, per-exercise progression, and volume per muscle group |
Then ask your agent things like "how did my sleep change once I started training in the mornings?" and let it go and look.
This server is one of four, and you do not need it to give agents access:
http://<phone-ip>:21212/mcp, answering while the app is running. Richest
data, zero extra hardware.All four are in the free tier. Setup for all of them: https://skeletonarmy.tech/mcp.
tailscale serve, Caddy, or an equivalent so the transport is HTTPS and the
device is authenticated before the bearer token is ever presented.