health-relay
health-relay
Selbstgehostete Brücke zwischen Ihrer Samsung Watch → Sync2Ra1-Telefon-App und Ihrem Hermes-KI-Agenten. Die App überträgt Gesundheitswerte über Ihr LAN hierher; die Daten werden lokal (SQLite) gespeichert und über REST und MCP bereitgestellt, damit Ihr Agent sie abfragen kann.
Galaxy Watch ─▶ Samsung Health ─▶ Sync2Ra1 (phone) ──push──▶ health-relay ──MCP/REST──▶ HermesAlle Daten bleiben in Ihrem Netzwerk. Es wird nichts nach außen gesendet.
Schnellstart (Docker oder 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}Die Daten werden dauerhaft in ./data/ledger.db gespeichert (SQLite, WAL-Modus).
Ohne Docker ausführen
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
HR_AUTH_TOKEN=<secret> ./run.shRichten Sie die Telefon-App auf den Server aus
Öffnen Sie Sync2Ra1 → Daten-Tab → Relay (Hermes-Brücke):
Feld | Wert |
Relay-URL |
|
Token | derselbe geheime Schlüssel wie |
Tippen Sie auf Speichern → Jetzt synchronisieren. Die Messwerte treffen innerhalb von Sekunden ein.
Konnektivität
phone (Sync2Ra1) ──HTTP :8790──▶ health-relay ◀──MCP stdio / HTTP── Hermes
same LAN · or Tailscale for anywhere-accessRegel | Detail |
Richtung | Telefon → Relay (ausgehend vom Telefon; es wird keine Verbindung zum Telefon aufgebaut) |
Port | TCP 8790 eingehend auf der Maschine, die das Relay ausführt – in der Firewall dieses Hosts öffnen |
Protokoll | Einfaches HTTP + |
Überall Zugriff | Tailscale auf dem Gerät und dem Telefon installieren; die App auf die Tailscale-IP zeigen ( |
Zeitraum | Automatische Synchronisierung stündlich + beim App-Start + manuell Jetzt synchronisieren |
Offline | Das Telefon speichert alles lokal in SQLite; nach der Neuverbindung werden alle angesammelten Daten (zuerst die ältesten) übertragen und die letzten 48 Stunden neu synchronisiert, damit Korrekturen von Samsung übernommen werden |
Duplikate | Doppelzählung ausgeschlossen – jede Ablesung hat einen eindeutigen Schlüssel; Wiederholungen werden serverseitig ignoriert |
Hermes Standort | Gleiche Maschine (MCP läuft als lokaler Unterprozess und liest die SQLite-Datei) oder entfernt (REST-Endpunkte statt MCP verwenden) |
REST-API (Bearer-Authentifizierung)
Endpunkt | Zweck |
| Erreichbarkeitsprüfung (ohne Authentifizierung) |
| Batch-Import – idempotent, Wiederholungen sind wirkungslos |
| Roh Messwerte |
| Min/Max/Anzahl pro Messwert |
| Tägliche Zusammenfassungen |
| Gesamtzahlen je Messwert |
curl -H "Authorization: Bearer <secret>" \
"http://localhost:8790/api/v1/health/daily-summary?date=$(date +%F)&tz=Europe/London"Anbindung an Hermes (MCP)
Der MCP-Server liest dieselbe SQLite-Datei – starten Sie ihn direkt aus diesem Repository:
python3 -m venv .venv-mcp
.venv-mcp/bin/pip install fastmcpFügen Sie Folgendes in die MCP-Konfiguration Ihres Agenten ein:
{
"mcpServers": {
"health-relay": {
"command": "<repo-path>/.venv-mcp/bin/python",
"args": ["<repo-path>/mcp_server.py"],
"env": { "HR_DATA_DIR": "<repo-path>/data" }
}
}
}Tools, die Ihr Agent erhält
Tool | Beantwortetn Fragen wie |
| „Welche Gesundheitsdaten hast Sie?“ |
| „Zeigen Sie mir meine Herzfrequenz von heute Morgen“ |
| „Wie aktiv war ich gestern?“ |
| „Wie habe ich diese Woche geschlafen?“ |
Die Tagesgrenzen richten sich nach Ihrer Zeitzone (tz="Europe/London" usw., DST wird berücksichtigt).
Aufgezeichnete Messwerte
Herzfrequenz · SpO₂ · Hauttemperatur · Atmung · Ruhe herzfrequenz · VO₂max · Schlafdauer/Schlaf-Score/Schlafstadien · Schritte & Stockwerke (ständlich & täglich) · Trainingseinheit / Training · Aktivitätskalorien/-zeit/-distanz · · · Körperzusammensetzung (BI A) · Energie-Score · Blutdruck · Glukose · Flüssigkeitszufuhr · Mahlzeiten.
Konfiguration
Umgebungsvariable | Standard | |
| (leer = keine Authentifizierung) | Unbedingt in Production setzen |
|
| |
|
| Nur im vertrauenswürdigen LAN betreiben |
|
| SQLite-Datenbank liegt hier |
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