Skip to content
Cursor

Connect Apple Health to Cursor with MCP

Cursor reads MCP servers, and Apple Health has none of its own. telo is a remote Apple Health MCP server: the iPhone app syncs in the background, Cursor connects by URL and signs in with OAuth. The same mcp.json serves the editor and the Cursor CLI.

By the telo team · Reviewed

What you need

An iPhone with Apple Health records, the telo app from the App Store, and Cursor (the editor or the CLI). In telo, sign in and send your history; the first sync must finish before anything can be read.

The steps follow the Cursor 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 mcp.json

Put the entry in ~/.cursor/mcp.json for every project, or in .cursor/mcp.json inside one project. Merge it with servers already there. No headers and no API key: telo uses OAuth.

If the folder is a shared repository, prefer the global file, so a commit does not tell the team which health service you use.

Ready to copy
{
  "mcpServers": {
    "telo": {
      "url": "https://telo.health/mcp"
    }
  }
}

Sign in with OAuth

In the editor, open Customize in the sidebar, find telo under MCP servers and sign in. 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.

In the CLI, the binary is agent: run agent mcp login telo.

Check that Cursor can read Apple Health

  1. In the editor, telo should list its tools under Available Tools. In the CLI, run agent mcp list-tools telo.
  2. Ask the agent to use telo to list available metrics and the dates they cover.
  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 nothing connects, open the Output panel (Cmd+Shift+U) and pick MCP Logs.

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

Cloud Agents keep their own sign-in: connecting telo on the desktop does not sign in a Cloud Agent, and the reverse is also true.

To stop using telo, turn it off or delete it in Customize; in the CLI, run agent mcp disable telo or delete the entry from mcp.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 Cursor have an Apple Health integration?

No. Cursor reads MCP servers, and Apple Health stays on the iPhone. A remote MCP server such as telo receives the data from the iPhone app and answers Cursor’s tool calls.

Do the editor and the CLI need separate setups?

The server entry is shared: the CLI reads the same mcp.json. Each surface signs in on its own the first time, in Customize or with agent mcp login telo.

Will my health data end up in the repository?

Only if you or the agent write it there. Records come back into the conversation; if you ask Cursor to save an analysis, choose a folder outside any repository you push.

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