health-relay
Provides tools for a Hermes AI agent to query locally stored health readings, including samples, daily summaries, trends, sleep breakdowns, and available health data streams.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@health-relayHow did I sleep this week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
health-relay
Self-hosted bridge between your Samsung Watch → Sync2Ra1 phone app and your Hermes AI agent. The app pushes health readings here over your LAN; the data is stored locally (SQLite) and exposed via REST and MCP so your agent can query it.
Galaxy Watch ─▶ Samsung Health ─▶ Sync2Ra1 (phone) ──push──▶ health-relay ──MCP/REST──▶ HermesAll data stays on your network. Nothing is sent anywhere else.
Quick start (Docker or Podman)
echo "HR_AUTH_TOKEN=<choose-a-secret>" > .env
docker compose up -d # or: podman compose up -d
curl http://localhost:8790/healthz # -> {"ok":true}Data persists in ./data/ledger.db (SQLite, WAL mode).
Run without Docker
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
HR_AUTH_TOKEN=<secret> ./run.shPoint the phone app at it
In Sync2Ra1 → Data tab → Relay (Hermes bridge):
Field | Value |
Relay URL |
|
Token | same secret as |
Tap Save → Sync now. Readings arrive within seconds.
Connectivity
phone (Sync2Ra1) ──HTTP :8790──▶ health-relay ◀──MCP stdio / HTTP── Hermes
same LAN · or Tailscale for anywhere-accessRule | Detail |
Direction | Phone → relay (outbound from phone; nothing connects into the phone) |
Port | TCP 8790 inbound to the machine running the relay — open it in that host's firewall |
Protocol | Plain HTTP + |
Anywhere-access | Install Tailscale on the box and phone; point the app at the Tailscale IP ( |
Cadence | App auto-syncs hourly + on app launch + manual Sync now |
Offline | Phone buffers everything in local SQLite; on reconnect it pushes the full backlog (oldest first) and re-syncs the last 48 h so Samsung's revisions propagate |
Duplicates | Impossible to double-count — every reading has a unique key; replays are ignored server-side |
Hermes location | Same machine (MCP runs as a local subprocess reading the SQLite file) or remote (use the REST endpoints instead of MCP) |
REST API (bearer auth)
Endpoint | Purpose |
| liveness (no auth) |
| batch ingest — idempotent, replays are no-ops |
| raw readings |
| per-metric min/max/avg/count |
| daily rollups |
| totals per type |
curl -H "Authorization: Bearer <secret>" \
"http://localhost:8790/api/v1/health/daily-summary?date=$(date +%F)&tz=Europe/London"Plug into Hermes (MCP)
The MCP server reads the same SQLite file — run it from this repo:
python3 -m venv .venv-mcp
.venv-mcp/bin/pip install fastmcpAdd to your agent's MCP config:
{
"mcpServers": {
"health-relay": {
"command": "<repo-path>/.venv-mcp/bin/python",
"args": ["<repo-path>/mcp_server.py"],
"env": { "HR_DATA_DIR": "<repo-path>/data" }
}
}
}Tools your agent gets
Tool | Answers questions like |
| "what health data do you have?" |
| "show my heart rate this morning" |
| "how active was I yesterday?" |
| "how did I sleep this week?" |
Day boundaries respect your timezone (tz="Europe/London" etc., DST handled).
Recorded streams
Heart rate · SpO₂ · skin temperature · respiration · resting HR · VO₂max · sleep duration/score/stages · steps & floors (hourly + daily) · workouts · activity calories/time/distance · body composition (BIA) · energy score · blood pressure · glucose · hydration · meals.
Configuration
Env var | Default | |
| (empty = auth off) | set this in production |
|
| |
|
| keep on trusted LAN |
|
| SQLite lives here |
Tests
.venv/bin/python -m pytest tests/ -qThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
MCP server for Withings health data — sleep, activity, heart, and body metrics.
63 tools for Apple Health, Fitbit, Oura & Health Connect data in Claude, ChatGPT, Grok & Mistral.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nnishad/health-relay'
If you have feedback or need assistance with the MCP directory API, please join our Discord server