Receiver boundary
The MCP process and database remain on infrastructure you control. Protect the receiver account, route, database, backups, and local Hermes configuration.
Health Bridge for AI connects user-authorized Apple Health data to Hermes Agent by running a read-only, same-host stdio MCP process beside the receiver's private database. Hermes can query the bounded tool surface after explicit registration; Health Bridge does not expose a remote MCP endpoint or move the SQLite database to Hermes.
Local MCP does not guarantee a local model. The Health Bridge MCP process and SQLite database stay on the receiver host. If Hermes uses a remote model provider, the requests and selected tool results needed to answer your prompt may be sent to that provider under your Hermes configuration and provider terms.
Health Bridge for AI. Open-source Apple Health sync for local AI agents. The iPhone companion sends permitted observations to a receiver you control. Hermes, running on the same receiver host, can then invoke a bounded read-only MCP process over stdio.
The stdio process is local to that host. It is not a network service, it does not make the private database a Hermes-owned store, and it does not change how your chosen model provider handles context.
Foreground and background delivery are best-effort and may be delayed by iOS and network conditions. Complete receiver routing and pairing before expecting Hermes queries to return synced data.
For the normal private-HTTPS path, use the receiver URL prepared by the pinned route guide and add the explicit Hermes flag:
health-bridge setup \
--receiver-url \
"$HEALTH_BRIDGE_RECEIVER_URL" \
--configure-client hermes
For Route C, repeat the required non-loopback bind and fixed receiver port. Route C is HTTP only on the same trusted LAN:
health-bridge setup \
--receiver-url \
"$HEALTH_BRIDGE_RECEIVER_URL" \
--receiver-host 0.0.0.0 \
--receiver-port 8765 \
--configure-client hermes
Explicit configuration boundary: The pinned setup flow can detect installed MCP clients, but it modifies none by default. Setup does not configure Hermes unless --configure-client hermes is present.
The built-in registrar derives the installed receiver command and absolute private database path from the local setup. It then runs a registration with this shape, using those generated values rather than a fixed executable or database location:
hermes mcp add health-bridge \
--command <generated receiver command> \
--args mcp start --db <absolute private database path>
After registration, setup runs hermes mcp test health-bridge. That test verifies that Hermes can start and speak to the registered MCP process. It does not prove that the phone can reach the receiver or that an upload has completed.
The resulting connection remains same-host stdio. It does not expose a remote MCP endpoint, and it does not move the SQLite database to Hermes.
The pinned receiver source used by this guide exposes exactly nine tools:
get_bridge_status — inspect receiver and sync status.get_bridge_context_markdown — request source-grounded bridge context.list_supported_timeseries_types — list time-series categories the receiver understands.list_synced_metrics — list metrics that have actually reached this receiver.get_timeseries — query bounded time-series observations.get_workouts — query synced workout records.get_sleep_summary — request a bounded sleep summary.get_daily_summary — request a bounded daily summary.explain_sources — inspect provenance and source limitations.Use prompts that stay within the data and provenance the tools return:
Missing means unknown, not zero. A denied category, no record, source gap, or sync gap can look the same from the available data. Health Bridge does not provide diagnosis, medical advice, or clinical interpretation.
The MCP process and database remain on infrastructure you control. Protect the receiver account, route, database, backups, and local Hermes configuration.
Hermes decides which model receives the conversation and tool context. Review the remote model provider's handling, retention, and disclosure terms before enabling private health-data access.
Read the full privacy architecture for the device, route, receiver, agent, revocation, and deletion boundaries, and the Privacy Policy for the legal data-handling statement.
Install and verify Hermes on the receiver host first. The registrar cannot add or test a client command that is not available there.
Run hermes mcp test health-bridge directly and use its output to inspect the generated command, arguments, local permissions, and receiver installation.
Finish pairing, authorize Apple Health access, and confirm the physical iPhone can reach the receiver. An empty receiver before the first upload is expected.
Check authorization, source coverage, receiver reachability, and sync status. Do not substitute zero for absent observations or assume which boundary caused the gap.
For receiver routing, pairing, upload, and support checks, use the support guide.
Run hermes mcp remove health-bridge to remove the Hermes registration. This does not delete the receiver database or Apple Health data, and it does not revoke the companion's HealthKit permissions. Use the separate controls described in the privacy architecture and support pages for those boundaries.
Set up the receiver route and pairing path before registering Hermes.