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.
AI-assisted, human reviewed. How we use AI
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 (275 ★ 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. The original server is in maintenance mode.
If you want a TCP-based bridge that runs inside an existing health export app, Health Auto Export (414 ratings on the US App Store) is an option. It exposes your data over a local TCP socket rather than stdio MCP. It 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 (571 ★ on GitHub, the most-starred project in this list) is the one to look at. Same DuckDB paradigm as the-momentum but packaged as an npm module instead of a Docker or Python setup, and it reads a CSV export rather than export.xml.
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 via npm |
| Data source | Auto-synced JSON from iOS | Manual export.xml → DuckDB | App SQLite → TCP | Manual CSV export → DuckDB |
| Setup time | ~2 minutes | ~15 minutes | ~8 minutes | ~10 minutes |
| Historical depth | Full history, backfilled on first run | Full export.xml history | Full export.xml history | Full export.xml history |
| Data freshness | Auto-sync (background, roughly hourly when iOS allows) | Manual re-export required | On-demand or scheduled | Manual re-export required |
| MCP transport | stdio (standard) | stdio (standard) | TCP socket | stdio (standard) |
| Tools exposed | 16 deterministic tools | NL-to-SQL + DuckDB | 5 query tools | 3 query tools |
| iOS companion app | Yes (MetricBridge) | No | Yes (Health Auto Export) | No |
| On-device AI chat | Yes (Ask + Weekly Brief) | No | No | No |
| GitHub stars | 6 ★ | 275 ★ | N/A (closed-source TCP) | 571 ★ |
| License | MIT | MIT | Proprietary | MIT |
Data note: Star counts, npm downloads and App Store rating counts are as of 2026-10-10, read live from the GitHub API, the npm downloads API (week of 3 to 9 October 2026) and the US App Store. Setup times are from hands-on testing in August 2026. The MCP ecosystem moves fast, so check the live pages before you rely on any figure here.
1. health-export-mcp: zero-dependency Node with companion iOS app
health-export-mcp is an open-source MCP server by MetricBridge. It reads a JSON file written by the companion iOS app, MetricBridge, 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. It ships sixteen deterministic, purpose-built MCP tools: get_mcp_status, get_freshness, list_metrics, get_health_metrics, get_trends, compare_periods, get_structured_export, get_intraday, query_health_data, list_events, get_profile, get_workouts, get_sleep_sessions, get_cycle_context, correlate_metrics, and resolve_metric. It has 6 ★ on GitHub and 144 npm downloads in the week of 3 to 9 October 2026, so it is the smallest project here by community size.
Setup: Install the iOS app → grant HealthKit read access → turn on export to iCloud. The app syncs automatically. Then npx -y health-export-mcp on your computer. Add one JSON config block to any MCP client.
Pros: Fastest setup, auto-syncing data, zero dependencies, 16 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: MetricBridge · 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 has 275 ★ on GitHub. 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 MetricBridge: DuckDB vs Zero-Dependency Showdown
3. Health Auto Export: TCP-based MCP bridge
Health Auto Export is a mobile app (iPhone and Android) with 414 ratings on the US App Store, averaging 4.3. 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.
Health Auto Export is the incumbent in the MCP health space but the TCP approach creates real UX friction.
4. neiltron/apple-health-mcp: npm DuckDB variant
neiltron/apple-health-mcp is packaged as an npm module (@neiltron/apple-health-mcp). It follows the same DuckDB paradigm as the-momentum but wraps the whole thing in a Node.js package so you don't need Python or Docker, and it reads a CSV export made with a separate iPhone app rather than Apple's export.xml.
At 571 ★ it is the most-starred project in this comparison. Its npm package had 63 downloads in the week of 3 to 9 October 2026.
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 a manual export and transfer. Limited to 3 query tools. Same staleness problem: every re-export is a manual process.
What about healthsync?
healthsync (73 ★, 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.
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 load a manual export into DuckDB (the-momentum parses the raw export.xml, neiltron reads CSV files). 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 file 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. It ships a companion iOS app that auto-syncs your data, zero dependencies, and 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. That's both use cases in one product, over an iPhone-only path with no Mac app to keep open and no server of yours.
If you need raw DuckDB SQL access and don't mind the setup cost, the-momentum is the established choice: 275 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, with three tools and a CSV export step.
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. Sixteen 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 October 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 (275 ★, DuckDB + Python/Docker), Health Auto Export (TCP-based bridge from a mobile app), and neiltron/apple-health-mcp (571 ★, DuckDB via npm). A fifth tool, healthsync (73 ★, 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 ships zero npm dependencies: pure Node.js, with no Mac app to keep open and no server of yours. the-momentum requires Docker (or uv) + Python + DuckDB. neiltron requires DuckDB 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?
health-export-mcp syncs automatically: the companion iOS app reads HealthKit on a schedule and writes fresh JSON to iCloud Drive (or your chosen destination), and the MCP server reads whatever is on disk, so there's no manual export step. MCP servers without an auto-syncing companion app 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 MetricBridge 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.