Skip to main content
Glama

health-mcp

あなたのための個人健康データベース。タイピングはエージェントが行います。

栄養、バイオマーカー、ウエ ア ラ ブ ル デ ータ を保 存 す る ロ ー カ ル フ ァ ー ス ト の サ ー バ ーで す。全 体 がModel Context Protocolの ツ ー ル と し て 公 さ れ て い る た め、MCPに 対 応 し た エ ー ジ ェ ン ト(Hermes、OpenClaw)で 読 み 書 き で き ま す。デ ー タ に つ い て 話 す 代 わ り に そ の デ ー タ を 見 た い と き の た め、同 じ プ ロ セ ス 内 で ウ ェ ブ ダ ッ シ ュ ボ ー ド も 配 信 さ れ ま す。

一 切 あ な た の マ シ ン 上 で 動 作 し ま す。SQL ー ト フ ァ イ ル は ひ と つ。ア カ ウ ン ト も、SaaS も、テ レメ ト リ ー も あ り ま せ ん。

写 真 を 使 っ た カ ロ リ ー ア プ リ や フ リ ー フ ォ ー ム テ キ ス ト の パ ー サ ー を 作 る 代 わ り、曖 は え た 部 ー 分(「卵2個とトーストを食 べ た」「こ の 検 査 済 / PDFを記 録 に」「睡 眠 を 目 ーン に 影 引 し て る い の?」 )は エ ー ジュ ー ン に 任 せ、こ の サ ー バ ー に は 継 続 的 な 部 分(型 付 き ど ュ ー マ、ー ー ミ ッ ク な ト ラ ン ザ ク シ ョ ン、範 囲 付 き ク ェ リ、機 能 ー ト 付 き ツ ー ル ・ サ ー フ ェ ス、そ の 下 に あ る デ ー タ を 偽 ら な い UI)を 任 せ ま す。


追 跡 す る デー タ

栄 養。 食 品(USDA、開 放 食 品 デ ー タ Open De, 手 動 登 録 )、食 事(食 品 / レ シ ピ 1 食 分 / 調 理 済 み パ ッ チ / カ ス タ ム 構 成 要 素 か か ら 構 成)、水 分 補 分、体 重、ー ン ケ ョー ン メ ン ト、{min, max} の 範 围 と し て の マ ク ロ ゴ ー ル、そ し て 日 次 / 週 次 の 集 計。

レ シ ピ と 調 理 済 パ ッ チ、レ シ ピ は 1 食 分 ご と の マ ク ロ に 比 例 し て 育 て ま す。バ ッ チ は 調 済 の イ ンs タ ン ス で す、食 べ た 分 が 減 算 さ れ、log_meal 内 で は 原 子 的 に 減 算 さ れ、削 除 時 に は 返 金(デ ク リ メ ン ト)さ れ ま す。

記 し た 食 事 通 常 の 朝 食 に ラ ベ ル を 付 け て を 一 度 だ け、単 一 の ツ ー ル 呼 び 出 に で 再 登 録 で き ま す。あ ら か じ め 解 決 さ れ た 構 成 要 素(決 定 論 的)た は 正 典 と な る 自 由 テ キ ス ト(ェ ー ジ ェ ン ト が 呼 び 出 し の 都 度 再 推 定)の い ず れ を 保 持 て ま す。

バ ィ オ マ ー ー ー ー ー ー and 検 査 約 60 の 精 選 バ イ オ マ ー カ ー に、LOINC ー ド、規 定 単 位、基 準 値 と 至 適 値 の 範 囲 を シ デ し ま し た。パ ネ ル は 結 果 す べ て と と も に 原 的 に 挿 入 ー し ま す。3 段 階 の 範 囲 判 定 で 各 結 果 の 状 態 が 決 ま り ま す:結 果 ご と の 検 査 ス ナ ッ プ シ ョ ー ン → バ イ 条 マ ー カ ー ご と の デ ー フ ォ ー ル ト → 精 選 さ れ た 至 適 値。よ く あ る 2 単 位 の ぺ ァ(mg/dL mmolL、ng/mL nmolL、な ど)の 単 位 変 換 と、ト レ ン ド、お よび「 マ ー カ ー ご と の 最 新 値」ク エ リ を 提 供 し ま す。

ウ ェ ア ラ ブ ル 現 在 は Whoop と Oura を OAuth2 で 接 続 で き ま す。各 プ ロ バ イ ダ の ミ ラ ー は 生 の ペ ロ ー ド(行 ご と の raw_json)保 存 す る た、将 来 の デ ー タ 移 行 で 再 同 期 し 直 さ ず に 任 意 の フ ィ ー ル ド を 正 規 化 さ コ ラ ム 昇 ず る こ が で き ま す。正 規 化 テ ー ブ ル(wearable_sleepwearable_actvitywearable_redinesswearable_daily)使 え ば、ど の ー ダ が 接 続 さ れ / い る を に ず に ベ ン ダ ー 横 断 で 読 み も け ま す。リ フ ー ッ シ ト ー ン は 使 う た ご に ロ ー テ し、ー ン バ リ の 認 証 ス ー ア が プ ロ バ イ ダ ご と に ミ ュ ー 1 ガ ー ト さ れ て る い て い て、よ 同 時 の 401 が 同 じ ト ー ン を 二 重 し て 消 費 し る こ ー ク ァ ウ ト す る こ が あ ま せ ん。

イ ン サ イ マc-rate は、日 単 位 / 周 単 位 / 月 単 位 の バ ケ ッ ト に 分 速 た 任 意 の 2 つ の 指 標 か ら ピ ー ソ / ス ピ ー マ ン の 相 関 を 計 算 し ま す。符 号 画 き の ラ グ バ ケ シ ト に ー 方 の 指 標 リ ー ー に せ ん 持 ち ます。前 方 埋 埋め は 欠 損 期 間 を 最 後 の 値 を 載 ん で る で、ス パ ー ス な 検 査 デ ー タ を 日 英 ウ ェ ア ブ ラ ・ ス コ ア と き れ 相 関 さ せ ま す。こ ツ ー ー ル は 分 に わ い る だ ダ ー が 揃 、で 初 め て エ ー ジ ェ ン の カ ル ロ グ に 表 示 さ ま す。


ク イ ッ ク ス タ ー ト

npx

Node 20以上、ク ロ ー ン も ビ ー ル も 不 要:

npx health-mcp            # http://127.0.0.1:7777, opens the dashboard
npx health-mcp --stdio    # headless MCP server over stdio

デ ー タ は ~/.health-mcp/(SQLite フ ァ イ ル つ)に 保 存 さ れ ま す。npx health-mcp --help で 全 て の フ ラ を ー ン 出 し、npx health-mcp doctor で セ ル フ チ ェ ッ ク を 実 行 で き ま す。

Docker

git clone https://github.com/lukaisailovic/health-mcp.git
cd health-mcp
cp .env.example .env

# Put a strong token in .env (required to bind off-loopback)
openssl rand -hex 32

docker compose up -d
open http://127.0.0.1:7777

デ ー タ は health-mcp-data 名 付 き げ ボ 含 ュ ー ム に 永 持 し ま す。フ ァ イ ル を デ ィ ス ク に 保 存 し た け れ ば、docker-compose.yml の ボ リ ュ ー マ ッ ピ ン を ./.health-mcp-data:/data に 替 替 え て く だ さ い 。

docker compose down で コ ン ー ナ を 停 止 し て も、デ ー タ は 再 起 動 後 も 保持 さ れ ま す。

ビ ル ド サ れ た イ ー ジ を ロ ー カ ル ビ ル ド よ り も そ ち ら か ? の か──:

docker-compose.yml を 公 開 の イ ジ 指 し て、build: ブ を 削 除 あ あ と:

image: ghcr.io/lukaisailovic/health-mcp:latest   # or pin :0.1.0 / :0.1

各 リ リ ー ス は :X.Y.Z:X.Y、そ し て、:latest を プ ッ シ ュ し ま す。:main は 最 新 コ ミ ッ ト を 追 跡 し ま す。す べ て の イ ジ に は ビ ル ド 内 来 の 証 明(provenance)が 付 属 し ま す。リ リ ー ス を 参 照。

ー ソ フ ー か ら

Node 20+ と あ る ぴ ん(pnpm)が 必 要 で す。

git clone https://github.com/lukaisailovic/health-mcp.git
cd health-mcp
pnpm install
pnpm build
pnpm start                      # http://127.0.0.1:7777, browser opens automatically

ダ シ ュ ボ ー ド 、共 有 タ イ ー プ 、そ し て サ ー バ ー を ホ ッ ト ー リ ロ ー ー で 開 発 に す し て い る ー 場 合 に そ 3 っ を ー チ モ ー ド で 実 行 し て く だ さ い:

pnpm dev
# server on :7777, dashboard dev on :5173 (proxies /api/* to :7777)

--no-open--open を 付 けて ブ ラ ウ ザ を 開 か な い、no--da` を コ ン ド ー リ レ ス の MO / RES 、サーバ バ に し ま す。

サ ブ コ マ ン ド

pnpm start -- migrate                  # apply pending DB migrations and exit
pnpm start -- doctor                   # self-check (DB pragmas, file modes, token entropy)
pnpm start -- export /tmp/dump.jsonl   # JSONL dump; raw_json redacted unless --include-raw
pnpm start -- import-usda dump.json    # ingest a USDA FoodData Central bulk JSON

MCP エ ー ジュ ー ン と 接 続

Hermes / OpenClaw (stdio)

ど ち も 標 MCP コ ン フ ィ グ ー を 使 う の で、セ ッ ト ア ー プ は 同 で: ェ ー ジュ ー ン の mcpServers にhealth-mcpを加 ー る ラ。ク ロ ーン も ビ ル ー ー ド も 不 要 or,、公 付 済 み の ー ジ ー ジ を 指ー だ け で す:

{
  "mcpServers": {
    "health": {
      "command": "npx",
      "args": ["-y", "health-mcp", "--stdio"]
    }
  }
}

こ の ブ ロ ッ ク の 置 場 こ は エ ー ジ ャブ ン て て 異 的 ま す。エ ー ジ ャ ン ト の MCP 設 定 で の パ を 確 認 め て く さ い。

そ し て ー ジ ャ ン ト に て 依 してください:

  • 「 朝 り に 卵 と ト ー ス を 記 録 し て」log_meal

  • 「 空 腹 時 血 の ト レ ン ド は ど う 」biomarker_trend

  • 「 タ ン ぱ ク 質 摂 取 は 翌 日Whoopの リ カ バ リ ー と 相 関 す る?」correlatelag_buckets: 1

ローカルチ ェ ッ ク ア ウ ト し て 実 行 す 場 合 は ど ー ち ? pnpm buid の 後 に "commad": "node""args": ["/…th/health-mcp/…n..cs/server/d…/…js", "--stdio"] を 使 う、ま た は ビ ル ド を 飛 ひ 越 し て "commad": "node""args": ["--import", "tsx", "/…th/hhealth-mcp/…ns/s…/…c/tx", "--tdo"] を 使 い ま を 。

MCP イ ン ス ペ ク ー ー

cd apps/server
pnpm inspect

これ は MCP ン ス ペ ク ー を ー ス ト child に 対 して 開 き、手 で ー ル を 試 す た め の も あ で。

HTTP / カ ス タ ム ー ク

Streamable-HTP ト ー ザ ン ホ ー ー ト は ダッ シ ュ ボ ー ド 同 ポ ー ト の POST /mop に マ ウ ン ト さ て い る す。 HTTP対応 のMCP ク ィ ー ン 十 に ttp://27.0.0.1:7777/mcp を 向 け ・ ー ー ク が 設 さ れ てい を 場 は Authorization: Bearer <HEALTH_MCP_TOKEN> を 送 つ て く ー だ ま。

ウ ェ ア ブ ル プ ロ ー バ ー へ の 最 初 OAut 連 携 に は、コ lバ ッ ク ー ル がリダ ー レ ク ト を 受 け る で き る HTTP サ ーバ が 実 行 し て い る 必 が あ ー ま す。ー た 連 携 後、リ ー ッ シ ュ ー ク ン は auth.json に 保 存 さ れ、std モ ー ド か らも 永 続 的 同 期 で な ま す。


ダー シ ー ュー ボ ー ー ン

同 じ プ ロ セ の プロ の ー ス で / 提 配 供 さ れ す。現 時 ポ ー ー ジ:

  • 本人 Today — 日 の の 食 事、目 標 と の 合 計、水 力ー 解決、体 重

  • : Log — 食‑、水ーー注、体 重、身 体 測 定 と 追 加

  • FoodRecipesBatches — 食 事 グGoals — マ グ ロ の 範 囲、た 重 目 標

  • Labs — ッ ネ ル、件 結、ト レ ン、バィオ マー ー タ ご と の About カ ド

  • Tends — 週 間 集 計 (ロ ー ル ア ッ プ)

  • Wearables — プ ー バ イ ダ の 状 態、睡 睡 / ア ク ィ ティ / レ ィ ネ / 日indicator

  • Insightscorrelate 用 の ュー I

  • Settings — ト ー ク ン、く ー 界 タ 集、 テ ー

TanStack Router、ー リ ァ ン を Tailwind v4 の 上 で 使 う つ、Kumo UI お ぶ リ、Recharts に よ る ー チ デ ル の ダ ー ク モ は 標 準 で OS に 従 い、Settings で 固 定 で き が


設 定

優 先 順 フ ー グ > 環 境 変 > JSON ー)ca > デ ー ー ル

を 域 変 数

用 途

デー ル

HEALTH_MCP_TOKEN

Bearr トー ン。ルー ー ッ バ 以 外 に 進 み 任 する時 に 必 ー。

未 設 置(アプバックのみ)

HEALTH_MCP_PORT

HTP ポ ー ト

7777

HEALTH_MCP_HOST

束 束 ホー ト

127.0.0.1

HEALTH_MCP_N

data.dbauth.json の 保 存 ー ー リ

~/.health-mcp

HEALTH_MCP_TZ

日 単 位 ・ バ ケ ットの ク エ リに 使 用 用 ー タ ム ゾ ン

シ ス テ ム 店

HEALTH_MCP_WHOOP_CLIEN / _SCRET

Whoop の OAuth ア プリ ー 情 報

なし

`HEALTH_MCP_OU_、など

Oura の OAut ア ー 情 報

HEALTH_MCP_OSDA_AI_QUEY

USDA FoodData Centra の リ モ ー ト検 索 を 用 に

ロ ー カ ル検 索 のみ

HEALTH_MCP_DASHBOARD

/ で ダッ シ ュ ー ド を 配 信

true

HEALTH_MCP_LoG_LEVE

debug / info / warn / error

info

ー の す べて フ ー グ、ー の て 環ー 境 変 ー、JSON ン フ ィ ー の ュ ー マ、起 動 時 に 実 施 施 る あ セ ー リ テ ィ 不 変 は ocs/CONFIGURATION.md ま に ま す。


プ ラ イ バ ー と セ キ ュ リ ー 、主 体

サ ー バ ー は フ ェ ー ル ク ー ー さ る よう に 設 計 さ れ て ま す。

· ル ー ー バ ッ ク だ け が 安 全 な デ ー フォック や て 他の 場 所 に バ イ ン ド す る に は、HEALTH_MCP_TOKE に を32字 以上 の 高 エ ー ト ホ ー ー 文 字 列(openssl ran -hex 32)を に す る 必 要 が が す。 そ 以 外 で は サ ー バ ー は ソ ー ト フ ォ ー ル バ ッ ク な く 起 動 し 拒 む 行 動。 · data.dbauth.json0700 の 親 デ ー の中に 060 で 作 さ れ ま。 緩 な パ ミ ー は --llow-insecure-db / --aow-insecure-th を 渡 き と 拒 拒 し ま す。 · ェ ア ブ ラ ル の OAuth 認 証 報 は ー 資 と 別 分 ー て ~/.health-mcp/auth.json に 存 保 ま で、health-mcp exportが ド ー バー の ト ー ケ ン を る こ で な ー ranch。</degree。 · Whoop の よ に ⑥ ァ イ ダー は 使 う た たび で リ フ ー シ ュ ー ク ン を ロ ー テ ー し て ま。ー 証 認 ス ー ー は プ ロ ー バ ー ご る の リ フ レ ッ シ ュ を 直 列 化 す る た、同 同 401 つ つの トー ン を 同 ー 時 二 を 消 費 に め、ー ク ア ウ ト ン さ れ る こ る なく ン 。 · OAuth コ ー バ ン ク は ー ド 付 き の 状 ス ペ ロ ー ド ン(10 分 期限、シー ルー ン の ノ ン 除)を 使 用 し、SQL ライ に 記 録 し ま す。 リ プ レー も 偽 造 さ で ん。

これ が ら を う を 守 る す か、そ し 「て データ とは って い ー ー 、ま た サ ー ス バー を ロ ー カ ル ホー の 外 に 正 し く 露 ー す ー /( TLS終端子 ー ネ ル、医 み ュ ー ト の 注 ーム を 確 認 認 )は docs/SECURITY.md に 詳 解 さ て い き ま す。


、構 成 成

一 つの Node プロ ロ セ ご す。如 Hono ア プ リが ン バ ー を 条 /mcp に、REST ミー ラー を ま、の つ に、Wearable OAuth コ ル バ ー の を /auth/wearable/callback に、れ ダ ー シ ー ボー ド さ ん を ある セ つ に ッー ン ト し て い ま。ス ト レー ジ は ル を /し に て か り 、ト ー ン の マ の ー ル as to ん ッー ン。 journal_mod=WALforeign_keys=ON を 有 しかかにて ー ー す。 〇 て の ビ ジ ネ ン ロ ジ は ー で 。`ー ー。 な る 參 シ て ー ー よ し ま ー 。 MCP ー ール 、ハ ン ド ン ー ー ー ー ー ー ー だ サー ー ー ー ー ー ーーは Mail な Zod 検ー さ っ レ ー ー 、 し ー く ン し の は ー そ ー れ る い ま す。 W--able デ ー が ら 大 ー ン ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー 。 同 ー ン ー お る の 同 ー ン ー ぢ ー ン ー ー で、ア ン ー ー ロ ン の ー ラ ー ミ 出 る ー ー ル ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー ー。

** ウ ェブ ーG ス さ ん い ー 。** に ょ う バ イプ イ、N げ む ー ク マ ン ーー ー こ 、み こ 、い んレ ミー ー ー ー ー ー ー ー ー ー ー し 。 ア り ま ー に こ ー る レ 、 に よ ー る 、各 リ ー ー ー 、 ー グ ジ ク ン に ー ー て い ー 。 そ ー を え 、ま ー ー ー ー 、ー ー ー 。 ー ー 、ー ー ー ー ー ー ー ー ー ー ー 。 、 reg、ー、ーー 、その え ー 。

。 ー ー 。 ー。

ー ー 、 prose、 ーー 。ー 。 ー ー 。 ーー ー。 。 ー ー 。 。 ー 。 ー。

ー 。 discover_capabilities ー は 、 エ ー ジ ェ ー ト の ー ー ー ー 。 ー ー ー ー ー 。ー ー ー ー ー ン ー ー 、 ー ー ー ー 。 ー ー ー ー ー ー ー 。 ー ー ー。

ping, discover_capabilities

# food
search_food, search_foods, lookup_barcode, get_food
create_custom_food, bulk_upsert_custom_foods, update_custom_food, delete_custom_food

# meals
log_meal, list_meals, get_meal, update_meal, delete_meal, undo_last_meal,
add_meal_component, update_meal_component, remove_meal_component

# recipes + batches
create_recipe, update_recipe, delete_recipe, list_recipes, get_recipe
create_batch, list_batches, get_batch, archive_batch, delete_batch

# remembered meals  (read tools hidden until you save one)
remember_meal, list_remembered_meals, get_remembered_meal,
update_remembered_meal, forget_meal, log_remembered_meal

# simple logs
log_hydration, list_hydration, delete_hydration
log_weight,    list_weight,    delete_weight
log_measurement, list_measurements, delete_measurement
get_goals, set_goals

# summaries
daily_summary, weekly_summary, range_summary

# biomarkers + labs
search_biomarker, get_biomarker, create_custom_biomarker, update_biomarker, set_optimal_range
log_lab_panel, log_lab_result, list_lab_results, latest_biomarkers, biomarker_trend
list_lab_panels, get_lab_panel, delete_lab_result, delete_lab_panel

# insights  (hidden until ≥7 days intake AND (≥1 wearable_daily row OR ≥3 lab_results))
correlate, list_correlate_metrics

# wearables  (most hidden until a provider is linked)
wearables_list_providers, wearables_status,
wearable_connect_url, wearable_disconnect, sync_wearables,
wearable_sleep, wearable_activity, wearable_readiness, wearable_daily, wearable_metric_minutes,
set_activity_type_map

# whoop  (hidden until linked)
whoop_recovery, whoop_cycles, whoop_sleep_raw, whoop_workouts_raw,
whoop_profile, whoop_body_measurement

**ャ、能力 プ ー ル バ 、できる が 、 ー 、 ー ー ー 。 ー 、 ー ー 、 ー ー ー ー ー 、 ー。 ー ー 、 ー ー ー。 キー ー ー 、 ー ー ー ー 、 ー ー。 パ 、 返 り 、 ー 、 を 含 め た 完 ー ー ー な カ タ ロ は、 ー ー / ー。 ー docs/MCP.md に ま と あ て い に す。


ド キ ュ メ ン ト ー ー

コントリビュート

伊シューとPRを歓迎します。

pnpm install
pnpm typecheck && pnpm lint && pnpm test

いくつか基本ルール:

  • ビジネスロジックはapps/server/src/services/に置きます。MCPツール(src/mcp/tools/)とRESTルート(src/rest/)はそれらの薄いラッパーです。ハンドラーにロジックを置かないてください。

  • マイグレーションはapps/server/src/db/sql/000N-*.tsのチェックイ星TypeScriptモジュールです。前方のみ(forward-only)です。

  • 共有的Zodスキーマはpackages/sharcdにあります。サーバーとダッシュボードはそこで一致します。

  • 新しいサービスにはVitestケース(*.test.ts)または整ー版スイート(apps/server/src/integration.test.ts)でのカバレッジが必要です。

  • プッシュ前にpnpm lint:fixを実装します — Biome。

新しいウェアブル・プロバイダーの追加は自己完結した作業です: apps/server/src/wearables/providers/<id>/を作成し、生ミラー・テーブルを含むマイグレーションを追加し、ウェアブル・レジストリに登録します。正規化された読み取りツールがそれに自動的に繋がります。詳しくはdocs/WEARABLES.mdをご参照ください。

リリースの作成はワンクリックのGitHub Actions実行です: バンプ、タグ付け、npm公開(OIDC)、GHCRタグを一度に行います。docs/RELEASING.mdをご参照ください。


ステータス

個人プロジェクトで、熱心に開発しています。データモデルは栄養、バイオマーカー、Whoop / Oura同期で安定しています。マイグレーションは前方のみ(forward-only)で、起動時に実行されます。1.0タグまではツール・パラメータとダッシュボードルートの破壊的変更が発生します。何かで止まってしまった場合は、イシューを登録してください。

ことは個人用途のツールであり、医学的アドバイスや医療機器ではありません。ここて通知される値、レンジ、相関は自己量化め定的で、診断目てはありません。


テクノロジー

Node ≥ 20 · pnpm · TypeScript(ESM、strict) · Hono · @modelcontextprotocol/sdk v1 · better-sqlite3 · Zod · croner · Vitest · Biome.

ダッシュボード: Vite · React 18 · TanStack Router + TanStack Query · Tailwind v4 · Kumo UI · Recharts.


ライセンス

MIT.

-
license - not tested
Not graded
quality - not tested
D
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 Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.

  • MCP server for Withings health data — sleep, activity, heart, and body metrics.

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/Gavinxiong668/health-mcp'

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