health-relay
health-relay
Мост между вашим приложением на телефоне Samsung Watch → Sync2Ra1 и вашим ИИ-агентом Hermes. Приложение отправляет показания здоровья сюда по вашей локальной сети; данные хранятся локально (SQLite) и доступны через REST и MCP, чтобы ваш агент мог запрашивать их.
Galaxy Watch ─▶ Samsung Health ─▶ Sync2Ra1 (phone) ──push──▶ health-relay ──MCP/REST──▶ HermesВсе данные остаются в вашей сети. Ничего не передаётся за её пределы.
Быстрый старт (Docker или 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/ledger.db (SQLite, режим WAL).
Запуск без Docker
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
HR_AUTH_TOKEN=<secret> ./run.shRelated MCP server: Yummy Health MCP
Настройка приложения на телефоне
В Sync2Ra1 → вкладка Data → Relay (мост Hermes):
Поле | Значение |
URL ретранслятора |
|
Токен | тот же секрет, что и |
Нажмите Save → Sync now. Показания появятся в течение нескольких секунд.
Сетевое взаимодействие
phone (Sync2Ra1) ──HTTP :8790──▶ health-relay ◀──MCP stdio / HTTP── Hermes
same LAN · or Tailscale for anywhere-accessПравило | Подробности |
Направление | Телефон → ретранслятор (только исходящее из телефона; внутрь телефона ничего не подключается) |
Порт | TCP 8790, входящий на машину с ретранслятором, — откройте его в файерволе этого хоста |
Протокол | Обычный HTTP + |
Доступ извне | Установите Tailscale на машину и телефон; укажите приложению Tailscale-IP ( |
Периодичность | Приложение автоматически синхронизируется каждый час, при запуске и вручную через Sync now |
Офлайн | Телефон буферизует всё в локальной SQLite; при восстановлении связи он отправляет всю накопленную очередь (сначала самые старые) и заново синхронизирует последние 48 часов, чтобы правки распространились |
Дубликаты | Двойной подсчёт невозможен: у каждого показания уникальный ключ; повторные отправки игнорируются на сервере |
Место Hermes | На той же машине (MCP работает как локальный подпроцесс и читает файл SQLite) или удалённо (тогда используйте REST API вместо MCP) |
REST API (Bearer-авторизация)
Endpoint | Назначение |
| проверка жизни сервиса (без авторизации) |
| пакетная загрузка — идемпотентно, повторы не дают эффекта |
| сырые показания |
| по каждому показателю: минимум/максимум/среднее/количество |
| суточные сводки |
| итоги по типам |
curl -H "Authorization: Bearer <secret>" \
"http://localhost:8790/api/v1/health/daily-summary?date=$(date +%F)&tz=Europe/London"Подключение Hermes (MCP)
MCP-сервер читает тот же файл SQLite — запустите его из этого репозитория:
python3 -m venv .venv-mcp
.venv-mcp/bin/pip install fastmcpДобавьте в конфигурацию MCP вашего агента:
{
"mcpServers": {
"health-relay": {
"command": "<repo-path>/.venv-mcp/bin/python",
"args": ["<repo-path>/mcp_server.py"],
"env": { "HR_DATA_DIR": "<repo-path>/data" }
}
}
}Инструменты, которые получает ваш агент
Инструмент | Отвечает на вопросы вроде |
| «какие данные о здоровье у вас есть?» |
| «покажи мой пульс этим утром» |
| «какая у меня была активность вчера?» |
| «как я спал на этой неделе?» |
Границы суток зависят от вашего часового пояса (tz="Europe/London" и т.д., переход на летнее время учитывается).
Записываемые данные
Пульс · SpO₂ · температура кожи · частота дыхания · пульс в покое · VO₂max · длительность/оценка/стадии сна · шаги и этажи (по часам и по дням) · тренировки · время/каллории/дистанция активности · состав тела (BIA) · показатель энергии · артериальное давление · глюкоза · гидратация · приёмы пищи.
Конфигурация
Переменная | По умолчанию | Это |
| (пусто = авторизация отключена) | задайте в производственной среде (prod) |
|
| |
|
| оставьте в надёжной локальной сети |
|
| здесь хранится SQLite |
Тесты
.venv/bin/python -m pytest tests/ -qThis server cannot be deployed
Maintenance
Related MCP Connectors
- freddyOAuthcoach.freddy
Connect your wearables, rings and training apps, then ask your AI about your own health data.
Let AI agents query data and act across all your business apps via MCP.
Connect AI agents to the health, screen-time and recorded location data you choose to share from myself.md. Discover schemas, query connected phones, and read paginated JSON or JSONL cloud exports. OAuth sign-in and explicit data grants are required. Phone requests depend on connectivity and OS permissions; cloud reads require existing storage access. Owners can revoke sharing; revocation does not erase recipient copies. Privacy: https://myself.md/privacy · Terms: https://myself.md/terms · Support: cody@isolated.tech
Connect your health, fitness, nutrition, sleep, and wearable data to your AI assistant.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceExposes personal health data (recovery, sleep, strain, etc.) as MCP tools for AI agents to query and analyze.4MIT
- FlicenseNot gradedqualityBmaintenancePrivate, read-only health data bridge that reads from Android Health Connect and exposes heart rate, steps, sleep, and other health metrics to ChatGPT via MCP tools.-
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to query and analyze Huawei Health data, including training records, sleep, heart rate, and athletic performance, through 14 MCP tools without third-party servers.3MIT
- AlicenseBqualityAmaintenanceEnables local, read-only access to Garmin Connect health and training data through MCP, letting assistants summarize recovery, sleep, activities, and more without uploading your data.19MIT