mcpField
H
Health Data (your own Supabase)

Health Data (your own Supabase)

ローカル
github.com/almostjackedヘルスケア012 週間前に更新

Health Data (your own Supabase) について

health-mcpは、自分の測定値や栄養記録をAIクライアントで分析したい人向けの健康データ用MCPサーバーです。データは本人が所有するSupabaseプロジェクトに保管され、iOSショートカット経由でApple Healthから毎日取り込まれます。読み取り専用のクエリツールを備えています。

主な機能

  1. 01健康指標と日別サマリーの取得
  2. 02推移・平均・範囲の確認
  3. 03指標ごとの同期状態の確認
  4. 04制限付き読み取り専用SQLクエリ
  5. 05adaptive-TDEE用データの出力

活用シーン

  1. 01週ごとのカロリー摂取量の比較
  2. 02数か月にわたる体重推移の確認
  3. 03毎日の健康データ同期の停止確認
  4. 04体重測定値とカロリーデータのfitness-toolsへの受け渡し

MCP 対応

ユーザー自身のSupabaseプロジェクトで動くコネクター、またはローカルのstdioサーバーを通じて健康データツールを提供します。MCPクライアントはデータを読み取れ、queryツールは読み取り専用SQLのみを許可します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"almostjacked-health": {
"command": "npx",
"args": [
"-y",
"@almostjacked/health-mcp"
],
"env": {
"SUPABASE_URL": "<SUPABASE_URL>",
"SUPABASE_SECRET_KEY": "<SUPABASE_SECRET_KEY>"
}
}
}
}
起動コマンドnpx -y @almostjacked/health-mcp
設定が必要な環境変数
SUPABASE_URLYour Supabase project URL
SUPABASE_SECRET_KEYシークレットA secret API key for your project

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@almostjacked/health-mcp0.1.3

ツール

7

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

health-mcp

CI npm MCP Registry

健康データ(体重、体組成、カロリー、マクロ栄養素、水分)を、AI が参照できる MCP データレイヤーとして利用できます。データを預ける必要はありません。データは、あなた自身が作成して所有する Supabase プロジェクトの Postgres データベースに保存されます。あなた以外の誰かがデータやキーを保持することはありません。iOS ショートカットが Apple Health から毎日同期し、あなた自身のプロジェクト内でのみ動作するコネクターを通じて、Claude(または任意の MCP クライアント)がデータを読み取ります。

セットアップ(4 ステップ、約 20 分)

1. データベースとコネクターを作成する

方法は 3 つあります。どれを選んでも、コネクター URL、取り込み URL、取り込みキーが得られます。

  • セットアップページ — ターミナルは不要です。Supabase ダッシュボードで案内に沿って操作します。
  • npx @almostjacked/health-mcp setup — 最速の方法です。Node ≥ 18 が必要です。Supabase へのログイン、プロジェクトの選択または作成、スキーマの適用、両方の関数のデプロイ、シークレットの発行までを案内し、最後にコネクター URL とショートカットの設定を表示します。
  • 手動のダッシュボード操作ガイド — セットアップページと同じ手順を記載しています。先に内容を確認したい場合や、手動で進めたい場合にご利用ください。

Supabase の無料プランでは、アクティブなプロジェクトを 2 つまで利用できます。そのため、すでにお持ちの無料プロジェクトに加えて利用できます。

2. 過去のデータを読み込む

読み込まない場合、adaptive-TDEE が動作に必要なデータを得るまで、毎日の同期に約 2 週間かかります。読み込めば、すぐにすべての機能を利用できます。

  1. iPhone で、ヘルスケアアプリ → プロフィール画像 → すべてのヘルスケアデータを書き出すを選択します。export.zip が作成されます(履歴が長い場合、数分かかることがあります)。
  2. セットアップに使うデバイスにファイルを移し、セットアップページの**インポートパネルにドロップします。送信を確定する前に内容を確認できるよう、まずはドライラン**にチェックを入れたままにしてください。
3. 毎日の同期を設定する

**ショートカットパネルにはダウンロードボタンが 1 つあります。署名の手続きもターミナルも不要です。ショートカットをダウンロードして iPhone にインストールします(インポート時に iOS から取り込み URL とキーの入力を求められます)。その後、午前 9 時の毎日のオートメーションを有効にします。各手順の詳しい説明(iOS へのインポート後に手順がうまく反映されない場合の対処法を含む)については、docs/shortcut.md**をご覧ください。

最も簡単なインストール方法(Mac を優先): Mac で署名済みショートカットをダウンロードしてダブルクリックします。インポート時の 2 つの確認画面がページ上のコピーボタンのすぐ隣に表示され、iCloud によってショートカットが iPhone に自動で同期されます。(Mac をお持ちでない場合は、ファイルを iPhone に送り、そこで確認画面に答えてください。)

4. Claude に接続する
  1. claude.ai → Settings → Connectors → Add custom connectorを開きます。
  2. ステップ 1 で取得したコネクター URL を貼り付けます。
  3. 保存します。これで Claude が health-mcp のツールを利用できます。

コネクターを追加するときに 「Couldn't register with [name]'s sign-in service」 というエラーが表示される場合、これは一時的な claude.ai の不具合であり、コネクターに問題があるわけではありません。もう一度追加してみてください。

使い方

Claude に、次のような質問をしてみましょう。

今週の平均摂取カロリーを先週と比べて教えてください。

過去 90 日間の体重の推移を表示してください。

毎日の同期が止まっていませんか?get_sync_status を確認してください。

fitness-tools と組み合わせる

health-mcp は「何が起きたか」(記録した体重とカロリー)に答え、 fitness-tools は「それが何を意味するか」(TDEE、マクロ栄養素、体脂肪率、1RM)に答えます。get_energy_inputs ツールは、fitness-tools の adaptive-tdee にそのまま使える形式の {date, weight, kcal} エントリーを返すため、形式を変換する必要はありません。Claude に次のように尋ねてください。

過去 90 日分のエネルギー入力を取得して、fitness-tools で適応型 TDEE を計算してください。

adaptive-tdee には、体重測定とカロリー合計の両方が記録された日が少なくとも 10 日必要です。手順 2 を省略した場合は、連携が機能するまでに約 2 週間の同期が必要です。

Hevy も使ってトレーニングしている場合は、 hevy-mcp と組み合わせることで、トレーニングの情報(ルーティン、記録したセット、1RM の推移)も確認できます。

ツール

ツール説明
get_schemaPostgres スキーマ(2 つのテーブル)とメトリクスレジストリ(名称、単位、クラス)です。クエリツールで SQL を記述する前に呼び出してください。
get_sync_statusメトリクスごとの最新日、行数、最終エントリーからの経過日数です。分析を信頼する前に、毎日の同期が停止していないか確認するために使います。
get_recent過去 N 日分(デフォルトは 30 日)の行です。必要に応じてメトリクスを 1 つに絞れます。日次合計と個々の測定値を、日付順に並べた 1 つのリストで返します。
get_daily_summary1 日分の全メトリクス(デフォルトはデータがある最新日)です。合計に加えて、すべての体重測定値・測定値を返します。
get_stats日付範囲内の 1 つのメトリクスについて、最小値/最大値/平均値と移動平均の系列(毎日/毎週/毎月の集計)を返します。
query最終手段として、get_schema のスキーマに対して読み取り専用の SQL 文(SELECT または WITH…SELECT)を 1 つ実行します。書き込み/DDL は拒否され、LIMIT 500 が強制されます。
get_energy_inputsカロリー合計と体重測定の両方がある日の、日付・体重・カロリーのエントリーです。fitness-tools の adaptive-tdee にそのまま使える形式です。

アーキテクチャ

Apple Health --> "Sync Health Data" Shortcut --> your health-ingest function --> your Postgres
                                                                                      |
Claude  <-- run_readonly (SELECT-only) <-- your health-mcp connector function <------+

上記のいずれも、私たちが運用するインフラには触れません。2 つの Edge Functions はお客様の Supabase プロジェクト上で動作します。デバイスの外に出るのは、Shortcut からお客様自身のプロジェクトの URL へ直接送信される HTTP POST だけです。

プライバシーポリシー

データを預かることは一切ありません。 health-mcp は、お客様が所有するインフラ上で実行するソフトウェアです。私たち(メンテナー)が、お客様の健康データやキーを参照するサーバーを運用することはありません。また、私たちに接続されたことがないため、私たちとの接続を解除する必要もありません。

  • お客様のデータは、お客様が作成した Supabase Postgres プロジェクト内にのみ保存されます。私たちはデータにアクセスできず、コピーも保持せず、閲覧する手段もありません。
  • お客様のキー(MCP_TOKEN、INGEST_KEY、Supabase のシークレットキー)は、お客様自身またはお客様のマシン上で実行されるウィザードが生成します。お客様自身の Supabase プロジェクトにシークレットとして保存され、stdio/.mcpb でインストールした場合は MCP クライアント(Claude Desktop/Claude Code)がローカルで保持し、お客様自身のプロジェクトの URL にのみ送信します。
  • Shortcut は、データをスマートフォンから Edge Function の URL へ直接送信します。私たちのサーバーを経由することはありません。
  • query ツールは SQL を読み取り専用の文に制限しており、実行に使うデータベースロール(health_reader)に付与されているのは SELECT 権限だけです。この制限はアプリケーションコードだけでなく、Postgres のレベルで強制されます。

その他のクライアント

Claude Desktop を使いたい場合、またはホスト型コネクターではなく自分でサーバーを実行したい場合も、どちらも手順 1 と同じ Supabase プロジェクトを使います。接続方法が異なるだけです。

Claude Desktop: health-mcp.mcpb をダウンロードしてダブルクリックし、プロンプトが表示されたら Supabase プロジェクトの URL とシークレットキーを貼り付けてください。

stdio MCP クライアント全般(Claude Code など):

claude mcp add health-mcp -e SUPABASE_URL=<url> -e SUPABASE_SECRET_KEY=<key> -- npx -y @almostjacked/health-mcp

リポジトリの構成

packages/core   @almostjacked/health-mcp-core — tools, ingest/normalization, setup.sql
apps/mcp        @almostjacked/health-mcp       — stdio server, .mcpb, setup wizard
web             the setup page (provision + import + Shortcut panels)
supabase/functions/health-mcp     the read connector (deployed to your project)
supabase/functions/health-ingest  the write endpoint the Shortcut posts to

開発

corepack enable
pnpm install
pnpm -r test
pnpm -r typecheck

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。