[HN Gopher] Show HN: Apple Health MCP Server
       ___________________________________________________________________
        
       Show HN: Apple Health MCP Server
        
       Hey HN,  This is an MCP server to chat with Apple Health data. I
       built it because I'm working on (yet another) personal trainer tool
       that keeps track of my workout goals, etc. and does scheduling for
       me. Part of that is weekly check-ins. I thought pairing those
       check-ins with sensor data could be useful, so here we are.  It
       seems there isn't a way to automate access to Apple Health data, so
       this relies on an iOS app that can quickly/easily export key data
       to CSV. So the process at the moment is to export the data every
       Sunday before doing a check-in. More steps than I'd like, but in
       practice isn't a big lift.  Under the hood this is mostly a thin
       wrapper around duckdb.  There's a video of it in action here:
       https://x.com/realtron/status/1947710791521591514
        
       Author : _neil
       Score  : 139 points
       Date   : 2025-07-23 17:23 UTC (2 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | brandonb wrote:
       | Super cool. An iPhone + Apple Watch generate about 40 distinct
       | biomarkers of your data (resting heart rate, VO2max, workouts,
       | sleep stages, sleep apnea risk, ECGs, and so on), but the ability
       | to interpret them is very limited.
       | 
       | I work on an iOS health app, and I'd love to try integrating
       | this. It'd help eliminate the step of having to manually export
       | to a CSV every Sunday.
       | 
       | Feel free to shoot me an email if you want to collaborate!
        
         | guzik wrote:
         | we've built a wrapper around Apple Health to simplify data
         | extraction and synchronization. If you think this might be
         | useful, feel free to drop me a message.
        
       | monatron wrote:
       | Very cool indeed. I started building something similar - relying
       | on Auto Export [https://apps.apple.com/us/app/health-auto-export-
       | json-csv/id...] to export my health data to an endpoint which
       | stores it in a sqlite database. I never got as far as building an
       | MCP server around the data but that's certainly the direction I
       | was heading. The initial idea was to use my health data to
       | provide context to a health/fitness agent that would recommend
       | workouts, check-in on things, etc.
        
         | dkdcio wrote:
         | it is wild to me that products like this don't allow you to
         | easily export all data into sqlite (or duckdb) natively. it's
         | 2025 and you frequently have to page through hundreds or
         | thousands of API calls to get a trivial amount of data (or use
         | 3p services)
        
           | mattkrause wrote:
           | I thought this was sort of deliberate for Apple Health.
           | 
           | People use it to track sensitive information, like
           | reproductive and mental health data, that should only be
           | exported very intentionally.
        
             | _neil wrote:
             | Agreed. I'm fine jumping through a couple hoops to get my
             | own data in this case.
        
               | yunohn wrote:
               | Why would a malicious actor not be willing to setup the
               | same infra as you, with an app on the iOS store to mine
               | data once consented? I don't see how api usage difficulty
               | is a real security feature...
        
           | s0sa wrote:
           | This isn't some bespoke API/format that they made up to make
           | it harder for you to get your data. Apple did the right thing
           | here and implemented HL7 standards like CDA and FHIR. This is
           | a win for interoperability. There are already a wealth of
           | tools available for dealing with these standards.
        
         | yurishimo wrote:
         | Thanks for the link to that app. Gonna setup something this
         | weekend to ingest and aggregate my workout stats onto my
         | personal website :)
        
         | _neil wrote:
         | Great minds :)
         | 
         | I haven't experimented with MCP too much because I have some
         | reservations about it, but I decided to go MCP-first for this
         | to see how it feels to prototype around it. My typical flow
         | would have been to go sqlite+sveltekit.
        
       | friggeri wrote:
       | This is awesome! I've been working on and off for the last few
       | months on an AI running coach app. Would love to compare notes of
       | effectively prompting Claude or O3 to analyze workouts / build
       | workout plans. In my experience it still requires a lot of hand
       | holding (sudden mileage increases w/w, inconsistent intervals,
       | etc)
        
         | rikbruggink wrote:
         | i am trying todo same with glue-ing mcp servers together and as
         | a bonus try get my CHO rates and overall KCAL for the week with
         | the proposed schedule and all palnned intake based on mets.
         | Analyzing my workouts is something that works great at the
         | moment if the data in is correct. i mostly use intervals.icu
         | for this.
         | 
         | Would love to chip in on the discussion around this topic.
        
         | _neil wrote:
         | I haven't gone deep on prompting around health data
         | specifically, but I've built some other data agents. Agree that
         | there isn't always an easy path, depending on the domain. It
         | might be worth exploring multiple subagents with different
         | focuses. I.e., have one subagent that is going to focus on
         | writing window function queries in order to find interval
         | variations.
         | 
         | My general belief around data agents is to offload as much as
         | possible to SQL.
        
         | cstone wrote:
         | Hey - if you're interested in prototyping with real data, we've
         | built a platform for stuff like this -- Fulcra Context
         | (https://www.fulcradynamics.com/). We have an iOS app that
         | collects Apple Health data, and you can then share it with a
         | coach/trainer/doctor/etc.
         | 
         | We have a REST API with python client lib
         | (https://fulcradynamics.github.io/developer-docs/), an MCP
         | server (https://fulcradynamics.github.io/developer-docs/mcp-
         | server/), and did some experiments with ChatGPT actions as well
         | (https://www.fulcradynamics.com/chatgpt).
         | 
         | It doesn't have the simplicity of a plain export to
         | duckdb/sqlite, but it definitely helps solve a lot of the
         | sharing/collaboration problems.
        
       | formerly_proven wrote:
       | There _is_ a native export function in Health but it generates
       | about 1-2 GB of XML per year, since the schema is extremely
       | verbose, so it takes a while. On the other hand, it's very
       | literally self-describing. But no need for handing access to
       | Health to more or less dubious apps. I also think you can
       | ,,export" select data points to ,,CSV" using a ten step Shortcut.
       | Might be quicker.
        
         | _neil wrote:
         | I actually started with this but the export always had the
         | appearance of stalling unless I left it for long periods. For a
         | first version, the CSV export app was much quicker. And
         | actually, the author of the app (Eric Wolter) has a nice site
         | that will convert the xml format to csv using the FileReader
         | api, etc.
         | 
         | I would like to go back to this though and add it as an
         | integration option.
        
         | NotPractical wrote:
         | > But no need for handing access to Health to more or less
         | dubious apps
         | 
         | I mean, it's been vetted by Apple, right? If they did their job
         | then it should be fine. This isn't the Play Store you're
         | dealing with; it's the App Store. I kinda dig the "simple
         | utility app that does one job well" format, tbh.
        
       | dostick wrote:
       | What Apple health actually is? It's Apple Watch. My data coming
       | from Oura and Withings, I wonder maybe those would have better
       | ways to integrate with actual API.
        
         | _neil wrote:
         | It would work with those devices since it all funnels into
         | apple health. I have a Withings scale as well so it's part of
         | my export. But you're right, there may be easier integration
         | with Oura.
        
       | woodylondon wrote:
       | This is really cool - I recently worked on a tool that I
       | installed on my iPhone, which extracts all health data nightly to
       | CSV and then to a cloud database.
       | 
       | This was quite straightforward once you understand the
       | permissions. I wonder why the OP didn't do this and was instead
       | using a simple health export CSV?
       | 
       | The main concern I had with releasing this or turning it into a
       | tool was data security.
       | 
       | I have been swimming 1500m x 365 days of the year for the last 7
       | years. My use case was to build a personalised dashboard for my
       | daily swimming and heart rate data to track detailed progress
       | beyond what Apple offers. Having the ability to query this data
       | with AI could be quite useful, rather than relying on manual
       | reports.
        
         | _neil wrote:
         | Simple Health Export CSV was just the fastest route to proving
         | to myself that the idea would work. I really considered making
         | an app but decided that was one nerd snipe too many for the
         | given task.
         | 
         | But I'd like to revisit it because it would be a natural fit to
         | just put the personal trainer flow directly in an app.
        
         | Tom1380 wrote:
         | 1500m no days off? Props to you
        
       | solarkraft wrote:
       | I am once again wishing screen time data was in Apple Health :(
       | Exporting that is even worse.
        
         | cstone wrote:
         | I agree entirely. It's especially frustrating since the
         | DeviceActivity framework comes close, but doesn't provide
         | enough detail for users to allow apps to track this info.
         | 
         | The best approach we've found to tracking specific app use time
         | is to have our app publish App Intents, and then tell users to
         | trigger those intents with shortcuts. It's fairly effective,
         | but very clunky to set up and has to be done app by app..
        
         | neomantra wrote:
         | One could pretty easily wrap an MCP server around the
         | ScreenTime activity SQLite database file on MacOS. You could
         | use DuckDB like this server does.
         | 
         | I've found good value in making purpose-build MCP servers like
         | that with the general model: Data<>DuckDB<>MCP<>LLM With
         | verbose description for the LLM of an "sql" tool endpoint for
         | it to use to explore.
        
           | neomantra wrote:
           | OK, I said it was easy and proved that by doing so in a few
           | hours ;) I did have my sample code, but that was open source
           | too.
           | 
           | https://github.com/AgentDank/screentime-mcp
           | 
           | It's pretty crazy what it can do! I'll put examples once I
           | can scrub personal info. But it has browsing history too.
           | Sensitive data, so please be careful!!
        
       | voska wrote:
       | We built https://sensai.fit to solve this problem for ourselves.
       | Hope it can be helpful for some of you as well.
        
       | ellisv wrote:
       | I'm on mobile and can't try it out first hand right now but looks
       | great.
       | 
       | Does it include health records (eg from Epic)?
        
       | beaker52 wrote:
       | It'd be great if the agent could update things like my BP and
       | weight.
        
       | vincvinc wrote:
       | Is there any type of advocacy or laws anywhere to push Apple to
       | make data like this intercompatible?
        
       | hahahacorn wrote:
       | Can imagine this is really useful for development too.
       | 
       | if RubyLLM.with_tools(...).ask("Do my health metrics indicate I
       | am stressed?") model = 'claude-4-opus' else model =
       | 'claude-4-sonnet' end
        
       ___________________________________________________________________
       (page generated 2025-07-25 23:01 UTC)