Lifesign
Lifesign — User Status & Health Telemetry Server
轻量 HTTP 服务:接收手机端上报的设备状态 + 健康数据,并以 MCP(Model Context Protocol) 暴露给 AI Agent 读取。单进程、单端口。
✨ 特性
📱 手机上报:iOS 快捷指令
POST /ingest推送电量/位置/网络/健康快照🤖 MCP 网关:同一进程挂载
/mcp,Hermes 等 AI Agent 直接读取🏗️ 单端口单进程:上传 + 查询 + MCP 全部复用 8764,无二次 HTTP hop
🐳 Docker 就绪:GitHub Actions 自动构建镜像,1Panel 一键 Compose 部署
Related MCP server: Rouse Context
🏗️ 架构
手机 (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)手机上传:公网 HTTPS 经反代 →
8764/ingestAI 读取:本机回环直连
8764/mcp(不经过公网)共享内存:MCP 工具直接读
app.store,无需序列化/二次请求
🔌 端点
方法 | 路径 | 认证 | 说明 |
|
| Bearer 手机 key | 手机上报最新状态 |
|
| Bearer agent key | 返回完整快照 |
|
| 无 | 健康检查(Docker HEALTHCHECK 用) |
|
| 无(本机回环) | MCP streamable-http 端点 |
🔑 身份与配置
仅两个共享密钥做身份识别(身份标识,非字段级授权),均可用环境变量覆盖:
用途 | 环境变量 | 默认值(仅开发) | 端点 |
手机 key |
|
|
|
agent key |
|
|
|
监听端口 |
|
| —(run.sh 使用) |
⚠️ 生产部署必须通过环境变量覆盖默认密钥,勿使用仓库内默认值。
🚀 快速开始
本机运行
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
./run.sh start # 后台启动 :8764
./run.sh status
./run.sh stopDocker 运行
# 本地构建
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:local1Panel Compose 部署(推荐)
在 1Panel → 容器 → 编排 中新建编排,粘贴
docker-compose.yml;镜像由 GitHub Actions 自动构建推送到 GHCR,部署时直接拉取;
仅需开放 1 个端口
8764,其余由反向代理处理。
手机发送数据
# 经公网反代(手机端快捷指令用这个)
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 配置(config.yaml)
mcp_servers:
user-status:
type: streamable-http
url: http://127.0.0.1:8764/mcp # 本机回环,不走公网
connect_timeout: 10
timeout: 30验证:hermes mcp test user-status;重启 Hermes 后工具注册为 mcp_user_status_*。
🐳 Docker 镜像构建(GitHub Actions)
仓库内置 .github/workflows/docker-build.yml:
触发:push 到
main/ 手动workflow_dispatch/ 打 tag产物:
ghcr.io/<owner>/lifesign:latest与:<git-sha>双 tag平台:
linux/amd64、linux/arm64说明:镜像为私有(仓库私有 → GHCR 包私有),1Panel 部署时需在 Docker 配置中添加 GHCR 登录凭据(
ghcr.io用户名 + PAT)。
✅ 测试
. .venv/bin/activate
python -m pytest tests/ -v🗂️ 项目结构
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/📜 许可证
MIT
This 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 Servers
- Flicense-qualityAmaintenanceA 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
- Alicense-qualityAmaintenanceTurn 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.2Apache 2.0
- AlicenseAqualityAmaintenanceA 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.2681040MIT
- Alicense-qualityBmaintenanceEnables AI agents to control Android phones via MCP and HTTP. Supports screen capture, taps, swipes, text input, and app management.AGPL 3.0
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.
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/shutdown-awa/lifesign'
If you have feedback or need assistance with the MCP directory API, please join our Discord server