The one command every host needs
npx -y healthaccess-mcp
Transport: stdio. No environment variables required. The server finds your Health Access folder on its own (iCloud Drive, then the other file providers, then ~/Documents); add --dir "/absolute/path" to name it. Needs Node.js 18 or newer for npx; a GUI app that does not see your shell's PATH needs the full path from which npx. From source instead: cargo install --path mcp --locked in the repository.
LM Studio
LM Studio hosts MCP servers from version 0.3.17 on and uses the same mcp.json notation as Cursor. In the right sidebar, open the Program tab, then Install, then Edit mcp.json, and add:
{
"mcpServers": {
"healthaccess": {
"command": "npx",
"args": ["-y", "healthaccess-mcp"]
}
}
}
Pick a model that handles tool calls well; small models often call list_workouts fine and then struggle with the longer get_workout result. Ask for one session at a time and leave the heart-rate series out (it is off by default).
Goose
Goose, Block's open-source agent, adds stdio servers as extensions. Interactive: goose configure, then Add Extension, then Command-line Extension, and paste the command above when asked. Or edit ~/.config/goose/config.yaml: to confirm
extensions:
healthaccess:
name: Health Access
type: stdio
cmd: npx
args:
- -y
- healthaccess-mcp
enabled: true
timeout: 300
Any other host
If the host has a config file with mcpServers, the Claude Desktop snippet is the one to copy. If it asks for a command and arguments, the command is npx and the arguments are -y and healthaccess-mcp. The server announces itself as healthaccess-mcp and lists thirteen tools.
Ollama and other plain runners: no MCP, still works
The folder is the API, so a model that can read text can read your training data. Two ways:
- The briefing.
briefing.md, one page the app writes after every sync, fits any context window. - The command line.
healthaccessprints the same views the MCP serves, as tables or as JSON with--json. It comes in the same npm package (npm install -g healthaccess-mcpputs both on your PATH). Pipe them in:healthaccess summary --weeks 4 --json \ | ollama run llama3.2 "This is my swimming and rowing training summary by week. In five sentences, what changed over the four weeks, and what would you ask me before suggesting anything?" healthaccess show 7A1C3E90 --json \ | ollama run llama3.2 "Explain this swim session to me in plain words: the parts, where the heart rate went, anything odd."
A plan back to the Watch works the same way without the MCP: have the model write the plan JSON, then healthaccess plan push session.json validates it and drops it into plans/. The app shows "Put on Watch" within a minute.
Then say to it
List my last 5 workouts, one line each. Pick the one you would most want to know more about and tell me why, in two sentences. Then ask me how it felt.