mcpField
H

Health Hub MCP

远程服务
github.com健康医疗111 周前更新

关于 Health Hub MCP

Health Hub MCP 是可自托管的服务端,可将 Android Health Connect 记录汇总为供大模型客户端使用的健康指标。它会去重传入数据,并提供每日摘要和诊断工具,默认不向模型暴露原始事件。

主要功能

  1. 01接收来自两款 Android 应用的数据
  2. 02使用内容哈希对记录去重
  3. 03生成每日指标汇总
  4. 04提供五种健康查询工具
  5. 05附带注意事项和同步诊断

适用场景

  1. 01查看每日活动、睡眠和生命体征摘要
  2. 02分析指标随时间的变化
  3. 03检查同步缺口和数据接收诊断

MCP 相关

向 MCP 客户端提供每日摘要、指标序列、睡眠详情、同步状态和负载检查五种工具。默认返回汇总数据及注意事项,而非原始事件。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://{host}/mcp-health
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://{host}/mcp-health需要授权

工具

详细介绍

Health Hub MCP Server

CI

个人 MCP 服务,可从 Android 配套应用导入 Health Connect 数据,并通过 Model Context Protocol 向大模型客户端提供汇总后的健康指标。

Android 14+ ──POST /ingest/health──────▶ ┌──────────────────┐
  (companion app)                         │                  │
Android 14+ ──POST /ingest/hc-webhook──▶ │   Health Hub     │──MCP──▶ LLM
  (HC Webhook client)                     │   SQLite         │
                   browser ──GET /debug──▶ └──────────────────┘

配套应用会从 Health Connect 读取原始记录,并将其推送到此服务。服务会对记录进行标准化、去重,并汇总为每日数据,然后通过五个 MCP 工具将数据提供给大模型客户端(Claude、Perplexity、OpenCode)。默认情况下,原始事件不会交给模型——只提供汇总数据,并明确列出 caveats,防止模型悄然编造缺失数据。

要求

  • Android 14+,以及 life-dashboard-companion-app v1.4.0+
  • 安装了 Docker 和 Docker Compose 的任意主机
  • 配备 TLS 的域名(Caddy 会自动处理证书)

快速开始

cp .env.example .env
# Edit .env: set DEVICE_TOKEN and MCP_TOKEN (run: openssl rand -hex 32)
docker compose up -d --build
curl -s http://localhost:8000/health

配套应用

服务通过不同的端点接收来自两款 Android 应用的健康数据。两者都会写入同一个数据库,并使用内容哈希去重——即使两款应用发送相同数据,也不会重复计数。

应用端点格式适用场景
life-dashboard-companion-app v1.4.0POST /ingest/health必须提供 source: "health_connect"增量同步,每种类型最多 200 条记录
HC WebhookPOST /ingest/hc-webhooksource 可选,HRV 使用 rmssd_millis,支持额外类型全量同步,单次 POST 包含所有类型

两个端点都需要:

Authorization: Bearer <DEVICE_TOKEN>
Content-Type: application/json; charset=utf-8

HC Webhook 端点还接受配套应用不支持的另外 5 种 Health Connect 类型:skin_temperature、basal_metabolic_rate、vo2_max、intermenstrual_bleeding、body_water_mass。未知的类型键会被静默接受——服务只会处理其注册表中的类型。

连接手机

请参阅 docs/ANDROID.md 获取分步说明。

连接大模型

将以下内容添加到 Claude Desktop 配置文件(claude_desktop_config.json):

{
  "mcpServers": {
    "health-hub": {
      "url": "https://your-domain.example.com/mcp",
      "headers": {"Authorization": "Bearer <YOUR_MCP_TOKEN>"}
    }
  }
}

对于 Perplexity、OpenCode 或其他 MCP 客户端,请使用相同的 URL 和令牌。Authorization 标头必须包含 Bearer 前缀——否则服务会拒绝请求。

MCP 工具

工具描述
daily_summary每日健康汇总:步数、距离、卡路里、睡眠、心率、体重
metric_series任意指标的时间序列,支持按天/周分组
sleep_detail包含睡眠阶段(深睡、REM、浅睡、清醒)的详细睡眠时段
get_sync_health按类型查看同步状态:最后事件、覆盖范围、缺口、错误
inspect_last_payload原始负载元数据和应用诊断信息

每个工具都会返回一个 object(绝不会返回单独的数组),并包含 caveats: string[] 字段,用于提醒模型注意缺失日期、重叠记录或汇总方式变更。响应最多包含 400 个对象。

已知限制

  • Health Connect 不提供记录 ID——去重基于内容哈希
  • 多个数据源(手机 + 手表)可能导致累计指标重复计数。服务会抑制时间重叠的区间,但这只是启发式处理。请查看 /debug 上的对比面板。
  • 应用同步游标只会向前移动——事后添加到 Health Connect 的记录可能无法同步过来
  • 未经重新授权,Health Connect 不会提供超过 30 天的数据——服务就是你的档案库。请备份 data/。

许可证

MIT——详见 LICENSE。

配套应用

life-dashboard-companion-app v1.4.0

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。