Best Apple Health MCP Servers Compared 2026 — Zero-Dep vs DuckDB vs Health Auto Export

Four MCP servers can now feed your Apple Health data to AI agents. One requires zero dependencies and syncs automatically from an iPhone. One needs Docker, Python, and DuckDB. One runs a TCP bridge from a mobile app. And one is a recent npm DuckDB entry. Here's how they all compare — so you can pick the one that actually fits your workflow.

MCP By Health Export AI · Updated 3 August 2026 · ~10 min read

Quick answer: which Apple Health MCP server should you use?

If you own an iPhone and want the least friction, choose health-export-mcp. Install the companion iOS app once, it auto-syncs your 190 HealthKit metrics as clean JSON to iCloud. Point the MCP server at that folder. No Docker, no Python, no DuckDB, no manual XML export, no environment variables beyond a folder path. Your AI agents have live access to your health data in about two minutes.

If you don't own an iPhone, or you already run DuckDB and want raw SQL over your health data, the-momentum (244 ★ on GitHub) works. It parses Apple's export.xml into DuckDB and exposes NL-to-SQL tooling. Bigger setup cost, but gives you full SQL. Just be aware it's been superseded by the team's Open Wearables platform — original server is in maintenance mode.

If you want a TCP-based bridge that runs inside an existing health export app, Health Auto Export (321 ratings) is an option. It exposes your data over a local TCP socket rather than stdio MCP. Works — but the TCP approach means extra port management and no stdio compatibility with most MCP clients out of the box.

If you want a lightweight npm DuckDB option, neiltron/apple-health-mcp-server (42k weekly npm downloads) is the newest entrant. Same DuckDB paradigm as the-momentum but packaged as an npm module instead of a Docker or Python setup.

Side-by-side comparison table

Feature health-export-mcp the-momentum Health Auto Export neiltron
Runtime Node.js (zero-dep) Python + Docker / uv Mobile app + TCP Node + DuckDB (npm)
Dependencies None beyond Node Docker, Python, DuckDB Mobile app on iPhone DuckDB WASM via npm
Data source Auto-synced JSON from iOS Manual export.xml → DuckDB App SQLite → TCP Manual export.xml → DuckDB
Setup time ~2 minutes ~15 minutes ~8 minutes ~10 minutes
Data freshness Auto-sync (hourly) Manual re-export required On-demand or scheduled Manual re-export required
MCP transport stdio (standard) stdio (standard) TCP socket stdio (standard)
Tools exposed 7 deterministic tools NL-to-SQL + DuckDB 5 query tools 3 query tools
iOS companion app Yes (Health Export AI) No Yes (Health Auto Export) No
On-device AI chat Yes (Ask/Pro Chat + Weekly Brief) No No No
GitHub stars 45 ★ 244 ★ N/A (closed-source TCP) 15 ★
License MIT MIT Proprietary MIT

Data note: Setup times and ratings are from hands-on testing as of August 2026. The MCP ecosystem moves fast — star counts were recorded on 3 August 2026.

1. health-export-mcp — zero-dependency Node with companion iOS app

health-export-mcp is an open-source MCP server by Health Export AI. It reads a JSON file written by the companion iOS app — Health Export AI — which reads 190 HealthKit metrics through Apple's native APIs and writes structured JSON with metric names, values, units, dates, and metadata already cleanly organized.

The server itself is pure Node.js with zero npm dependencies (only the MCP SDK). It ships seven deterministic, purpose-built MCP tools: get_mcp_status, list_metrics, get_health_metrics, get_trends, compare_periods, get_structured_export, and query_health_data.

Setup: Install the iOS app → grant HealthKit read access → turn on export to iCloud. The app syncs automatically. Then npx health-export-mcp on your computer. Add one JSON config block to any MCP client.

Pros: Fastest setup, auto-syncing data, zero dependencies, 7 deterministic tools, paired with an on-device health AI app (Ask chat + Weekly Brief) that shows provenance cards for every answer.

Cons: Requires an iPhone. The JSON cache is structured aggregates rather than raw individual HealthKit samples — fine for AI queries, unsuitable for research-grade raw sample analysis.

Get started: Health Export AI · health-export-mcp on GitHub · Setup guide for Claude

2. the-momentum/apple-health-mcp-server — DuckDB + Python/Docker

the-momentum/apple-health-mcp-server is the most-starred Apple Health MCP server at 244 ★. It parses Apple's raw export.xml into a DuckDB database and exposes a natural-language-to-SQL tool that translates English questions into DuckDB queries.

The server requires either Docker (for containerized setup) or uv (for Python environment management). You need to manually export export.xml from your iPhone via Settings → Privacy → Health → Export All Health Data, transfer it to your computer, and run the import process.

Pros: Full DuckDB SQL access if you want raw analysis. NL-to-SQL interface handles ad-hoc questions. Large GitHub community and documentation. MIT licensed.

Cons: Setup friction — manual XML export, Docker/Python dependencies, slow parsing for large exports (~30 minutes for a 1.7 GB file). Manual re-export needed for fresh data. The team has pivoted to Open Wearables (multi-brand wearables platform), so the Apple-Health-only server is effectively in maintenance mode.

See the full head-to-head: the-momentum vs Health Export AI — DuckDB vs Zero-Dependency Showdown

3. Health Auto Export — TCP-based MCP bridge

Health Auto Export is a mobile app (iPhone and Android) with 321 ratings on the App Store. It exports health data to various destinations including a TCP-based MCP server. Rather than running a local stdio server, the app opens a TCP socket on your local network that MCP clients can connect to.

Pros: Cross-platform (iPhone + Android). Works without a computer if your MCP client supports TCP. On-demand export scheduling.

Cons: The TCP transport is non-standard for MCP — most MCP clients (Claude Desktop, Cursor, opencode) expect stdio. TCP requires managing ports, firewall rules, and persistent connections. Closed-source, no companion AI agent. Rated 3.1 stars on the App Store, with common complaints about connection stability and data freshness.

Health Auto Export is the incumbent in the MCP health space but the TCP approach creates real UX friction. Its companion three-way comparison covers the detail.

4. neiltron/apple-health-mcp-server — npm DuckDB variant

neiltron/apple-health-mcp-server is the newest Apple Health MCP server, packaged as an npm module. It follows the same DuckDB paradigm as the-momentum — parse export.xml into DuckDB tables — but wraps the whole thing in a Node.js package so you don't need Python or Docker.

At 42,000 weekly npm downloads it has surprising reach for its 15 GitHub stars, likely because it's the most discoverable npm package in this space.

Pros: npm-based, so Node.js developers can install it with one command. DuckDB query engine is fast for SQL-style analysis. MIT licensed.

Cons: Still requires the manual export.xml export and transfer. Limited to 3 query tools. Smaller community and less documentation than the alternatives. Same staleness problem — every XML re-export is a manual process.

What about healthsync?

healthsync (64 ★, Go/SQLite) deserves a mention even though it isn't an MCP server. It's a Go CLI that reads an Apple Health export.xml and writes a SQLite database — useful for developers who want to query their health data with raw SQL. It doesn't implement MCP natively, but you could wrap it in a custom MCP server. For most people, picking one of the four MCP-native options above will be simpler. See the healthsync vs health-export-mcp comparison for the details.

How the data model differs

The table above hides one of the most important differences: what your AI agent actually sees.

health-export-mcp serves pre-structured JSON with human-readable metric names ("Heart Rate Variability SDNN", "Resting Heart Rate"), values with units ("65 ms", "54 bpm"), and daily aggregates. The iOS app does the heavy lifting of reading HealthKit through Apple's native APIs and organizing the data into a clean schema. The MCP server doesn't parse anything — it just serves what the app provides.

the-momentum and neiltron parse the raw export.xml into DuckDB. The XML format uses Apple's internal HKObjectType identifiers (e.g., HKQuantityTypeIdentifierHeartRateVariabilitySDNN), and the NL-to-SQL layer has to translate your English question into the right DuckDB query against these internal identifiers. It works — but the translation step adds a layer of potential error. The NL query "What was my average HRV last week?" might generate a correct SQL query, or it might pick the wrong timezone, metric identifier, or aggregation function.

Health Auto Export extracts data from the Health app's internal SQLite database (on iPhone) or the respective health APIs (Android). Its TCP bridge serves a subset of metrics through query endpoints. The data model is app-specific and less documented.

Privacy model comparison

All four servers run locally — none sends your health data to a cloud. But the practical privacy model differs:

  • health-export-mcp: iOS app reads HealthKit read-only (never modifies data). JSON cache goes to iCloud Drive (or a folder you pick). The MCP server is pure stdio with zero network calls — no telemetry, no analytics, no phone-home. Fully MIT open-source.
  • the-momentum: Runs locally, MIT open-source. The manual XML export means your raw export.xml — every HealthKit sample ever — sits in multiple locations during the transfer (iPhone, AirDrop/cloud, computer). Once imported into DuckDB, it's local-only.
  • Health Auto Export: Closed-source. The TCP bridge listens on your local network. The app's privacy policy should be reviewed — closed-source health data apps can't be independently audited.
  • neiltron: MIT open-source. Same manual XML transfer privacy considerations as the-momentum.

Which one wins, and why

There's no universal winner — it depends on what you need.

If you own an iPhone and want to feed your health data to AI agents with zero friction, health-export-mcp wins. No other MCP server has a companion iOS app that auto-syncs your data. No other server ships zero dependencies. And health-export-mcp is the only MCP server paired with a full on-device health AI app — you can ask questions directly on your iPhone and also export to Claude, Cursor, or any MCP agent. It's the only product that covers both use cases.

If you need raw DuckDB SQL access and don't mind the setup cost, the-momentum is the established choice — 244 stars, good docs, NL-to-SQL interface. Just plan for the 15-minute initial setup and remember you'll need to re-export XML for fresh data.

If you want cross-platform (iPhone + Android) TCP-based export, Health Auto Export has the broadest device support but the TCP transport creates compatibility issues.

If you're an npm-native developer who wants DuckDB without Docker, neiltron is worth a look — but expect less tooling and documentation.

For the full health-export-mcp setup across every MCP client, see the Claude setup guide, the MCP server documentation, or the open-source repo.

Try the zero-dependency Apple Health MCP server

190 Apple Health metrics as clean JSON. Seven deterministic MCP tools. Companion iOS app with auto-sync. Free 7-day trial — no account, nothing on our servers.

Frequently asked questions

How many Apple Health MCP servers are there in 2026?

As of August 2026, there are four Apple Health MCP servers: health-export-mcp (zero-dependency Node.js with companion iOS app), the-momentum/apple-health-mcp-server (244 ★, DuckDB + Python/Docker), Health Auto Export (TCP-based bridge from a mobile app), and neiltron/apple-health-mcp-server (42k weekly npm downloads, DuckDB via npm). A fifth tool, healthsync (64 ★, Go/SQLite), does not implement MCP natively but can be wrapped.

Which Apple Health MCP server is easiest to set up?

health-export-mcp is the easiest. Install the companion iOS app (auto-syncs to iCloud via HealthKit), then point the MCP server at that folder. No Docker, no Python, no manual XML export. Total setup is roughly 2 minutes. The other servers require installing Docker or uv managing Python environments, manually exporting export.xml from your iPhone, transferring the file, and configuring environment variables.

Which Apple Health MCP server has zero dependencies?

health-export-mcp is the only Apple Health MCP server with zero npm dependencies — pure Node.js with only the MCP SDK. the-momentum requires Docker (or uv) + Python + DuckDB. neiltron requires DuckDB WASM via npm. Health Auto Export requires the mobile app running and a TCP connection.

Does any MCP server automatically keep my Apple Health data up to date?

Only health-export-mcp offers automatic syncing. The companion iOS app reads HealthKit on a schedule and writes fresh JSON to iCloud Drive (or your chosen destination). The MCP server reads whatever's on disk — it doesn't need any manual export step. The other MCP servers require you to manually re-export export.xml from your iPhone and re-import it every time you want fresh data.

Which Apple Health MCP server has a companion iOS app?

Two MCP servers have companion mobile apps: health-export-mcp (paired with the Health Export AI iOS app, which also includes on-device AI chat with provenance cards) and Health Auto Export (paired with a mobile app that exports to a TCP MCP bridge). the-momentum and neiltron have no companion apps — they rely on manual XML exports from the built-in Apple Health export feature.

Health Export AI · Apple Health → your AI agent, privately. · Home · Privacy · Terms · Support