Skip to content
Hermes Agent

Connect Apple Health to Hermes Agent with MCP

Hermes Agent, the open-source agent from Nous Research, reads MCP servers and runs OAuth on its own. telo is a remote Apple Health MCP server: the iPhone app syncs in the background, and Hermes connects by URL.

By the telo team · Reviewed

What you need

An iPhone with Apple Health records, the telo app from the App Store, and Hermes Agent installed. In telo, sign in and send your history; the first sync must finish before anything can be read.

The steps follow the Hermes Agent documentation reviewed on the date above; they are not a claim that every version has been tested with telo.

Add the Apple Health MCP server to config.yaml

Put the block in ~/.hermes/config.yaml, merged with what is already under mcp_servers. Streamable HTTP is the default transport, which is what telo serves. No client_id or secret: telo supports dynamic client registration.

Ready to copy
mcp_servers:
  telo:
    url: "https://telo.health/mcp"
    auth: oauth

Sign in with OAuth

Run it from a separate terminal, not inside a running session: the config reload has a short timeout that interactive sign-in can exceed. A telo page opens in your browser. Enter your email, type the 6-digit code and approve access. Never paste a code or token into the chat.

On a machine without a browser, add --flow device. Then run /reload-mcp in the session.

Ready to copy
hermes mcp login telo

Check that Hermes can read Apple Health

  1. Run hermes mcp test telo.
  2. Ask Hermes to use telo to list available metrics and the dates they cover. The tools register as mcp_telo_ followed by the tool name.
  3. Confirm the answer comes from a telo tool call with real dates. If it describes data without calling a tool, it is guessing.
  4. If telo does not register, look in agent.log.

A first prompt

Asking for coverage first keeps gaps visible. A missing day is unavailable, not zero.

Ready to copy
Use telo to check which Apple Health metrics are available and how recent they are. Then compare my sleep and resting heart rate over the last 7 days with the 7 days before, and list the dates with missing records.

Troubleshooting and removal

To pause telo, set enabled: false on its entry. To remove it, delete the entry and the token file ~/.hermes/mcp-tokens/telo.json.

If the connection works but records are missing, check the sync in the telo app. A working MCP connection does not prove that HealthKit read permissions were granted on the iPhone.

FAQ

Practical questions

Does Hermes Agent support OAuth for remote MCP servers?

Yes. It handles discovery, dynamic client registration, PKCE and token refresh, so telo needs only the URL and auth: oauth.

Why log in from a separate terminal?

Hermes reloads its config with a short timeout. An interactive browser sign-in inside a session can run past it, so the docs ask for hermes mcp login in its own terminal.

Where does Hermes keep the telo token?

In ~/.hermes/mcp-tokens/telo.json on your machine. Delete it together with the config entry to remove access.

Sources and availability

Plans, regions and interfaces can change. Check the official sources before setting up.

How this guide was prepared

Prepared with AI assistance using the cited official documentation and the telo workflow described in the project. Screens and permissions can vary by account. This review did not include a complete authenticated test in each assistant.

Apple Health → telo → AI

Start with a record you know.

Choose your records on iPhone. Connect your assistant. Check the first read.

Get the iPhone app