Originally published on [healthexport.dev](https://dub.sh/m4x3o6y Canonical link below.
There are now four MCP servers that give AI agents access to Apple Health data. Here is how they compare on setup time, runtime, dependencies, and privacy.
The four servers
health-export-mcp is a zero-dependency Node.js server with a companion iOS app. The app auto-syncs 190 HealthKit metrics as clean JSON to iCloud. You point the MCP server at that folder. No Docker, no Python, no manual XML export. Setup is about 2 minutes.
the-momentum (244 GitHub stars) parses Apple's export.xml into DuckDB and exposes NL-to-SQL tooling. It needs Docker or uv plus Python plus DuckDB. Strong for raw SQL, but the original server is in maintenance mode now that the team pivoted to Open Wearables.
Health Auto Export (321 App Store ratings) runs a TCP bridge from a mobile app instead of stdio. Works, but TCP means port management and no stdio compat with most MCP clients out of the box.
neiltron (42k weekly npm downloads) is the newest. Same DuckDB paradigm as the-momentum but packaged as an npm module. Still needs the manual export.xml export and transfer. 3 query tools, smaller community.
Side-by-side
| 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 to DuckDB | App SQLite to TCP | Manual export.xml to DuckDB |
| Setup time | ~2 minutes | ~15 minutes | ~8 minutes | ~10 minutes |
| Data freshness | Auto-sync (background) | Manual re-export | On-demand or scheduled | Manual re-export |
| MCP transport | stdio | stdio | TCP socket | stdio |
| Tools exposed | 7 deterministic tools | NL-to-SQL + DuckDB | 5 query tools | 3 query tools |
| iOS companion app | Yes | No | Yes | No |
| On-device AI chat | Yes | No | No | No |
| License | MIT | MIT | Proprietary | MIT |
The honest take
The DuckDB route is the right call if you already run DuckDB and want SQL over your data. For everyone else, the dependency cost is steep just to get your steps into Claude or Cursor. Two minutes and zero installs is a better default for the person who just wants to ask their agent about their sleep.
All four run locally. None sends health data to a cloud. The practical difference is friction: one auto-syncs from your phone, the other three need a manual export.xml export and transfer every time you want fresh data.
FAQ
How many Apple Health MCP servers are there in 2026? Four, plus healthsync (Go/SQLite) which does not implement MCP natively but can be wrapped.
Which is easiest to set up? health-export-mcp. Install the iOS app, grant HealthKit access, turn on iCloud sync, then npx health-export-mcp. No Docker, no Python, no manual XML export.
Which has zero dependencies? Only health-export-mcp. The others need DuckDB (the-momentum, neiltron), Python/Docker (the-momentum), or a mobile app TCP setup (Health Auto Export).
Does any server auto-sync? Only health-export-mcp. The companion iOS app reads HealthKit on a schedule and writes fresh JSON. The other three require a manual re-export of export.xml for fresh data.
This is a syndicated summary. [Read the full comparison with the FAQ and the data-model breakdown on healthexport.dev](https://dub.sh/m4x3o6y
Top comments (0)