Mirobody
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
제작자가 쓴 설명(영어 원문)
Marrow Health: your Apple Health data over MCP, from the free iOS app. Reads, and writes on demand.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"marrow": {
"command": "uvx",
"args": [
"marrow-mcp"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add marrow -- uvx marrow-mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"marrow": {
"command": "uvx",
"args": [
"marrow-mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"marrow": {
"type": "stdio",
"command": "uvx",
"args": [
"marrow-mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 도메인 skeletonarmy.tech 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.4.1)은 15일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: Mirobody, FHIR MCP Server, Google Health MCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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.
pip install "marrow-mcp[qr]" # [qr] adds segno, which draws the pairing QR
marrow-server --port 8800 --data ./data # prints a pairing URL
Without [qr] the pairing page shows the pairing JSON instead of a code.
or from a clone
python3 marrow_server.py # prints a pairing URL
python3 marrow_server.py --port 8800 --data ./data
or with Docker
docker compose up -d
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://...).
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.
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:// :8800/mcp \ --header "Authorization: Bearer "
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:// :8800/mcp", "headers": { "Authorization": "Bearer " } } } }
Check it by hand
curl -s http://<server-ip>:8800/mcp \
-H "Authorization: Bearer " \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
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:
| Tool | Returns |
|---|---|
daily_brief | One day: each key metric with its value and a phrase (normal for you, above your normal, well below your normal), food and water against your targets, last night's sleep, training done, mood and symptoms, and flags worth mentioning |
baselines | Your own normal per metric: mean and spread over the window, the latest value's z and phrase, the 7-day mean and the 90-day trend per month |
what_changed | The recent days against the period before them: what moved and how notable it is for you, food, training, sleep and bedtime shifts, and streams that started or stopped arriving |
data_quality | What the mirror holds and how fresh it is: per metric the latest day, coverage, cadence, sources and whether it has gone stale, plus diary, sleep and training coverage and when the phone last synced |
The nine raw reads:
| 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 from every source: activity, start, end, duration and source |
nutrition_log | The meal diary: every logged food with full nutrient detail, by day |
strength_log | Every lifting set with its set type and estimated 1RM, per-exercise progression, and volume per muscle group (warm-ups left out) |
sleep_log | One night per wake day: bedtime, wake time, hours asleep, minutes per stage |
symptoms_and_mood | Symptoms with their severity, and State of Mind entries with valence, feelings and what they were about |
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.
/plugin marketplace add MarrowHealth/marrow-mcp then /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.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:
| Claude / ChatGPT connector | Marrow + this server | |
|---|---|---|
| Where it works | The iOS app only | Claude Code, Claude Desktop, Cursor, OpenClaw, Hermes, any MCP client, on any machine |
| When it works | While you are in the chat on the phone | 24/7, phone in your pocket, from your own box |
| What the model sees | Raw HealthKit numbers | Daily values reconciled against Apple's own totals, meal diary, set-by-set lifts |
| Where the data lives | Their cloud, per conversation | SQLite on hardware you own |
| Cost | Subscription | Free, MIT |
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.
This server is one of the doors on Marrow's Export tab, and you do not need it to give agents access:
http:// :21212/mcp, answering while the app is running. Seven of the raw reads above, zero extra hardware.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
tailscale serve, Caddy, or an equivalent so the transport is HTTPS and the device is authenticated before the bearer token is ever presented.--data: .app-token for the phone's pushes and .mcp-token for agents. Rotating one does not disturb the other.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.
Listed in the official MCP registry as tech.skeletonarmy/marrow, verified by DNS on skeletonarmy.tech.
mcp-name: tech.skeletonarmy/marrow
MIT. See LICENSE.