the-momentum Apple Health MCP Server vs Health Export AI — DuckDB vs Zero-Dependency Showdown

Two Apple Health MCP servers, two entirely different architectures. The most popular one (243 ★) requires Docker, Python, DuckDB, and a manual XML export from your iPhone. The other is zero-dependency Node.js with a companion iOS app that auto-syncs. Here's how they compare — and why simpler often wins.

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

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

If you want the least friction and you own an iPhone, use health-export-mcp. Install the companion iOS app, it syncs your 190 HealthKit metrics as clean JSON automatically. Point the MCP server at that folder. Done. No Docker, no Python, no DuckDB, no manual XML export.

If you already run DuckDB for data analysis, or you don't own an iPhone, the-momentum works. It parses Apple's raw export.xml into DuckDB tables, which is useful if you want to write raw SQL against your health data. But the setup cost is higher: you must manually export the XML from your iPhone, transfer it, install Docker (or uv), configure environment variables, and run the Python server.

Note: As of mid-2026, the-momentum's Apple Health MCP Server has evolved into Open Wearables — a self-hosted platform unifying data from multiple wearable brands (Garmin, Polar, Whoop). The original Apple-Health-only MCP server still works but is effectively in maintenance mode. Health Export AI's MCP server remains focused on Apple Health with active development on both the server and the companion iOS app.

Side-by-side comparison

the-momentum

  • 243 ★ on GitHub
  • Requires Docker or uv
  • Python runtime
  • DuckDB for query engine
  • Manual export.xml from iPhone
  • ~15 min setup (first time)
  • Natural-language query tool
  • Evolving into Open Wearables
  • No companion iOS app
  • No on-device AI

health-export-mcp ✓

  • Zero npm dependencies
  • Pure Node.js — no Docker
  • No Python, no DuckDB
  • Reads clean JSON, not raw XML
  • Auto-sync from iOS companion app
  • ~2 min setup (first time)
  • 7 purpose-built MCP tools
  • Focused on Apple Health
  • Paired with on-device AI app
  • Full provenance on every answer

Setup: 2 minutes vs 15 minutes

The difference in setup time isn't small — it's the difference between trying something and setting up a project.

Setting up health-export-mcp

  1. Install Health Export AI on iOS. Grant Apple Health read access.
  2. Turn on export to iCloud Drive. The app syncs your data automatically — no buttons to press.
  3. Install the MCP server from npm: npx health-export-mcp
  4. Add the config to your MCP client. One JSON block.

That's it. The iOS app handles the complex part — reading HealthKit, structuring 190 metrics with units and metadata, and writing a compact JSON cache. The MCP server just reads that cache. No import step, no format conversion, no XML parsing.

Setting up the-momentum

  1. On your iPhone, go to Settings → Privacy → Health → Export All Health Data. Wait for the export to generate. The resulting export.xml can be 500 MB to 2+ GB.
  2. Transfer that file to your computer (AirDrop, iCloud, USB cable — all manual steps).
  3. Clone the repo: git clone https://github.com/the-momentum/apple-health-mcp-server
  4. Install Docker, or install uv and configure a Python environment.
  5. Run the import process, which parses the XML into a DuckDB database. This can take several minutes for large exports.
  6. Configure environment variables in config/.env.
  7. Start the server with Docker Compose or uv.

Each step is documented and straightforward on its own. But the total friction adds up — and you need to repeat steps 1-2 every time you want fresh data.

Data model: parsed XML vs native HealthKit JSON

This is the deeper architectural difference.

the-momentum parses Apple's raw export.xml into DuckDB tables. The XML format is Apple's internal HealthKit serialization — it uses Apple's HKObjectType identifiers (e.g., HKQuantityTypeIdentifierHeartRateVariabilitySDNN), has nested <Record> and <MetadataEntry> elements, and is not designed for direct consumption. DuckDB gives you SQL access to the parsed data, which is powerful if you know what you're looking for. But the parsing step is fragile — Apple updated the DTD in iOS 16, breaking many parsers — and the raw XML can be 1-2 GB, making parsing slow.

health-export-mcp reads a JSON file written by the companion iOS app. The app reads HealthKit through Apple's native Swift APIs and writes structured JSON with metric names, values, units, dates, and metadata already cleanly organized. The server doesn't parse anything — it serves pre-structured data. The cache file is typically 2-5 MB (vs 500 MB+ for the raw XML) because it stores aggregates and daily summaries, not every individual HealthKit sample.

This also means the-momentum requires you to manually re-export and re-import for fresh data. health-export-mcp just reads whatever the iOS app has written — which can be set to sync hourly.

Tools and query interface

the-momentum exposes a natural-language query tool that translates English questions into DuckDB SQL. You ask "What was my average heart rate last week?" and it generates a SQL query against the parsed database. This is powerful for ad-hoc questions but means you're dependent on the NL-to-SQL layer, which can produce the wrong query or return unexpected results.

health-export-mcp exposes seven deterministic tools that agents call directly:

  • get_mcp_status — confirms connectivity
  • list_metrics — lists available metrics with metadata
  • get_health_metrics — pulls raw values for a metric + date range
  • get_trends — computes week-over-week or month-over-month trends
  • compare_periods — A/B two time windows with statistics
  • get_structured_export — tidy bundle for deeper analysis
  • query_health_data — flexible plain-language queries

Because the tools are deterministic, agents can chain them predictably. An agent knows get_trends returns a trend with mean, direction, and variance for a specific metric and period. It can call compare_periods to benchmark against the previous period. The results are type-safe and structured.

Privacy model comparison

Both servers are local-first — they run on your own machine and read data from your own disk. Neither sends data to a cloud. But there are differences:

  • the-momentum is fully open-source under MIT. The server runs locally. However, the manual export-transfer-import loop means your raw XML — containing every HealthKit sample you've ever recorded — lives in multiple locations during the transfer process.
  • health-export-mcp is also MIT open-source and runs locally. The iOS app reads HealthKit read-only (never modifies it). The JSON cache can go to iCloud Drive, a local folder, or a webhook — you control the destination. The server itself makes zero network calls — no telemetry, no analytics, no phone-home.

Both are privacy-respecting. The practical difference is that health-export-mcp eliminates the manual file transfer step — your data goes from iPhone to iCloud to your Mac via the OS sync layer, with no manual copy involved.

Who should use which?

Choose the-momentum if:

  • You already use DuckDB and prefer SQL-based data exploration
  • You don't own an iPhone (the server can work with any XML export)
  • You want the natural-language-to-SQL interface
  • You're interested in Open Wearables' multi-brand wearable data platform

Choose health-export-mcp if:

  • You own an iPhone and want the least-friction setup
  • You want auto-syncing data without manual exports
  • You prefer deterministic, type-safe tools over NL-to-SQL
  • You want the companion on-device AI app for iPhone (Ask/Pro Chat + Weekly Brief)
  • You want zero dependencies — just Node.js

The bottom line

the-momentum's Apple Health MCP Server is a solid project — 243 stars is earned, not bought. The DuckDB approach makes sense for developers who want SQL access to their health data, and the team's pivot to Open Wearables shows they're thinking bigger.

But for the specific use case of getting Apple Health data into your AI agent with minimal friction, health-export-mcp wins on every practical dimension: setup time, dependency footprint, data freshness, and companion app integration. One iOS app install, one sync, one MCP config block. Your agent has access to your live health data in under two minutes.

For the full setup, see the MCP server documentation or the Claude MCP setup guide.

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. No Docker, no DuckDB, no manual exports.

Frequently asked questions

What is the-momentum Apple Health MCP Server?

The-momentum Apple Health MCP Server is an open-source MCP server by the-momentum.ai that parses Apple Health's export.xml into DuckDB and exposes it via MCP tools. It requires Docker or uv for dependencies, Python for the server runtime, and a manual XML export from your iPhone. It has 243 GitHub stars as of August 2026.

What is health-export-mcp?

health-export-mcp is an open-source, zero-dependency MCP server by Health Export AI. It reads a JSON file written by the companion iOS app (Health Export AI). No Docker, no Python, no manual XML export. Just Node.js and a folder path. It ships 7 read-only tools and pairs with an on-device health AI app for iPhone.

Which Apple Health MCP server is easier to set up?

health-export-mcp is significantly easier. You install the iOS app (auto-syncs to iCloud), then point the MCP server at that folder. No Docker, no Python, no XML export, no environment configuration. The-momentum requires cloning a repo, installing Docker/uv, manually exporting export.xml from your iPhone, transferring it to your computer, and configuring environment variables.

Can I use both servers together?

Yes. They use different data sources (health-export-mcp reads JSON, the-momentum reads DuckDB from parsed XML) and different ports. You can run both and point different MCP clients at different servers. They don't conflict.

Which server has more tools?

health-export-mcp ships 7 deterministic, purpose-built MCP tools. The-momentum ships a natural-language-to-SQL tool that generates DuckDB queries. Which is "more" depends on how you count — the-momentum's NL interface can answer any SQL-answerable question, while health-export-mcp's tools are more predictable and reliable for common queries.

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