Connect Apple Health to Claude Desktop with manual local MCP.

Claude Desktop on macOS can start Apple Health AI Bridge as a read-only, client-neutral local stdio MCP server when Claude Desktop, the receiver, and its private database are on the same Mac. Apple Health AI Bridge does not configure Claude Desktop; you manually merge the generated command and arguments into Claude's configuration.

Local MCP does not make Claude a local model. The MCP process and private database run on your Mac, but selected tool inputs and results may be sent to your Claude service under your account and data controls. Review those controls before giving Claude access to private health context.

Supported recipe

This guide covers Claude Desktop on macOS with the Apple Health AI Bridge receiver and database on the same Mac. Native Windows receiver setup is not part of this recipe. Claude web, mobile apps, remote connectors, Desktop Extensions, and cross-host MCP transport are outside this same-host stdio setup.

Foreground and background delivery are best-effort and may be delayed by iOS and network conditions. Finish receiver routing, pairing, permissions, and an initial upload before using Claude to inspect synced data.

1. Install and verify Apple Health AI Bridge first

Use the install guide to install the receiver, choose a phone-reachable private route, pair the iPhone companion, and verify an upload. Do this before changing Claude Desktop.

If your receiver is already paired, keep its connection and database. The release-matched MCP setup instructions explain how to find the installed executable and database path without repeating setup.

If you saved the secret-redacted JSON from your original setup with --json, you can instead use access_descriptors[0]. Its command is an absolute executable path and its args array describes the local stdio launch. The setup flow has no built-in Claude registrar and does not modify Claude's files.

2. Use your receiver's command and database

Use the absolute executable and database paths from the common setup instructions. If using a saved descriptor, copy the descriptor's command field and every string in its args array. The launch arguments are mcp start --db followed by the absolute private database path. Do not shorten either path, use a relative path, or copy a path from another machine.

3. Merge the server into Claude Desktop

Use Claude's local MCP instructions to open its configuration; menu labels can vary by version. This manual macOS recipe uses ~/Library/Application Support/Claude/claude_desktop_config.json.

If the file already has a top-level mcpServers object, merge the health-bridge object under it and do not overwrite existing servers. Replace the placeholders below with your receiver's exact executable and database paths. The example is a complete valid file for a user who has no other configured servers:

{
  "mcpServers": {
    "health-bridge": {
      "command": "/absolute/path/to/health-bridge",
      "args": [
        "mcp",
        "start",
        "--db",
        "/absolute/path/to/private/health-bridge.db"
      ]
    }
  }
}

Manual configuration boundary: Apple Health AI Bridge does not configure Claude Desktop. Keep every existing entry under mcpServers, add only the health-bridge member, preserve valid JSON, and save the file yourself.

4. Restart and verify the connection

After saving, completely quit and restart Claude Desktop. Opening a new window is not enough because the desktop app loads the local server configuration when it starts.

Check the local server's connection status and server logs using the controls described in Claude's MCP documentation. Confirm that Claude parsed the file and could launch your receiver command, then inspect the tools available to the conversation.

The read-only MCP surface

Claude can query the synced records, summaries, and their sources. Use the release-matched query reference for the available tools and limits, and inspect the tools reported by your installed server.

These MCP tools are read-only. Apple Health AI Bridge does not modify Apple Health data, write HealthKit records, or give Claude a write path into the receiver database.

Ask a source-aware first question

Start with a bounded, non-medical prompt such as: “Which metric categories have reached this receiver, and what source or sync limitations should I know before interpreting them?”

Missing means unknown, not zero. A denied category, a source gap, a sync delay, and no recorded observation can look the same from the available data. Apple Health AI Bridge does not provide diagnosis, medical advice, or clinical interpretation.

Troubleshooting

Claude reports invalid JSON

Check commas, braces, brackets, and double quotes. Confirm that you merged the new member inside the existing top-level object rather than pasting a second root object.

Claude cannot launch the generated command

Compare the saved command and args with your receiver's setup information. Confirm both paths are absolute and that your macOS account can execute the receiver and read the private database.

No metrics appear before the first upload

Finish pairing, authorize Apple Health access, and confirm the physical iPhone can reach the receiver. An empty receiver before the first upload is expected.

Tools do not appear after saving

Completely quit the app, start it again, then inspect the local server's connection status and logs. A new chat alone does not reload local server configuration.

For receiver routing, pairing, upload, or database checks, use the support guide.

Remove Claude access without deleting health data

To disconnect the server, remove the health-bridge entry from mcpServers, leave the other server entries intact, save valid JSON, and completely restart Claude Desktop. This does not delete the receiver database or Apple Health data, revoke HealthKit permission, or remove receiver backups.

Claude Desktop and Claude Code use different configuration

This page documents the Claude Desktop JSON file only. Claude Code has a separate official stdio MCP configuration path; consult its documentation rather than placing Desktop JSON into a Claude Code project.

Sources and related pages

Install, pair, and verify the receiver before editing Claude Desktop's configuration.