THE CONNECTION GUIDE
A private connection.
Three simple steps.
You need the Health MCP iPhone app and an MCP client with a code execution environment and private secret configuration.
Health MCP is currently in private beta. The iPhone app is provided to beta testers; it is not yet available for public download.
1. Start on your iPhone
Open Health MCP, choose which Apple Health data to share, and save the private key in your password manager. Start the first sync. A large health history can take a while: leave the app open, follow the progress bar, and check Sync history for completed or interrupted runs. Paused work resumes from its saved journal.
Nutrition, reproductive health, symptoms, audio exposure, ECG recordings, and GPS routes are optional. You can change these in Settings. Health MCP reads Apple Health; it never writes to it.
2. Export your trusted client
In the iPhone app, open Settings → Export trusted client. Transfer the ZIP to your computer and extract it into a directory you control. The client is included inside the signed iPhone app and needs Node.js 22 or newer.
Run the client’s connect command from the included README. A browser page shows a pairing code. Enter the code in the iPhone app’s Agents tab, review the name and callback, then approve.
Add the extracted client as a local stdio MCP server in your assistant. For Codex CLI, use:
codex mcp add health-private -- node /absolute/path/healthmcp-client.mjsClients that support only remote MCP URLs cannot use this local connector. The encrypted remote endpoint remains available for developers building an independently trusted integration:
https://mcp.healthmcp.cc/mcp3. Save the key on your computer
Follow the README to pipe the key from your password manager into the client’s key command, or configure HEALTHMCP_KEY privately in its process environment. The client stores local credentials with owner-only file permissions. Run check to verify decryption.
Never paste your key into chat, a website, or MCP tool arguments. Keep the installed client under your control; do not replace it with code supplied by an MCP server.
Once configured, ask your assistant:
Use health-private to read my daily summaries for the last week. Check freshness and follow pagination. Show only the findings I request.The connector downloads and decrypts records locally, then returns the requested records to your assistant. Your assistant’s own data handling policies apply. Standalone Node and Python helpers are also included in the signed-app export. Copies served as MCP resources or downloaded from this website are reference material for inspection, not automatically trusted executable code.
What your assistant can use
Available series include heart rate, sleep, movement, body measurements, workouts, and source-merged daily summaries, depending on the data you share. Tools return encrypted file locations and coarse catalog information. Downloading and decryption happen inside the client’s execution environment.
For totals such as steps, use daily summaries. Raw samples can overlap across devices. Dates use UTC, and monthly files may contain data outside your requested range.
Fresh data, when you need it
An assistant can request a sync. iOS decides when background work runs. If it does not arrive, a notification can ask you to open the app. A request is allowed once every 15 minutes. Check the last completed sync timestamp before relying on freshness.
You can revoke a connection in Agents. To invalidate a shared key, rotate it in Settings; this revokes connections and rebuilds the encrypted cache. Files an agent has already downloaded cannot be recalled.
Troubleshoot your connection ↗