Skip to main content
Glama

Lifesign — Benutzerstatus- und Gesundheits-Telemetrieserver

Leichter HTTP-Dienst: Empfängt Gerätestatus + Gesundheitsdaten, die vom Mobiltelefon gemeldet werden, und stellt sie AI-Agenten über MCP (Model Context Protocol) zur Verfügung. Einzelprozess, einzelner Port.

✨ Funktionen

  • 📱 Mobiltelefon-Meldung: iOS-Kurzbefehl POST /ingest sendet Akkustand/Standort/Netzwerk/Gesundheits-Schnappschuss

  • 🤖 MCP-Gateway: /mcp im selben Prozess bereitgestellt, Hermes und andere AI-Agenten lesen direkt

  • 🏗️ Ein Port, ein Prozess: Hochladen + Abfragen + MCP nutzen alle 8764, kein zweiter HTTP-Hop

  • 🐳 Docker-bereit: GitHub Actions erstellt automatisch Images, 1Panel One-Click Compose-Bereitstellung

Related MCP server: Rouse Context

🏗️ Architektur

手机 (iOS 快捷指令)
   │ POST https://<your-domain>/user-status/ingest   ← 仅上传经反代
   ▼
1Panel OpenResty (反向代理)
   │ proxy_pass → <host-ip>:8764/ingest
   ▼
┌──────────────────────────────┐
│ FastAPI + FastMCP 同一进程    │
│  (单端口 8764)               │
│                              │
│  POST /ingest   手机上传      │
│  GET  /query_all  agent读取  │
│  /mcp  MCP 网关 (同进程)      │
└──────┬───────────────────────┘
       │ 本机回环 http://127.0.0.1:8764/mcp
       ▼
   Hermes Agent (AI)
  • Mobiltelefon-Hochladen: Öffentliches HTTPS via Reverse Proxy → 8764/ingest

  • AI-Lesen: Lokale Loopback-Direktverbindung zu 8764/mcp (nicht über öffentliches Netz)

  • Shared Memory: MCP-Tools lesen direkt app.store, keine Serialisierung/sekundäre Anfragen erforderlich

🔌 Endpunkte

Methode

Pfad

Authentifizierung

Beschreibung

POST

/ingest

Bearer Handy-Key

Mobiltelefon meldet neuesten Status

GET

/query_all

Bearer Agent-Key

Gibt vollständigen Schnappschuss zurück

GET

/health

Keine

Gesundheitscheck (für Docker HEALTHCHECK)

POST

/mcp

Keine (lokaler Loopback)

MCP streamable-http-Endpunkt

🔑 Identität und Konfiguration

Nur zwei gemeinsame Schlüssel zur Identifikation (Identitätsmerkmale, keine feldspezifische Autorisierung), beide durch Umgebungsvariablen überschreibbar:

Verwendung

Umgebungsvariable

Standardwert (nur Entwicklung)

Endpunkt

Handy-Key

USER_STATUS_PHONE_KEY

phone-secret-key-001

POST /ingest

Agent-Key

USER_STATUS_AGENT_KEY

agent-read-secret-key-001

GET /query_all

Überwachungsport

USER_STATUS_PORT

8764

— (von run.sh verwendet)

⚠️ In der Produktion müssen die Standardschlüssel durch Umgebungsvariablen überschrieben werden, verwenden Sie nicht die Standardwerte aus dem Repository.

🚀 Schnellstart

Lokale Ausführung

python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
./run.sh start      # 后台启动 :8764
./run.sh status
./run.sh stop

Docker-Ausführung

# 本地构建
docker build -t lifesign:local .
docker run -d --name lifesign -p 8764:8764 \
  -e USER_STATUS_PHONE_KEY='<phone-key>' \
  -e USER_STATUS_AGENT_KEY='<agent-key>' \
  lifesign:local

1Panel Compose-Bereitstellung (empfohlen)

  1. In 1Panel → Container → Orchestrierung neue Orchestrierung erstellen, docker-compose.yml einfügen;

  2. Images werden von GitHub Actions automatisch erstellt und an GHCR gepusht, bei der Bereitstellung direkt abrufen;

  3. Nur 1 Port 8764 muss geöffnet werden, der Rest wird vom Reverse Proxy erledigt.

Daten vom Mobiltelefon senden

# 经公网反代(手机端快捷指令用这个)
curl -s -X POST https://<your-domain>/user-status/ingest \
  -H "Authorization: Bearer <phone-key>" \
  -H "Content-Type: application/json" \
  -d '{"deviceStage":{"battery":{"percentage":87,"is_charging":true}}}'

# 或内网直连
curl -s -X POST http://<host-ip>:8764/ingest \
  -H "Authorization: Bearer <phone-key>" \
  -H "Content-Type: application/json" \
  -d '{"deviceStage":{"battery":{"percentage":87,"is_charging":true}}}'

Hermes MCP-Konfiguration (config.yaml)

mcp_servers:
  user-status:
    type: streamable-http
    url: http://127.0.0.1:8764/mcp   # 本机回环,不走公网
    connect_timeout: 10
    timeout: 30

Überprüfung: hermes mcp test user-status; nach Neustart von Hermes wird das Tool als mcp_user_status_* registriert.

🐳 Docker-Image-Erstellung (GitHub Actions)

Das Repository enthält .github/workflows/docker-build.yml:

  • Auslöser: Push auf main / manuell workflow_dispatch / Tag setzen

  • Artefakt: ghcr.io/<owner>/lifesign:latest und :<git-sha> doppeltes Tag

  • Plattform: linux/amd64, linux/arm64

  • Hinweis: Image ist privat (privates Repository → privates GHCR-Paket), bei 1Panel-Bereitstellung müssen in der Docker-Konfiguration GHCR-Anmeldedaten (ghcr.io Benutzername + PAT) hinzugefügt werden.

✅ Tests

. .venv/bin/activate
python -m pytest tests/ -v

🗂️ Projektstruktur

lifesign/
├── app/
│   ├── main.py            # FastAPI 入口(挂载 MCP 网关)
│   ├── mcp_server.py      # FastMCP 工具定义(get_status/get_battery/...)
│   ├── store.py           # 线程安全内存存储
│   ├── models/status.py   # Pydantic 数据模型
│   └── routers/           # /ingest 与 /query_all 路由
├── config/clients.example.yaml   # 身份配置模板(真实文件勿提交)
├── panel_api.py           # 1Panel API 签名请求辅助脚本
├── docker-compose.yml     # 1Panel Compose 部署编排
├── Dockerfile
├── run.sh                 # 本机后台启停
└── tests/

📜 Lizenz

MIT

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    A
    maintenance
    A real-time system diagnostics MCP server that gives AI agents live access to CPU, RAM, disk, network, processes, and hardware health metrics, with zero cloud dependency.
    7
  • A
    license
    -
    quality
    A
    maintenance
    Turn your Android phone into an MCP server. AI assistants connect on demand, query your health data, notifications, app usage, and take actions on your device — all end-to-end encrypted, no cloud sync.
    2
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    A local-first MCP server that enables AI agents to read user-authorized Google Health API v4 data from Fitbit, Pixel Watch, and partners via OAuth, with tokens never leaving the machine.
    26
    810
    40
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Pocket Agent (aipocketagent.com) MCP server — read tools for personas, apps, and product info.

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

View all MCP Connectors

Latest Blog Posts

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/shutdown-awa/lifesign'

If you have feedback or need assistance with the MCP directory API, please join our Discord server