プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Marrow

作者:skeletonarmytechバージョン 0.4.1i★ –iパソコンで動く
レジストリ名tech.skeletonarmy/marrow

インストール

概要

作者による説明(英語の原文)

Marrow Health: your Apple Health data over MCP, from the free iOS app. Reads, and writes on demand.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: Streamable HTTP
  • カテゴリ: クリニック・健康

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

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で開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "marrow": {
      "command": "uvx",
      "args": [
        "marrow-mcp"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "marrow": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "marrow-mcp"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名はドメイン skeletonarmy.tech で確認済みです(レジストリがドメインの所有を確認しています)

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

クリニック・健康のほかのサーバーとの比較i

  • このカテゴリのほかの858件のうち0%よりスターが多い
  • このカテゴリのほかの858件のうち65%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの858件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Marrowは安全ですか?

当てはまる基本チェック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スターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Mirobody

作者:thetahealth

Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.

パソコンで動く★ 1,408Apache-2.05 日前更新
インストール

FHIR MCP Server

作者:wso2

MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications

パソコンで動く★ 137Apache-2.08 日前更新
インストール

Google Health MCP

作者:davidmosiah

Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents

パソコンで動く★ 79MIT4 か月前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

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.

Run it

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://...).

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 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"}'

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:

ToolReturns
daily_briefOne 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
baselinesYour 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_changedThe 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_qualityWhat 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:

ToolReturns
health_summaryRecent days across activity, heart, sleep and nutrition
list_metricsEvery metric in the mirror, with units and coverage
metric_dailyDaily values for any metric, up to 400 days
metric_samplesRaw records with timestamps and source devices
workoutsWorkouts from every source: activity, start, end, duration and source
nutrition_logThe meal diary: every logged food with full nutrient detail, by day
strength_logEvery lifting set with its set type and estimated 1RM, per-exercise progression, and volume per muscle group (warm-ups left out)
sleep_logOne night per wake day: bedtime, wake time, hours asleep, minutes per stage
symptoms_and_moodSymptoms 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.

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-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.

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:

Claude / ChatGPT connectorMarrow + this server
Where it worksThe iOS app onlyClaude Code, Claude Desktop, Cursor, OpenClaw, Hermes, any MCP client, on any machine
When it worksWhile you are in the chat on the phone24/7, phone in your pocket, from your own box
What the model seesRaw HealthKit numbersDaily values reconciled against Apple's own totals, meal diary, set-by-set lifts
Where the data livesTheir cloud, per conversationSQLite on hardware you own
CostSubscriptionFree, 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.

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:

  1. Local MCP. Marrow runs an MCP server on the iPhone itself at http:// :21212/mcp, answering while the app is running. Seven of the raw reads above, zero extra hardware.
  2. Server MCP. This package: an always-on mirror on your own box.
  3. Automated. Scheduled pushes to any URL (Home Assistant, n8n, your own endpoint).
  4. 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-token for the phone's pushes and .mcp-token for 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

  • 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.

PopNxに聞く