<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vaultbeat</title>
    <description>The latest articles on DEV Community by Vaultbeat (@vaultbeat).</description>
    <link>https://dev.to/vaultbeat</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4170633%2F16da3c1b-d02e-4735-a930-771018c9a558.png</url>
      <title>DEV Community: Vaultbeat</title>
      <link>https://dev.to/vaultbeat</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vaultbeat"/>
    <language>en</language>
    <item>
      <title>iPhone Videos Won't Play or Take Forever to Load from iCloud? Here's Why and What to Do</title>
      <dc:creator>Vaultbeat</dc:creator>
      <pubDate>Thu, 08 Oct 2026 14:56:35 +0000</pubDate>
      <link>https://dev.to/vaultbeat/iphone-videos-wont-play-or-take-forever-to-load-from-icloud-heres-why-and-what-to-do-ga3</link>
      <guid>https://dev.to/vaultbeat/iphone-videos-wont-play-or-take-forever-to-load-from-icloud-heres-why-and-what-to-do-ga3</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Short Answer:&lt;/strong&gt; With &lt;strong&gt;Optimize iPhone Storage&lt;/strong&gt; enabled, older videos are not fully stored on your iPhone. The original file lives in iCloud while your device keeps a smaller preview version. When you tap play, Photos must download the original first. A photo takes a fraction of a second; a long 4K video can be several gigabytes, taking minutes on slow connections, stalling completely offline, or throwing &lt;strong&gt;"Unable to Load Video."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When switching back to &lt;em&gt;Download and Keep Originals&lt;/em&gt; is impossible due to limited local storage, the most effective way to make chosen videos play instantly offline without turning off storage optimization is keeping their unmodified original files outside the optimized library container: either manually by exporting them to the Files app, or with automated pair-file integrity and instant gallery playback via &lt;a href="https://untouched.tetherme.app/" rel="noopener noreferrer"&gt;Untouched&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  "Unable to Load Video"
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Unable to Load Video&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;An error occurred while loading a higher-quality version of this video.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This error means the Photos app attempted to fetch the full-quality video stream from iCloud and failed to finish. The video is &lt;strong&gt;not lost&lt;/strong&gt;—the original remains safe in iCloud. The download simply failed due to poor cellular connectivity, insufficient local device storage to unpack the file, or an interrupted sync session.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Videos, and Not Photos?
&lt;/h2&gt;

&lt;p&gt;Apple describes Optimize iPhone Storage as storing full-resolution photos and videos in iCloud, &lt;em&gt;"with storage-saving versions kept on your iPhone."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Every tap on an older item initiates an on-demand download:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Photos:&lt;/strong&gt; Typically 2–4 MB. Fast enough to download before you even notice.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Videos:&lt;/strong&gt; A different order of magnitude. One minute of 4K 60fps video takes hundreds of megabytes. A 10-minute vacation clip can easily exceed 4 GB.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is why the common experience is: storage optimization frees up dozens of gigabytes, photos continue to open fine, but videos become impossible to watch when you need them most.&lt;/p&gt;




&lt;h2&gt;
  
  
  If You Need It to Play Right Now
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Connect to strong Wi-Fi&lt;/strong&gt; and keep Photos open on the video until the download ring completes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free up temporary space.&lt;/strong&gt; Downloading the full video requires free headroom on the iPhone (&lt;strong&gt;Settings › General › iPhone Storage&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accept pending iCloud terms.&lt;/strong&gt; Tap your Apple Account at the top of Settings; if terms are pending, sync will stall until accepted.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Restart the iPhone&lt;/strong&gt; if the download circle appears frozen.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch on iCloud.com&lt;/strong&gt; from a computer browser if your phone cannot download it.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Long-Term Fixes That Stop It From Happening
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Download and Keep Originals (If Everything Fits)
&lt;/h3&gt;

&lt;p&gt;Go to &lt;strong&gt;Settings › [Your Name] › iCloud › Photos&lt;/strong&gt; (in iOS 27, under &lt;strong&gt;iPhone Storage&lt;/strong&gt;), and choose &lt;strong&gt;Download and Keep Originals&lt;/strong&gt;. Every video will be permanently stored on your iPhone and play instantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Catch:&lt;/strong&gt; Your iPhone must have enough storage to hold your entire library. If you enabled optimization because a 150 GB photo library filled a 256 GB phone, your device physically cannot fit the originals back.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Keep Just the Priority Videos on Your iPhone
&lt;/h3&gt;

&lt;p&gt;Because iOS offers no native toggle to exempt specific videos or albums from storage optimization, the engineering solution is keeping copies &lt;em&gt;outside&lt;/em&gt; the Photos library container:&lt;/p&gt;

&lt;h4&gt;
  
  
  Option A: Manual Export to Files App (Free &amp;amp; Built-in)
&lt;/h4&gt;

&lt;p&gt;Select the video in Photos, tap &lt;strong&gt;Share › Export Unmodified Original&lt;/strong&gt;, and save it to a folder in &lt;strong&gt;On My iPhone&lt;/strong&gt;. You can then play it from the Files app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Friction Points &amp;amp; Limitations:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Silent Freezes on Batch Exports:&lt;/strong&gt; Exporting multiple large 4K clips forces the iOS ShareSheet to download gigabytes in the background with zero progress feedback. If memory runs low or connections drop, it silently cancels or freezes Photos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cryptic Filenames &amp;amp; No Gallery Scrubbing:&lt;/strong&gt; Videos land as raw filenames like &lt;code&gt;IMG_4712.MOV&lt;/code&gt;. You lose the photo timeline, continuous thumbnail scrub, and continuous swipe-to-play.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live Photos Lose Interactive Playback:&lt;/strong&gt; Live Photos are split into separate HEIC and MOV files; they can no longer be played with a long press.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hidden Album Lockout:&lt;/strong&gt; Items inside a Face ID-locked Hidden album fail to export until you globally disable protection in Settings.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Option B: Automated Offline Preservation via Untouched
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://untouched.tetherme.app/" rel="noopener noreferrer"&gt;Untouched&lt;/a&gt; downloads each original once and keeps every associated file (paired Live Photo videos, raw masters, edits) in a dedicated local sandbox folder (&lt;strong&gt;Files › On My iPhone › Untouched&lt;/strong&gt;).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instant offline playback with continuous gallery scrubbing.&lt;/li&gt;
&lt;li&gt;Live streaming download meter showing bytes retrieved and speed.&lt;/li&gt;
&lt;li&gt;SHA-256 cryptographic checksums recorded for every file to verify integrity.&lt;/li&gt;
&lt;li&gt;Never touches or alters your original Photos library; iCloud continues optimizing the rest of your library.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3. Copy to an External SSD or Computer
&lt;/h3&gt;

&lt;p&gt;For videos you watch on a big screen or want to archive permanently, offload unmodified originals via a Type-C SSD, AirDrop with &lt;em&gt;All Photos Data&lt;/em&gt; enabled, or USB import on a Mac/PC.&lt;/p&gt;




&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Why does my iPhone video show a circle with an exclamation mark (!) in the bottom right corner?
&lt;/h3&gt;

&lt;p&gt;An exclamation mark inside a circle means Photos only has a low-resolution thumbnail on your device while the full original is stored in iCloud. It appears when a download fails or pauses due to poor network connectivity, Low Data Mode, low battery, or low device storage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why does my iPhone video keep showing a spinning loading circle and won't play?
&lt;/h3&gt;

&lt;p&gt;When you tap play on an optimized video, iOS displays a circular progress wheel in the corner while downloading the full-resolution video stream from iCloud. If you are on a restricted cellular connection, in Airplane Mode, or iCloud servers are slow, the wheel spins indefinitely.&lt;/p&gt;

&lt;h3&gt;
  
  
  How can I watch 4K iPhone videos offline on an airplane without Wi-Fi?
&lt;/h3&gt;

&lt;p&gt;In Airplane Mode without active Wi-Fi, iCloud Photos cannot download optimized videos. To ensure priority 4K videos play smoothly offline on a flight without filling your storage with your entire library, keep their unmodified originals stored locally before departure using Untouched or manual Files export.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does adding a photo or video to Favorites prevent it from being optimized by iCloud?
&lt;/h3&gt;

&lt;p&gt;No. The Favorites album is just a filter tag inside Photos; iOS still offloads favorited photos and videos to iCloud when local storage is constrained.&lt;/p&gt;

&lt;h3&gt;
  
  
  Are my videos lost when they fail to play?
&lt;/h3&gt;

&lt;p&gt;No. All originals remain safely stored at full resolution in iCloud. You can always verify and download them at &lt;a href="https://www.icloud.com" rel="noopener noreferrer"&gt;iCloud.com&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://untouched.tetherme.app/guides/iphone-videos-wont-play-icloud/" rel="noopener noreferrer"&gt;untouched.tetherme.app&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ios</category>
      <category>apple</category>
      <category>icloud</category>
      <category>iphone</category>
    </item>
    <item>
      <title>Can Claude AI Track Your Sleep? Apple Watch Sleep Stages via MCP</title>
      <dc:creator>Vaultbeat</dc:creator>
      <pubDate>Thu, 08 Oct 2026 08:30:22 +0000</pubDate>
      <link>https://dev.to/vaultbeat/how-to-use-claude-ai-as-your-apple-watch-sleep-tracker-and-recovery-coach-via-mcp-47h6</link>
      <guid>https://dev.to/vaultbeat/how-to-use-claude-ai-as-your-apple-watch-sleep-tracker-and-recovery-coach-via-mcp-47h6</guid>
      <description>&lt;p&gt;&lt;strong&gt;Direct Answer / The Quick Pick&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes, Claude AI can track and reason about your Apple Watch sleep data, but &lt;strong&gt;only if you use a real-time Model Context Protocol (MCP) server.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By connecting &lt;a href="https://dev.to/mcp"&gt;Vaultbeat&lt;/a&gt; to Claude Code or Claude Desktop, your agent can call &lt;code&gt;get_sleep_nights&lt;/code&gt; and&lt;code&gt;get_sleep_detail&lt;/code&gt; to inspect deep sleep, REM cycles, sleep disruptions, and nocturnal heart rate directly from HealthKit—with zero manual exports and on-device end-to-end encryption.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Generic "Sleep Scores" Fail
&lt;/h2&gt;

&lt;p&gt;Most fitness apps condense a complex physiological night into an arbitrary single number: *"Your sleep score is 78."*This number tells you nothing actionable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why do you feel sluggish after 8 hours in bed? (Was REM fragmented by awakenings?)&lt;/li&gt;
&lt;li&gt;Did a late workout delay your resting heart rate drop? (Did your cardiovascular system recover?)&lt;/li&gt;
&lt;li&gt;How does your deep sleep ratio correlate with cognitive fatigue during code reviews?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;LLMs like Claude 3.7 are extraordinarily capable of multi-variate reasoning—if they have structured, fresh biometric context.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Sleep Toolset: How Claude Reads Your Night
&lt;/h2&gt;

&lt;h3&gt;
  
  
  get_sleep_nights(limit=7)
&lt;/h3&gt;

&lt;p&gt;Returns a compact multi-night summary: in-bed time, sleep onset, wake time, total duration, awakenings count, duration across stages (core, deep, and REM), daytime naps, plus average sleeping heart rate and sleep breathing rate.&lt;/p&gt;

&lt;p&gt;{ "columns": ["date", "dow", "bed", "wake", "asleep", "deep", "rem", "core", "wakeups", "hr", "rr", …],&lt;br&gt;
"rows": [["2026-10-07", "Wed", "2026-10-06T23:41…", "2026-10-07T07:12…", 432, 84, 114, 216, 3, 52, 14.8, …]] } // abridged; minutes, bpm, breaths/min&lt;/p&gt;
&lt;h3&gt;
  
  
  get_sleep_detail(since="2026-10-07", until="2026-10-07")
&lt;/h3&gt;

&lt;p&gt;High-resolution breakdown of minute-by-minute stage bands: exact timestamps for stage transitions (Core, Deep, REM, Awake) paired with stage-segmented heart rate. This allows Claude to pinpoint whether nocturnal awakenings clustered in the second half of the night or right before dawn.&lt;/p&gt;
&lt;h3&gt;
  
  
  correlate_metric_series &amp;amp; compare_metric_periods
&lt;/h3&gt;

&lt;p&gt;Sleep does not occur in a vacuum. Vaultbeat's statistical primitives calculate rigorous Pearson correlation between daytime physical exertion (&lt;code&gt;active_energy&lt;/code&gt;) and overnight deep sleep duration (&lt;code&gt;deep_sleep_minutes&lt;/code&gt;), or compare recovery baselines before and after travel.&lt;/p&gt;
&lt;h2&gt;
  
  
  Partner Sleep Insights: Two People, One Shared Room
&lt;/h2&gt;

&lt;p&gt;One of Vaultbeat's most distinctive features is &lt;strong&gt;End-to-End Encrypted Couple Sharing&lt;/strong&gt; (a single Pro membership covers both partners).&lt;/p&gt;

&lt;p&gt;If both partners wear an Apple Watch and opt in to biometric sharing, Claude can cross-reference sleep disruptions between both individuals with zero server visibility:&lt;/p&gt;

&lt;p&gt;"Did my partner also wake up at 3:15 AM last night? Both of your Apple Watches logged an awakening window within 90 seconds of each other. This indicates an external environmental disruption (such as bedroom temperature, noise, or a pet) rather than individual sleep variation."&lt;/p&gt;

&lt;p&gt;Privacy guarantee: Each partner retains individual granular consent over which categories to share. All synchronizations are sealed using Curve25519 ECDH + AES-GCM before leaving the device. Note that personal metrics like HRV and strength logs are strictly single-user and never shared.&lt;/p&gt;
&lt;h2&gt;
  
  
  Real Prompts to Ask Your AI Sleep Coach
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;REM FRAGMENTATION &amp;amp; GROGGINESSget_sleep_detail&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;"I woke up feeling foggy despite spending 8 hours in bed. Inspect last night's sleep stages using get_sleep_detail. Was my REM sleep fragmented by awakenings during the final two hours?"&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;WORKOUT LOAD VS. DEEP SLEEP LATENCYcorrelate_metric_series&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;"Run correlate_metric_series('active_energy', 'deep_sleep_minutes', days=14). Does heavy evening lifting correlate with greater deep sleep recovery?"&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;MORNING SYMPTOM &amp;amp; JOURNAL LOGGINGlog_symptom · log_note_append&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;"I have a mild sore throat and feel unusually drained this morning. Log a symptom episode with log_symptom(symptom_type='sore_throat', severity='mild') and append a note so we can track how I recover over the next few days."&lt;/p&gt;
&lt;h2&gt;
  
  
  How to Set Up in 2 Minutes
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Install Vaultbeat on iPhone
&lt;/h3&gt;

&lt;p&gt;Download &lt;a href="https://apps.apple.com/app/id6759241985?pt=94022652&amp;amp;ct=site_web&amp;amp;mt=8" rel="noopener noreferrer"&gt;Vaultbeat on the App Store&lt;/a&gt; and grant Sleep and Vitals permissions. Local recording on the phone is free forever.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Pair your Mac terminal
&lt;/h3&gt;

&lt;p&gt;Make sure you have &lt;code&gt;uv&lt;/code&gt; installed (&lt;code&gt;brew install uv&lt;/code&gt;). In your terminal, run:&lt;/p&gt;

&lt;p&gt;Terminal&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uvx vaultbeat-apple-health@latest &lt;span class="nb"&gt;bind&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Scan the terminal QR code from the Vaultbeat iOS app under the &lt;strong&gt;MCP&lt;/strong&gt; tab at the bottom to exchange Curve25519 encryption keys.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Connect to Claude Code
&lt;/h3&gt;

&lt;p&gt;Terminal&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add vaultbeat-health &lt;span class="nt"&gt;--&lt;/span&gt; uvx vaultbeat-apple-health@latest serve &lt;span class="nt"&gt;--transport&lt;/span&gt; stdio
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pricing note: Local recording is free forever. Continuous E2EE cloud sync and AI agent access require a Pro membership ($9.99/mo, $29.99/yr, or $74.99 lifetime; includes 3-day trial and covers both partners).&lt;/p&gt;

&lt;h2&gt;
  
  
  End-to-End Encrypted Sleep Data
&lt;/h2&gt;

&lt;p&gt;Unlike cloud fitness platforms that sell your aggregated biometrics, Vaultbeat operates on a zero-knowledge architecture. Your Apple Watch records are encrypted on your iPhone before upload. The cloud only routes ciphertext; decryption happens strictly inside your local terminal MCP process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Can Claude AI analyze my Apple Watch sleep stages?
&lt;/h3&gt;

&lt;p&gt;Yes. With the Vaultbeat MCP server connected to Claude Code or Claude Desktop, Claude can invoke get_sleep_nights and get_sleep_detail to analyze your deep sleep percentage, REM latency, overnight awakenings, and sleep breathing rate.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do I have to export an XML file to track sleep with Claude?
&lt;/h3&gt;

&lt;p&gt;No. Vaultbeat syncs Apple Watch sleep data continuously in the background from HealthKit. When you wake up, last night’s sleep records are already available to your local Claude agent with zero manual export steps.&lt;/p&gt;

&lt;h3&gt;
  
  
  What sleep tools does the Vaultbeat MCP server provide?
&lt;/h3&gt;

&lt;p&gt;Vaultbeat provides get_sleep_nights (returns bed/wake times, stage durations, awakenings, and average nocturnal heart and breathing rates) and get_sleep_detail (provides high-resolution stage bands and per-stage heart rate metrics for specific nights).&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://vaultbeat.app/blog/claude-ai-sleep-tracker-apple-watch" rel="noopener noreferrer"&gt;vaultbeat.app&lt;/a&gt;. Vaultbeat is on the &lt;a href="https://apps.apple.com/app/id6759241985" rel="noopener noreferrer"&gt;App Store&lt;/a&gt; and its MCP server is open source on &lt;a href="https://github.com/Fino-wind/vaultbeat-apple-health" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claude</category>
      <category>apple</category>
      <category>ai</category>
      <category>health</category>
    </item>
    <item>
      <title>How to Connect Apple Health to Cursor IDE &amp; Windsurf via MCP</title>
      <dc:creator>Vaultbeat</dc:creator>
      <pubDate>Thu, 08 Oct 2026 08:25:15 +0000</pubDate>
      <link>https://dev.to/vaultbeat/how-to-connect-apple-health-to-cursor-ide-via-mcp-developer-health-in-real-time-2la5</link>
      <guid>https://dev.to/vaultbeat/how-to-connect-apple-health-to-cursor-ide-via-mcp-developer-health-in-real-time-2la5</guid>
      <description>&lt;p&gt;&lt;strong&gt;Direct Answer / Quick Setup&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To give Cursor IDE or Windsurf real-time access to your Apple Watch biometrics (sleep, HRV, recovery, workouts), &lt;strong&gt;configure the Vaultbeat local MCP server.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pair your iPhone once with &lt;code&gt;uvx vaultbeat-apple-health@latest bind&lt;/code&gt;, then add the server to Cursor's MCP settings using command &lt;code&gt;uvx&lt;/code&gt; and args&lt;code&gt;["vaultbeat-apple-health@latest", "serve", "--transport", "stdio"]&lt;/code&gt;. Cursor Composer can then invoke health tools during your workflow to evaluate physiological recovery.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Connect Apple Watch Biometrics to Your Code Editor?
&lt;/h2&gt;

&lt;p&gt;Modern software engineering is an endurance discipline. When you are deep into a 14-hour refactoring sprint or pushing an urgent hotfix at midnight, your physiological readiness dictates code quality far more than syntax fluency:&lt;/p&gt;

&lt;h3&gt;
  
  
  Cognitive Readiness Self-Check
&lt;/h3&gt;

&lt;p&gt;If your Apple Watch recorded only 32 minutes of deep sleep and your overnight HRV is down 25% from your 30-day baseline, you should avoid writing irreversible production database migrations. You can ask Cursor Composer to evaluate your biological baseline before approving high-complexity refactors.&lt;/p&gt;

&lt;h3&gt;
  
  
  Statistical Correlation, Not Guesses
&lt;/h3&gt;

&lt;p&gt;Instead of vague LLM hallucinations, Vaultbeat provides native analytical tools like &lt;code&gt;correlate_metric_series&lt;/code&gt; and &lt;code&gt;compare_metric_periods&lt;/code&gt;. Your IDE agent can calculate the exact statistical correlation between workout calories and deep sleep hours.&lt;/p&gt;

&lt;h3&gt;
  
  
  Two-Way Health Journaling
&lt;/h3&gt;

&lt;p&gt;Vaultbeat is not a read-only data dump. With tools like &lt;code&gt;log_symptom&lt;/code&gt; and &lt;code&gt;log_note_append&lt;/code&gt;, Cursor Composer can record developer ergonomic strains (wrist pain, tension headaches) directly back into your private health vault.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sub-Daily Intraday Resolution
&lt;/h3&gt;

&lt;p&gt;Inspect high-frequency daytime HRV distributions with &lt;code&gt;get_intraday("hrv_sdnn")&lt;/code&gt; to evaluate physiological recovery variance across demanding work days.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step-by-Step Cursor IDE MCP Configuration
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Install Vaultbeat on iPhone
&lt;/h3&gt;

&lt;p&gt;Install &lt;a href="https://apps.apple.com/app/id6759241985?pt=94022652&amp;amp;ct=site_web&amp;amp;mt=8" rel="noopener noreferrer"&gt;Vaultbeat on the App Store&lt;/a&gt;. Enable HealthKit sync for Sleep, Heart Rate, HRV, Workouts, and Vitals. The app generates an on-device Curve25519 keypair. Local recording on the phone is free forever.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Bind Your Development Machine
&lt;/h3&gt;

&lt;p&gt;Ensure you have &lt;code&gt;uv&lt;/code&gt; installed (&lt;code&gt;brew install uv&lt;/code&gt;). In your Mac terminal, execute the binding command:&lt;/p&gt;

&lt;p&gt;Terminal&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uvx vaultbeat-apple-health@latest &lt;span class="nb"&gt;bind&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Scan the terminal QR code with the Vaultbeat iOS app under the &lt;strong&gt;MCP&lt;/strong&gt; tab at the bottom. Your public encryption keys are exchanged securely without routing unencrypted secrets through any cloud server.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Add Vaultbeat to Cursor IDE Settings
&lt;/h3&gt;

&lt;p&gt;Open Cursor. Go to &lt;strong&gt;Settings → Features → MCP&lt;/strong&gt;. Click &lt;strong&gt;+ Add New MCP Server&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Name:&lt;/strong&gt; &lt;code&gt;vaultbeat-health&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Type:&lt;/strong&gt; &lt;code&gt;command&lt;/code&gt; (stdio)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Command:&lt;/strong&gt; &lt;code&gt;uvx vaultbeat-apple-health@latest serve --transport stdio&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Alternatively, if you use project-level or global &lt;code&gt;.cursor/mcp.json&lt;/code&gt;, paste this snippet:&lt;/p&gt;

&lt;p&gt;.cursor/mcp.json&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"vaultbeat-health"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"uvx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"vaultbeat-apple-health@latest"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"serve"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"--transport"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"stdio"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pricing note: Local recording on iPhone is completely free. Cloud relay and MCP history access require a Pro membership ($9.99/mo, $29.99/yr, or $74.99 lifetime; includes 3-day trial and covers both partners).&lt;/p&gt;

&lt;h2&gt;
  
  
  Real Developer Scenarios to Try in Cursor Composer
&lt;/h2&gt;

&lt;p&gt;With the MCP server connected, you can query your health context directly inside Cursor Composer prompts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;MORNING READINESS CHECKget_sleep_nights · get_metric_trend&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;"Call get_sleep_nights for last night and inspect my deep sleep ratio against my 30-day baseline via get_metric_trend('deep_sleep_minutes', days=30). Am I well-rested enough to tackle a high-risk concurrency refactor today, or should I stick to low-risk bug fixes?"&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;SPRINT CRUNCH VS. RECOVERY CORRELATIONcompare_metric_periods · correlate_metric_series&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;"Compare my HRV from this release week against last week using compare_metric_periods('hrv_sdnn', days=7). Run correlate_metric_series('active_energy', 'deep_sleep_minutes', days=30) to check whether my training load is impacting deep sleep."&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ERGONOMIC STRAIN &amp;amp; SYMPTOM LOGGINGlog_symptom · log_note_append&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;"I have developed a moderate tension headache after 4 hours of intense debugging. Log a symptom episode using log_symptom(symptom_type='headache', severity='moderate', triggers=['screen_fatigue']), and append a note about taking a 20-minute break."&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;INTRADAY AUTONOMIC RECOVERY AUDITget_intraday&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;"Query my intraday HRV distribution for today using get_intraday('hrv_sdnn'). How did my physiological recovery vary throughout the work day?"&lt;/p&gt;

&lt;h2&gt;
  
  
  Zero-Knowledge Privacy: Built for Engineers
&lt;/h2&gt;

&lt;p&gt;Developers care about boundaries: your proprietary codebase stays in Cursor, and your sensitive health biometrics must never leak to third-party ad networks or unencrypted cloud databases.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;On-device sealing:&lt;/strong&gt; Every metric is encrypted on your iPhone with Curve25519 ECDH + AES-GCM before transport.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local decryption:&lt;/strong&gt; Decryption happens strictly in your local terminal process. Cloud relays only ever route ciphertext blobs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No clock-inferred hallucinations:&lt;/strong&gt; Vaultbeat only passes verified HealthKit observation timestamps. It never fabricates sleep states from the system clock.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open source:&lt;/strong&gt; Inspect and audit the local daemon code on &lt;a href="https://github.com/Fino-wind/vaultbeat-apple-health" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Can Cursor IDE connect to Apple Health using MCP?
&lt;/h3&gt;

&lt;p&gt;Yes. Cursor IDE supports the Model Context Protocol (MCP). By installing the Vaultbeat iOS app and adding the open-source vaultbeat-apple-health server to Cursor settings or .cursor/mcp.json, Cursor can query your live sleep, HRV, and recovery biometrics directly inside Composer.&lt;/p&gt;

&lt;h3&gt;
  
  
  What MCP configuration is required for Cursor IDE?
&lt;/h3&gt;

&lt;p&gt;In Cursor Settings → Features → MCP (or .cursor/mcp.json), add a stdio server with command "uvx" and args ["vaultbeat-apple-health@latest", "serve", "--transport", "stdio"].&lt;/p&gt;

&lt;h3&gt;
  
  
  Is my health data visible to Cursor or Anthropic servers?
&lt;/h3&gt;

&lt;p&gt;Vaultbeat's own servers never can: records are encrypted on your iPhone (Curve25519 ECDH + AES-GCM) and decrypted only by the MCP server on your machine. What Cursor reads is a different matter — the results of the tools it calls (say, last night's sleep stages or an HRV average) become part of your prompt, and Cursor sends that prompt to the model provider you use, as it does with your code. Only the results it asks for leave your machine.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://vaultbeat.app/blog/apple-health-mcp-cursor-ide" rel="noopener noreferrer"&gt;vaultbeat.app&lt;/a&gt;. Vaultbeat is on the &lt;a href="https://apps.apple.com/app/id6759241985" rel="noopener noreferrer"&gt;App Store&lt;/a&gt; and its MCP server is open source on &lt;a href="https://github.com/Fino-wind/vaultbeat-apple-health" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cursor</category>
      <category>mcp</category>
      <category>ai</category>
      <category>developer</category>
    </item>
    <item>
      <title>Why Apple Health export.xml Fails for AI (And the Real-Time Fix)</title>
      <dc:creator>Vaultbeat</dc:creator>
      <pubDate>Thu, 08 Oct 2026 08:25:14 +0000</pubDate>
      <link>https://dev.to/vaultbeat/why-apple-health-exportxml-fails-for-ai-and-the-real-time-fix-4doe</link>
      <guid>https://dev.to/vaultbeat/why-apple-health-exportxml-fails-for-ai-and-the-real-time-fix-4doe</guid>
      <description>&lt;p&gt;&lt;strong&gt;Direct Answer / The Working Fix&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Apple Health's &lt;strong&gt;export.xml&lt;/strong&gt; crashes Python scripts and AI data parsers with &lt;code&gt;MemoryError&lt;/code&gt; because it serializes years of unindexed records into a 2GB–4GB XML file that expands to 12GB+ RAM during standard DOM parsing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Modern Fix:&lt;/strong&gt; Stop treating biometrics as static batch files or dumping unencrypted spreadsheets into cloud drives. Switch to a real-time Model Context Protocol (MCP) stream via &lt;a href="https://dev.to/mcp"&gt;Vaultbeat&lt;/a&gt;(listed on the App Store as "Vaultbeat — Health MCP for AI", id 6759241985). Instead of multi-gigabyte batch exports that are stale the moment they finish, the Vaultbeat iPhone app syncs HealthKit in the background, encrypted on the phone, and a local MCP server hands the records to Claude Code or Cursor over stdio.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt; When export.xml crashes your parser and a weekly export is already stale, the fix is to stop exporting: Vaultbeat syncs from HealthKit on its own, keeps our servers to ciphertext, and serves the data to coding agents through MCP.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Anatomy of Apple Health's 2GB XML Monster
&lt;/h2&gt;

&lt;p&gt;Apple designed HealthKit over a decade ago. When you navigate to &lt;em&gt;Profile → Export All Health Data&lt;/em&gt;, iOS does not create an indexed SQLite database or a modern Parquet stream. It serializes every single heartbeat, accelerometer step, sleep stage interval, and environmental noise sample into a single monolithic XML document:&lt;code&gt;export.xml&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;For anyone wearing an Apple Watch for more than a year, this produces a catastrophic data footprint:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bloat factor:&lt;/strong&gt; A 150MB zip file expands into a ** 2.5GB to 4.5GB plaintext XML** file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Millions of DOM nodes:&lt;/strong&gt; A single year of Apple Watch continuous heart rate tracking generates over 4,000,000 individual &lt;code&gt;&amp;lt;Record&amp;gt;&lt;/code&gt; tags.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory exhaustion:&lt;/strong&gt; Standard XML element trees (&lt;code&gt;xml.etree.ElementTree&lt;/code&gt;) load the entire document structure into memory, multiplying the in-memory footprint by 4x to 6x. A 2.5GB XML easily consumes 12GB+ of system RAM, resulting in immediate Python &lt;code&gt;MemoryError&lt;/code&gt; or OS OOM kills.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Batch Exports Break AI Workflows
&lt;/h2&gt;

&lt;p&gt;Even if you write an iterative SAX streaming parser or load the data into a local DuckDB instance, the &lt;strong&gt;workflow itself is structurally broken&lt;/strong&gt; for everyday AI reasoning:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Data Is Dead on Arrival
&lt;/h3&gt;

&lt;p&gt;An export reflects the past. If you wake up at 7:30 AM and ask your AI assistant, "How did I sleep, and is my HRV ready for training?", your export has zero information about last night unless you re-run the 7-minute iOS export routine.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Friction Kills Consistency
&lt;/h3&gt;

&lt;p&gt;Nobody manually taps through the Health app, waits 5 minutes, transfers a multi-gigabyte zip, and extracts it every single morning. After three days, the habit collapses.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Unencrypted Medical Plaintext
&lt;/h3&gt;

&lt;p&gt;Apple Health exports dump your intimate physiological history in plaintext XML. Leaving gigabytes of unencrypted XML files in Downloads or Desktop directories poses severe data leakage hazards for any local script or rogue process.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Zero Writeback Capability
&lt;/h3&gt;

&lt;p&gt;Static XML archives are strictly one-way read dumps. Your AI cannot log subjective symptoms, record nutrition, track strength training sets, or log clinical observations back into your health vault.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Modern Alternative: Continuous Sync &amp;amp; 26 Agent Tools
&lt;/h2&gt;

&lt;p&gt;Instead of wrestling with dead XML files, &lt;a href="https://dev.to/"&gt;Vaultbeat&lt;/a&gt; replaces monolithic archives with a data layer built for agents (Claude Code, Claude Desktop, Cursor, Hermes), exposed as 26 MCP tools:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Background HealthKit Sync
&lt;/h3&gt;

&lt;p&gt;The Vaultbeat iOS app syncs HealthKit in the background whenever iOS lets it run. New sleep, wake times and heart-rate readings are encrypted on the phone with Curve25519 ECDH + AES-GCM before they are uploaded.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Zero-Knowledge Cryptography (E2EE)
&lt;/h3&gt;

&lt;p&gt;The cloud relay only stores and routes ciphertext. Each paired computer holds its own private key, and our servers hold none, so records are decrypted inside the MCP server on your machine — never in our cloud. What your agent then reads goes to the model that agent uses.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Native In-Process Statistical Primitives
&lt;/h3&gt;

&lt;p&gt;Rather than dumping 500,000 raw samples into Claude's context window and burning hundreds of thousands of tokens, Vaultbeat calculates statistical metrics natively: &lt;code&gt;correlate_metric_series&lt;/code&gt; computes Pearson correlations directly; &lt;code&gt;compare_metric_periods&lt;/code&gt; sets two periods side by side; and &lt;code&gt;get_metric_trend&lt;/code&gt; fits a least-squares trend line to any daily series.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. True Bidirectional Health Journaling &amp;amp; Diagnostics
&lt;/h3&gt;

&lt;p&gt;Of the 26 tools, 10 write: your agent can log symptoms, meals, strength sessions, notes and weigh-ins as you mention them, and &lt;code&gt;vaultbeat_doctor&lt;/code&gt; checks the pairing when a read comes back empty.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Transparent Pricing:&lt;/strong&gt; Local recording on your iPhone (health trends, symptoms, training logs, private vault) is completely free forever. Encrypted cloud sync and MCP agent access are part of Vaultbeat Pro ($9.99/month, $29.99/year or $74.99 lifetime; pairing a machine starts three free days, and one membership covers both partners).&lt;/p&gt;

&lt;h2&gt;
  
  
  Switch from XML Exports to Live MCP in 2 Minutes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Install Vaultbeat on iPhone
&lt;/h3&gt;

&lt;p&gt;Download &lt;a href="https://apps.apple.com/app/id6759241985?pt=94022652&amp;amp;ct=site_web&amp;amp;mt=8" rel="noopener noreferrer"&gt;Vaultbeat on the App Store&lt;/a&gt;. Grant read permissions to Sleep, Heart Rate, HRV, Workouts, and Vitals.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Pair your terminal via QR Code
&lt;/h3&gt;

&lt;p&gt;Prerequisite: Install &lt;code&gt;uv&lt;/code&gt; via &lt;code&gt;brew install uv&lt;/code&gt; (macOS) or &lt;code&gt;curl -LsSf https://astral.sh/uv/install.sh | sh&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;On your Mac or Linux terminal, run:&lt;/p&gt;

&lt;p&gt;Terminal&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uvx vaultbeat-apple-health@latest &lt;span class="nb"&gt;bind&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Scan the ASCII QR code in the Vaultbeat iOS app under the bottom MCP tab.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Add to Claude Code or Cursor
&lt;/h3&gt;

&lt;p&gt;Connect the server to Claude Code with one command:&lt;/p&gt;

&lt;p&gt;Terminal&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add vaultbeat-health &lt;span class="nt"&gt;--&lt;/span&gt; uvx vaultbeat-apple-health@latest serve &lt;span class="nt"&gt;--transport&lt;/span&gt; stdio
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Why does Apple Health export.xml crash Python or AI scripts with MemoryError?
&lt;/h3&gt;

&lt;p&gt;Apple Health exports all historical biometric records into a single, unindexed, deeply nested XML file that frequently exceeds 2GB to 4GB uncompressed. Parsing this massive XML with standard DOM or element tree parsers consumes 8GB to 16GB of RAM, easily causing MemoryError or out-of-memory kernel crashes.&lt;/p&gt;

&lt;h3&gt;
  
  
  How can I connect Apple Health to Claude AI without exporting export.xml?
&lt;/h3&gt;

&lt;p&gt;Use Vaultbeat (an Apple Health MCP server for AI agents). Instead of generating XML archives, the Vaultbeat iOS app syncs HealthKit in the background, encrypted on the phone, and your local MCP server serves the records to your agent over stdio — no exports.&lt;/p&gt;

&lt;h3&gt;
  
  
  Are Apple Health XML exports private?
&lt;/h3&gt;

&lt;p&gt;No. When you export health data via iOS, Apple dumps years of raw medical, biometric, and sleep records in plaintext XML. Anyone or any script with read access to that unencrypted file can inspect every timestamp and sample.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://vaultbeat.app/blog/why-apple-health-export-xml-fails" rel="noopener noreferrer"&gt;vaultbeat.app&lt;/a&gt;. Vaultbeat is on the &lt;a href="https://apps.apple.com/app/id6759241985" rel="noopener noreferrer"&gt;App Store&lt;/a&gt; and its MCP server is open source on &lt;a href="https://github.com/Fino-wind/vaultbeat-apple-health" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>apple</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Best Apple Health MCP Servers for AI in 2026: An Honest Comparison</title>
      <dc:creator>Vaultbeat</dc:creator>
      <pubDate>Thu, 08 Oct 2026 08:18:54 +0000</pubDate>
      <link>https://dev.to/vaultbeat/apple-health-mcp-comparison-2026-vaultbeat-vs-auto-health-export-vs-local-healthkit-bridges-402e</link>
      <guid>https://dev.to/vaultbeat/apple-health-mcp-comparison-2026-vaultbeat-vs-auto-health-export-vs-local-healthkit-bridges-402e</guid>
      <description>&lt;p&gt;&lt;strong&gt;Full disclosure:&lt;/strong&gt; We built one of the apps in this comparison (Vaultbeat, listed on the App Store as &lt;em&gt;Vaultbeat — Health MCP for AI&lt;/em&gt;, id 6759241985). Every claim about the other products below comes from their own README or site, checked on 2026-10-09. If you only need a one-off look at last year, a free export-based tool is the right answer, and we say so.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Direct Answer / The Quick Pick&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt; For an AI agent that has to keep working away from your home Wi-Fi — Claude Code on a laptop, or Hermes or OpenClaw on a VPS — and that should log as well as read, ** Vaultbeat** is the one built for it: background sync from the iPhone, encryption that is always on, and a local MCP server with 26 tools, 10 of them writes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No developer server at all, agent on a Mac with iCloud Drive:&lt;/strong&gt; pick ** MetricBridge**. Its app exports automatically and its open-source server reads the files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A free, one-off look at your history:&lt;/strong&gt; pick ** apple-health-mcp** and export CSV files when you need them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Side by Side: Synced Data vs. Exported Files vs. Local Network
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Vaultbeat&lt;/th&gt;
&lt;th&gt;MetricBridge&lt;/th&gt;
&lt;th&gt;Health Auto Export&lt;/th&gt;
&lt;th&gt;apple-health-mcp&lt;/th&gt;
&lt;th&gt;Claude iPhone app&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;How data reaches the agent&lt;/td&gt;
&lt;td&gt;iPhone app syncs in the background through an encrypted relay&lt;/td&gt;
&lt;td&gt;iPhone app exports automatically to iCloud Drive, a synced folder, or a local-network push&lt;/td&gt;
&lt;td&gt;MCP server queries the app’s TCP server&lt;/td&gt;
&lt;td&gt;You export CSV files with a separate app&lt;/td&gt;
&lt;td&gt;The Claude chat on your iPhone reads it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Where the agent can run&lt;/td&gt;
&lt;td&gt;Any machine with internet — laptop, desktop, VPS&lt;/td&gt;
&lt;td&gt;A machine that sees the folder, or the phone’s network&lt;/td&gt;
&lt;td&gt;A computer on the same Wi-Fi as the phone&lt;/td&gt;
&lt;td&gt;The machine holding the export&lt;/td&gt;
&lt;td&gt;Only inside the Claude iPhone app&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Encryption&lt;/td&gt;
&lt;td&gt;End-to-end, always on; our servers hold ciphertext only&lt;/td&gt;
&lt;td&gt;Optional passphrase; no developer server&lt;/td&gt;
&lt;td&gt;Stays on your local network&lt;/td&gt;
&lt;td&gt;Plain CSV on disk&lt;/td&gt;
&lt;td&gt;Processed by Claude in Anthropic’s cloud&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agent can write&lt;/td&gt;
&lt;td&gt;Yes — symptoms, food, strength sessions, notes and weight&lt;/td&gt;
&lt;td&gt;No (read-only)&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;No (SQL reads)&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Partner sharing&lt;/td&gt;
&lt;td&gt;Per category, encrypted, revocable&lt;/td&gt;
&lt;td&gt;Via a shared iCloud folder&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What it costs&lt;/td&gt;
&lt;td&gt;Recording free; agent access is Pro, with three free days on pairing&lt;/td&gt;
&lt;td&gt;Paid app unlock&lt;/td&gt;
&lt;td&gt;App’s Premium tier&lt;/td&gt;
&lt;td&gt;Free (plus the export app)&lt;/td&gt;
&lt;td&gt;Claude Pro or Max, US only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;“—” means the product’s own documentation does not say. Encryption describes storage and transport; once any agent reads a record, it goes to whichever model that agent uses.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Each Approach Works
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Vaultbeat — background sync, encrypted relay, read and write
&lt;/h3&gt;

&lt;p&gt;Vaultbeat was built around one observation: &lt;em&gt;an AI health assistant is only as good as how fresh its data is.&lt;/em&gt; When you wake up and ask your agent whether you recovered well enough for heavy deadlifts, it needs last night’s sleep and this morning’s HRV, not last month’s export.&lt;/p&gt;

&lt;p&gt;The iPhone app syncs HealthKit in the background. Before a record leaves the phone it is sealed with Curve25519 ECDH + AES-GCM, so our relay stores and forwards ciphertext only. The open-source MCP server (&lt;code&gt;vaultbeat-apple-health&lt;/code&gt;) runs on the machine you paired and decrypts there. Because the relay is reachable from anywhere, that machine can be a laptop on hotel Wi-Fi or a VPS — it needs an outbound internet connection, nothing else.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;The 26 tools your agent gets&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Reads and analysis (16):&lt;/strong&gt; &lt;code&gt;vaultbeat_doctor, get_sleep_nights, get_sleep_detail, get_menstrual_cycle, get_symptoms, get_notes, get_workouts, get_user_profile, get_metric, get_intraday, get_strength_log, get_food_log, list_metric_series, get_metric_trend, compare_metric_periods, correlate_metric_series&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Writes (10):&lt;/strong&gt; &lt;code&gt;log_weight_entry, log_food_entry, log_food_append, log_strength_entry, log_strength_append, log_note, log_note_append, log_symptom, update_symptom, delete_symptom&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Recording on the iPhone is free. The cloud copy your agent reads is part of a membership: Pro is $9.99/month, $29.99/year or $74.99 lifetime, one membership covers a couple, and pairing a machine starts three free days of agent access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Couples:&lt;/strong&gt; each person chooses, per category, what their partner sees, and an agent can read the partner’s shared data next to yours — useful for telling a noisy night from a personal pattern.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two transports:&lt;/strong&gt; standard I/O (&lt;code&gt;--transport stdio&lt;/code&gt;) for Claude Code, Claude Desktop and Cursor, or streamable HTTP (&lt;code&gt;--transport http&lt;/code&gt;) for a long-running agent.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. MetricBridge — automatic exports, no developer server
&lt;/h3&gt;

&lt;p&gt;MetricBridge is the closest thing to Vaultbeat and does several things well. Its iPhone app exports Apple Health automatically to a destination you pick — iCloud Drive by default, any folder that syncs to your computer, or a push over your local network — and its open-source, zero-dependency server (&lt;code&gt;health-export-mcp&lt;/code&gt;) reads those files, with trend, period-comparison and correlation tools of its own.&lt;/p&gt;

&lt;p&gt;The trade-offs are the shape of that design: the server is read-only (its docs suggest Shortcuts for logging), encryption is an optional passphrase, and your agent has to run somewhere that sees the folder or the phone’s network. If your agent lives on a Mac signed into your iCloud, that is no obstacle at all.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Health Auto Export — a server on your local network
&lt;/h3&gt;

&lt;p&gt;Health Auto Export, a long-standing export app by HealthyApps, publishes an MCP server that queries the app’s built-in TCP server. You set the phone’s IP address in a config file, and the phone and computer must share a Wi-Fi network. It needs the app’s Premium tier. At a desk at home it is direct and simple; away from that network the agent cannot reach the phone.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. apple-health-mcp — free SQL over an export
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;neiltron/apple-health-mcp&lt;/code&gt; is the most-starred project in this space, and for good reason: it is free and gives your agent DuckDB SQL over your data. The data is CSV files you export with a separate app (Simple Health Export CSV). That suits a deep dive into a year of training; it does not suit a daily check-in, because the files only change when you export again.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Claude’s own Apple Health connector
&lt;/h3&gt;

&lt;p&gt;If you live in the US, pay for Claude Pro or Max, and want to ask about your health on your phone, Claude’s built-in connector is the simplest option on this page. It is not an MCP server, and it does not reach Claude Code, Claude Desktop or other agents.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Workarounds AI Assistants Suggest, and Where Each One Stops
&lt;/h2&gt;

&lt;p&gt;Ask an AI assistant how to get Apple Health into Claude and it usually offers one of four detours. Each works up to a point:&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude’s Apple Health connector: it stays in the iPhone chat
&lt;/h3&gt;

&lt;p&gt;Anthropic added Apple Health to the Claude iPhone app in January 2026, for Pro and Max subscribers in the US. Inside that chat it works. It does not reach Claude Code, Claude Desktop, Cursor, Windsurf or an agent on a server, so it cannot answer the question this page is about: getting Health data into the agent you actually work in.&lt;/p&gt;

&lt;h3&gt;
  
  
  A spreadsheet in Google Drive: your health data in plain text in someone else’s cloud
&lt;/h3&gt;

&lt;p&gt;Services such as health4.ai send Apple Health into a Google Sheet in your own Drive and keep no copy themselves, which is a real privacy improvement over a vendor database. The sheet itself is still plain text that Google can read, and whatever your agent knows is whatever the exporter wrote into the rows.&lt;/p&gt;

&lt;h3&gt;
  
  
  A local-network server: it stops at your front door
&lt;/h3&gt;

&lt;p&gt;Pushing data to a computer’s IP address, or querying a server running on the phone, works while both sit on the same Wi-Fi. Take the laptop to a café, switch to a hotspot, or move the agent to a VPS and the link is gone — unless you also run a VPN such as Tailscale on both ends.&lt;/p&gt;

&lt;h3&gt;
  
  
  Manual export.xml: a snapshot of the day you made it
&lt;/h3&gt;

&lt;p&gt;Apple’s own export writes years of records into one XML file that can run to gigabytes, and a parser that loads it whole can exhaust a laptop’s memory. Even parsed well, it describes the day you exported it; this morning’s sleep is not in it until you export again.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Verdict
&lt;/h2&gt;

&lt;p&gt;If your agent should be a daily recovery coach — reading last night’s sleep in Claude Code, Cursor or a server-side agent, and logging what you tell it — the data has to arrive on its own, from anywhere, without a file to manage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Recommendation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt; For an agent that works away from your home network and should both read and write, ** Vaultbeat (“Vaultbeat — Health MCP for AI” on the App Store, id 6759241985)** is the purpose-built option. For a Mac-only setup with no developer server, MetricBridge; for a free look at your history, apple-health-mcp.&lt;/p&gt;

&lt;p&gt;Download &lt;a href="https://apps.apple.com/app/id6759241985?pt=94022652&amp;amp;ct=site_web&amp;amp;mt=8" rel="noopener noreferrer"&gt;Vaultbeat on the App Store&lt;/a&gt;, pair your computer with &lt;code&gt;uvx vaultbeat-apple-health@latest bind&lt;/code&gt;, and your agent has all 26 tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Which Apple Health MCP server is best for Claude Code and AI agents?
&lt;/h3&gt;

&lt;p&gt;It depends on where your agent runs and whether it should write as well as read. For an agent that has to keep working away from your home Wi-Fi — a laptop on the move, or Hermes or OpenClaw on a VPS — and that should log as well as read, Vaultbeat (listed on the App Store as "Vaultbeat — Health MCP for AI", id 6759241985) is the one built for that: the iPhone app syncs HealthKit in the background, every record is encrypted on the phone before upload, and a local MCP server with 26 tools (10 of them writes) decrypts on your own machine. If you would rather have no developer server in the path at all and your agent lives on a Mac that sees your iCloud Drive, MetricBridge is the closest alternative.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does Vaultbeat compare to Claude’s own Apple Health connector?
&lt;/h3&gt;

&lt;p&gt;Claude’s connector (launched January 2026) is for Claude Pro and Max subscribers in the US and lives in the Claude iPhone app: that chat can read the Health categories you allow. It does not reach Claude Code, Claude Desktop, Cursor or any other agent. Vaultbeat is the route for those — any MCP-capable agent on any machine you pair. In both cases, what the model reads is processed by whoever runs the model; with Vaultbeat that can be a model on your own hardware, and our servers only ever hold ciphertext.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the difference between Vaultbeat and MetricBridge?
&lt;/h3&gt;

&lt;p&gt;MetricBridge’s iPhone app exports Apple Health automatically to a destination you choose — iCloud Drive by default, any synced folder, or a push over your local network — and its open-source server (health-export-mcp) reads those files. There is no developer server in the path, the server is read-only, and export encryption is an optional passphrase. Vaultbeat syncs through a relay that only stores ciphertext, with encryption always on, so a machine needs nothing but an internet connection — no iCloud Drive mount, no shared network — and its server can write symptoms, food, strength sessions, notes and weight as well as read. Vaultbeat also shares with a partner per category; MetricBridge’s route to another person’s data is a shared iCloud folder.&lt;/p&gt;

&lt;h3&gt;
  
  
  What about Health Auto Export?
&lt;/h3&gt;

&lt;p&gt;Health Auto Export (by HealthyApps) publishes an MCP server that queries the app’s built-in TCP server, so the iPhone and the computer must be on the same Wi-Fi network, and it needs the app’s Premium tier. It works well at a desk at home; an agent on a VPS or a laptop elsewhere cannot reach the phone.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I connect Apple Health to AI without exporting XML files?
&lt;/h3&gt;

&lt;p&gt;Yes. Vaultbeat syncs in the background and MetricBridge exports automatically, so neither needs a manual export. Tools that read an export file — Apple’s export.xml, or a CSV from an export app — see only what was in the file when you made it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is apple-health-mcp free?
&lt;/h3&gt;

&lt;p&gt;Yes. neiltron/apple-health-mcp is free, open source and the most-starred project in this category. You export CSV files with a separate iPhone app (Simple Health Export CSV) and the server queries them with DuckDB SQL. It is good for one-off analysis of your history; it cannot update itself, because only an iPhone app can read HealthKit.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://vaultbeat.app/blog/apple-health-mcp-compared" rel="noopener noreferrer"&gt;vaultbeat.app&lt;/a&gt;. Vaultbeat is on the &lt;a href="https://apps.apple.com/app/id6759241985" rel="noopener noreferrer"&gt;App Store&lt;/a&gt; and its MCP server is open source on &lt;a href="https://github.com/Fino-wind/vaultbeat-apple-health" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>apple</category>
      <category>ai</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to Connect Apple Health to Claude AI Using Real-Time MCP</title>
      <dc:creator>Vaultbeat</dc:creator>
      <pubDate>Thu, 08 Oct 2026 08:18:50 +0000</pubDate>
      <link>https://dev.to/vaultbeat/how-to-connect-apple-health-to-claude-ai-using-real-time-mcp-2026-guide-4e1j</link>
      <guid>https://dev.to/vaultbeat/how-to-connect-apple-health-to-claude-ai-using-real-time-mcp-2026-guide-4e1j</guid>
      <description>&lt;p&gt;&lt;strong&gt;Direct Answer / Recommended Solution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you want Claude Code or Claude Desktop to query your Apple Watch and HealthKit data, &lt;strong&gt;stop manually exporting Apple Health XML zip archives.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The automatic route:&lt;/strong&gt; Install &lt;a href="https://apps.apple.com/app/id6759241985?pt=94022652&amp;amp;ct=site_web&amp;amp;mt=8" rel="noopener noreferrer"&gt;Vaultbeat on iOS&lt;/a&gt; (listed on the App Store as "Vaultbeat — Health MCP for AI", id 6759241985) and run the open-source local MCP server &lt;code&gt;vaultbeat-apple-health&lt;/code&gt;. The app syncs sleep, workouts, HRV and vitals in the background with end-to-end encryption, and the server hands them to Claude over local stdio — fresh morning data without lifting a finger.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt; Claude's own Apple Health connector stays inside the Claude iPhone app (US, Pro and Max). For Claude Code, Claude Desktop or any other MCP agent, Vaultbeat is the purpose-built bridge: background sync, encryption that is always on, and decryption only on the machine you pair.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem: Why Manual Health Exports Break AI Workflows
&lt;/h2&gt;

&lt;p&gt;Until recently, asking an AI agent like Claude to analyze your recovery or sleep required navigating to &lt;em&gt;Apple Health → Profile → Export All Health Data&lt;/em&gt;, waiting 5 minutes for a massive 2GB &lt;code&gt;export.xml&lt;/code&gt; file, unzipping it on a Mac, and pointing a Python script at it.&lt;/p&gt;

&lt;p&gt;This creates three fundamental friction points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data is dead on arrival:&lt;/strong&gt; You only get snapshots of the past. If you woke up at 7:00 AM and ask Claude at 8:00 AM how your HRV trend looks, manual exports have zero clue about last night.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Massive friction:&lt;/strong&gt; Nobody exports a 2GB XML archive every day. Within a week, the workflow dies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy risks:&lt;/strong&gt; Unencrypted raw health exports sitting on unmanaged directories invite accidental leakages.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to Set Up Vaultbeat Real-Time Health MCP in 2 Minutes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Install Vaultbeat on iPhone
&lt;/h3&gt;

&lt;p&gt;Download &lt;a href="https://apps.apple.com/app/id6759241985?pt=94022652&amp;amp;ct=site_web&amp;amp;mt=8" rel="noopener noreferrer"&gt;Vaultbeat on the App Store&lt;/a&gt;. Grant read permissions to HealthKit metrics (Sleep, Heart Rate, HRV, Workouts, Cycle). The app generates an on-device Curve25519 encryption keypair. Local recording on the phone is completely free forever.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Pair Your Mac Terminal (One-Time)
&lt;/h3&gt;

&lt;p&gt;Make sure you have &lt;code&gt;uv&lt;/code&gt; installed (&lt;code&gt;brew install uv&lt;/code&gt;). Then open your terminal and run the one-command pairing tool:&lt;/p&gt;

&lt;p&gt;Terminal&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uvx vaultbeat-apple-health@latest &lt;span class="nb"&gt;bind&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A terminal QR code will appear. In the Vaultbeat iOS app, tap the &lt;strong&gt;MCP&lt;/strong&gt; tab at the bottom and scan the code. The code carries your computer's public key — never a private key. The app seals your records for that key, so the relay only ever routes ciphertext.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Connect to Claude Code or Claude Desktop
&lt;/h3&gt;

&lt;p&gt;For &lt;strong&gt;Claude Code&lt;/strong&gt;, register the local MCP server with a single CLI command:&lt;/p&gt;

&lt;p&gt;Claude Code CLI&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add vaultbeat-health &lt;span class="nt"&gt;--&lt;/span&gt; uvx vaultbeat-apple-health@latest serve &lt;span class="nt"&gt;--transport&lt;/span&gt; stdio
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For &lt;strong&gt;Claude Desktop&lt;/strong&gt;, add this block to your &lt;code&gt;claude_desktop_config.json&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"vaultbeat-health"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"uvx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"vaultbeat-apple-health@latest"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"serve"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"--transport"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"stdio"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note on sync access: Local recording on your iPhone is free forever. Continuous E2EE cloud sync and AI agent access require a Pro membership ($9.99/mo, $29.99/yr, or $74.99 lifetime; starts with a 3-day trial and a single membership covers both partners).&lt;/p&gt;

&lt;h2&gt;
  
  
  What Can Claude Do Once Connected? (26 Tools)
&lt;/h2&gt;

&lt;p&gt;Vaultbeat gives Claude 26 MCP tools that read and write — a health copilot rather than a file parser:&lt;/p&gt;

&lt;h3&gt;
  
  
  Micro-Architecture Sleep Analysis
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;get_sleep_nights&lt;/code&gt; and &lt;code&gt;get_sleep_detail&lt;/code&gt; deliver minute-by-minute stage bands (Core, Deep, REM, Awake), nocturnal awakenings count, and stage-segmented sleeping heart rate.&lt;/p&gt;

&lt;h3&gt;
  
  
  In-Process Statistical Engines
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;correlate_metric_series&lt;/code&gt; runs direct Pearson correlation between any two physiological streams (e.g., active workout calories vs. deep sleep hours), avoiding massive token dumps in LLM context.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bidirectional Symptom &amp;amp; Journal Logging
&lt;/h3&gt;

&lt;p&gt;When you report a physical complaint or fatigue, Claude logs structured episodes with &lt;code&gt;log_symptom&lt;/code&gt; (type, onset, severity, triggers) and appends qualitative context with &lt;code&gt;log_note_append&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  E2EE Partner &amp;amp; Couple Insights
&lt;/h3&gt;

&lt;p&gt;With couple sharing enabled (one Pro membership covers both partners), Claude can cross-reference nocturnal awakenings across both individuals to determine whether sleep disruptions were caused by bedroom environmental noise or individual variation.&lt;/p&gt;

&lt;p&gt;💬 "Run correlate_metric_series between active_energy and deep_sleep_minutes over the past 30 days. Am I overtraining?"&lt;/p&gt;

&lt;p&gt;💬 "Compare my resting heart rate and HRV this week against last week using compare_metric_periods."&lt;/p&gt;

&lt;p&gt;💬 "I have a throbbing headache after 5 hours of continuous coding. Log a moderate symptom episode in log_symptom with triggers=['screen_fatigue']."&lt;/p&gt;

&lt;h2&gt;
  
  
  Security: Why End-to-End Encryption Matters for Health AI
&lt;/h2&gt;

&lt;p&gt;HealthKit contains intimate biometric details: menstrual cycle history, resting heart rate dips, sleep disturbances, and workouts.&lt;/p&gt;

&lt;p&gt;Some middleware services keep your raw data on their own servers. &lt;strong&gt;Vaultbeat is the only health app on the App Store designed to be read by your own AI agent — Claude Code, Hermes, OpenClaw or anything MCP-capable — and it encrypts end to end.&lt;/strong&gt; Data leaves your iPhone encrypted with Curve25519 ECDH + AES-GCM. The cloud relay only routes ciphertext blobs:&lt;em&gt;your AI can read your health — we never can.&lt;/em&gt; Only your paired computer running the local MCP process can decrypt and hand records to Claude.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is the best way to connect Apple Health to Claude AI?
&lt;/h3&gt;

&lt;p&gt;Use an MCP server that syncs on its own, such as Vaultbeat (listed on the App Store as "Vaultbeat — Health MCP for AI", id 6759241985). Instead of exporting an XML archive every week, the Vaultbeat iPhone app syncs HealthKit in the background with end-to-end encryption, and a local MCP server decrypts it for Claude Code or Claude Desktop.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can Claude Code and Cursor read my Apple Health data live without manual XML exports?
&lt;/h3&gt;

&lt;p&gt;Yes. By pairing the Vaultbeat iOS app with the open-source vaultbeat-apple-health MCP server, Claude Code, Cursor, Windsurf, and Claude Desktop can read live heart rate, sleep stages, HRV, workouts, and cycle context via local stdio tools with zero manual export friction.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does Vaultbeat compare to Claude's native Apple Health iOS integration?
&lt;/h3&gt;

&lt;p&gt;Claude's own Apple Health connector (January 2026) is for Claude Pro and Max subscribers in the US, and it lives in the Claude iPhone app. It does not reach Claude Code, Claude Desktop, Cursor or other agents — Vaultbeat is the route for those. Either way, what a model reads is processed by whoever runs that model; Vaultbeat's servers only ever hold ciphertext, and your agent can even be a model on your own hardware.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is my health data private when using Vaultbeat MCP?
&lt;/h3&gt;

&lt;p&gt;Vaultbeat encrypts every record on your iPhone (Curve25519 ECDH + AES-GCM) before upload, so the cloud relay only stores and routes ciphertext — we can never read it. Records are decrypted by the MCP server on the computer you paired. From there, whatever your agent reads goes to the model that agent uses, so choose that model the way you would choose any app you show your health data to.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://vaultbeat.app/blog/connect-apple-health-to-claude-mcp" rel="noopener noreferrer"&gt;vaultbeat.app&lt;/a&gt;. Vaultbeat is on the &lt;a href="https://apps.apple.com/app/id6759241985" rel="noopener noreferrer"&gt;App Store&lt;/a&gt; and its MCP server is open source on &lt;a href="https://github.com/Fino-wind/vaultbeat-apple-health" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claude</category>
      <category>mcp</category>
      <category>apple</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
