mcpField
W
wellness-cgm-mcp

wellness-cgm-mcp

ローカル
wellness.delx.aiヘルスケア13 週間前に更新

wellness-cgm-mcp について

wellness-cgm-mcpは、持続血糖モニターのデータをAIエージェントに提供するローカル優先のサーバーです。DexcomとLibreLink Up経由のFreeStyle Libreに対応し、プロバイダー未設定時は合成モックデータを利用できます。

主な機能

  1. 01DexcomとLibreの血糖データを取得
  2. 02血糖値と目標範囲内時間を集計
  3. 03食事への反応を分析し低血糖を検出
  4. 04要求期間に対する実データ範囲を報告
  5. 05認証情報なしで合成データを利用

活用シーン

  1. 01直近の血糖値と傾向を確認
  2. 02食事時刻と血糖反応を照合
  3. 03モックデータでエージェントのワークフローを試作
  4. 04指標を解釈する前に実データ範囲を確認

MCP 対応

MCPサーバーはstdioまたは任意のHTTPで、血糖値、集計、食事反応分析など19種類のCGMツールを公開します。認証情報は環境変数に保存され、外部リクエストは選択したCGMプロバイダーにのみ送信されます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"davidmosiah-wellness-cgm": {
"command": "npx",
"args": [
"-y",
"wellness-cgm-mcp"
]
}
}
}
起動コマンドnpx -y wellness-cgm-mcp

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

パッケージ
npmwellness-cgm-mcp0.4.0

ツール

19

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

パラメーター型必須説明
clientenumいいえclaude | codex | cursor | windsurf | hermes | openclaw | generic

詳細

Wellness CGM MCP

AI エージェント向けのローカル優先型持続血糖モニター MCP です。
Dexcom Developer API。Levels に対抗するパターン、エージェント優先、$0。

npm バージョン npm ダウンロード数 MIT ライセンス サイト

GitHub のスター数 MCP 向けに構築 Hermes OpenClaw

🩸 開発の理由:Levels は、まさにこれと同じこと――CGM の読み取り、食事との相関分析、血糖値の急上昇の検出――に月額 $199 を請求します。wellness-cgm-mcp は、無料でローカル優先の MCP として同じことを実現します。Stelo OTC + Dexcom developer API + お使いのエージェント + wellness-nourish = 代謝の全サイクルです。

⚡ ワンコマンドでインストール — 使用するランタイムを選択してください:


HTTP(v2 ステートレス)

デフォルトは stdio です。オプションで Streamable HTTP を使用できます。セッション ID は不要で、JSON レスポンスを返し、ループバックのみで動作します。

npx -y wellness-cgm-mcp --http
# GET  http://127.0.0.1:3000/health
# POST http://127.0.0.1:3000/mcp   (sessionless)

環境変数:WELLNESS_CGM_HOST、WELLNESS_CGM_PORT、WELLNESS_CGM_TRANSPORT=http。

概要

CGM データ(設定がない場合は合成モックデータも)を、MCP 対応のあらゆるエージェントに提供するローカル MCP サーバーです。2 つの実データバックエンドに対応しています:Dexcom(Developer API、サンドボックスと本番環境)と、LibreLink Up 経由の FreeStyle Libre(OTC センサー — Libre 2 / Libre 3)です。CGM_PROVIDER でバックエンドを選択します。Libre の認証情報のみが設定されている場合は、自動的に Libre が検出されます。どちらのバックエンドも、同じ ADA の目標範囲内時間 / GMI / 低血糖 / 食事反応エンジンにデータを提供します。

60 秒で試す(モックモード、セットアップ不要)

npx -y wellness-cgm-mcp doctor       # see env / mode
npx -y wellness-cgm-mcp status

# In Claude Desktop / Cursor / etc., add:
# {
#   "mcpServers": {
#     "wellness-cgm": {
#       "command": "npx",
#       "args": ["-y", "wellness-cgm-mcp"]
#     }
#   }
# }

エージェントが 10 個の CGM ツールを利用できるようになります。Dexcom のトークンがない場合、すべてのツールは mock: true のタグが付いた合成測定値を返します。プロトタイピングに最適です。

ライブセットアップ(Dexcom Developer)

# 1. Sign up at https://developer.dexcom.com (sandbox is free)
# 2. Create an app, register your redirect URI
export DEXCOM_ENV=sandbox
export DEXCOM_CLIENT_ID=...
export DEXCOM_CLIENT_SECRET=...
export DEXCOM_REDIRECT_URI=https://your.callback/redirect

# 3. Get the OAuth URL, open it, grant access, copy the code from the redirect
npx -y wellness-cgm-mcp authorize

# 4. Swap code for tokens
npx -y wellness-cgm-mcp exchange <auth_code_from_redirect>

# 5. Set DEXCOM_ACCESS_TOKEN to the access_token, restart the MCP — flips from mock to live.

ライブセットアップ(FreeStyle Libre — OTC センサー)

開発者プログラムへの登録も、アプリの構築も不要です。LibreLinkUp フォローアプリで使用しているものと同じメールアドレス/パスワードだけで利用できます(OTC の Libre 2/Libre 3 センサーに対応しています)。LibreLink アプリで測定値を共有し、LibreLinkUp アプリで招待を承認します。その後:

export CGM_PROVIDER=libre               # or just set the creds below and let it auto-detect
export [email protected]
export LIBRELINKUP_PASSWORD=...
# Optional: region shard if you're not on EU/global, and a pinned sensor:
export LIBRELINKUP_REGION=us            # eu (default) | us | de | fr | au | jp ...
# export LIBRELINKUP_PATIENT_ID=<id>    # only if you follow more than one sensor

# Verify credentials + list the sensor(s) you follow (never prints the token):
npx -y wellness-cgm-mcp libre-login

ログインすると、すべての血糖値ツール(cgm_glucose_now、cgm_daily_summary、cgm_time_in_range、cgm_meal_response、cgm_hypo_events、…)が Libre からデータを取得し、同じ ADA TIR/GMI/低血糖/食事応答指標を返します。各レスポンスには provider フィールドが含まれるため、データソースを常に確認できます。認証情報がない場合は、すべてのツールが合成された mock: true データを返します。

Libre の履歴制限:約12時間分/回

LibreLink Up のグラフエンドポイントは開始/終了パラメーターを受け取りません。常に独自の固定された直近約12時間分のデータを返します。24時間や72時間を要求しても範囲は広がらないため、Libre ではそれ以降の時間のデータは存在しません。

そのため、時間範囲を指定する各ペイロードには、実際に取得できた範囲が報告されます。

// cgm_daily_summary({ hours: 72 }) on live Libre
{
  "window_hours": 72,          // what you asked for
  "hours_covered": 12,         // what the numbers below are ACTUALLY computed over
  "observed_window": { "start": "…", "end": "…", "hours": 12 },
  "window_truncated_by_provider": true,
  "notes": ["LibreLink Up returns ~12h of graph data per read and ignores wider spans; requested 72h, covered 12h. …"]
}

要求した hours/window_hours ではなく、hours_covered を参照してください。12時間分に基づく GMI(推定 A1C)、CV、TIR は、3日分の結果ではありません。複数日にわたる指標には Dexcom を使用してください。Dexcom の v3 API は開始/終了時刻を指定でき、要求を反映します。モックモードでは要求された全期間のデータが合成されるため、期間が切り詰められることはありません。

開始/終了を明示する from/to を受け取る cgm_hypo_events にも同じことが当てはまります。「低血糖イベントなし」という結果が示すのは、hours_covered の範囲に限られます。ライブの Libre データに基づいて3日間について質問した場合、回答は12時間分のものです。ペイロードにはその旨が hours_covered、observed_window.hours、window_truncated_by_provider、notes に示されます。(events_per_day は、要求した期間ではなく観測期間を分母とするため、どちらの場合も安全に利用できます。ただし、その周囲の情報はそうではありません。)

window_truncated_by_provider は構造上の項目であり、実際の取得結果を示すものではありません

この項目が答えるのは「このプロバイダーはこれほど長い期間をカバーできますか?」であり、「今回の読み取り結果は短かったですか?」ではありません。センサーを装着してから2時間後に cgm_daily_summary({ hours: 12 }) を実行すると、hours_covered: 2、window_truncated_by_provider: false、空の notes が返されます。問題は発生しておらず、ここで警告を出すと誤警報になるためです。これは意図された動作です。

空の notes が意味するのは「プロバイダーの既知の上限には達していない」であり、「ウィンドウ全体をカバーした」ではありません。 実際の期間を示すのは hours_covered だけです。期間を報告する前に、hours_requested と比較してください。

ツール(19)

ツール目的
cgm_agent_manifest実行時の仕様
cgm_capabilitiesプロバイダー、指標、プライバシーモード
cgm_connection_statusenv、認証情報、モード(ライブ/モック)
cgm_privacy_auditローカルストレージと外部送信先
cgm_data_inventory指標カタログ、TIR 範囲、GMI の計算式
cgm_glucose_now最新の EGV と傾向
cgm_glucose_window直近 N 時間分のすべての EGV(および hours_covered — Libre の約12時間制限を参照)
cgm_daily_summary平均/GMI/CV/2種類の TIR プロファイル — 要求したウィンドウではなく hours_covered に基づく
cgm_meal_response基準値 → ピーク値 → 回復値と範囲
cgm_authorize_urlDexcom OAuth URL ビルダー
cgm_hypo_events低血糖イベントの検出(ADA レベル1 < 70、レベル2 < 54)—「イベントなし」が適用されるのは hours_covered の範囲のみ
cgm_libre_statusFreeStyle Libre(LibreLink Up)の設定、地域、モード — v0.4
cgm_libre_loginLibreLink Up へのログインとフォロー中のセンサー一覧 — v0.4

表を簡潔にするため、共有のプロフィール/オンボーディング/クイックスタート/デモ用ヘルパー(cgm_profile_get、cgm_profile_update、cgm_onboarding、cgm_quickstart、cgm_demo)は省略しています。常に最新の全ツール一覧は cgm_agent_manifest を呼び出して確認してください。

すべてのサマリーに2種類のTime-In-Rangeプロファイル

  • 糖尿病(70-180 mg/dL)— 糖尿病の成人に対するADA標準です。
  • 代謝の健康(70-140 mg/dL)— 糖尿病でないユーザー向けのLevels式です。

エージェントは両方を提示するため、ユーザーは自身の状況に合った方を選べます。

食事の反応バンド

ベースラインからのピークΔバンド
< 30 mg/dL優秀
30-49良好
50-79中程度
≥ 80不良

wellness-nourishと組み合わせることで、「何を食べたか → どうなったか」を自動的に算出できます。

画期的な組み合わせ

wellness-nourish: meal at 13:15 (rice + chicken)
       ↓
wellness-cgm-mcp.cgm_meal_response(meal_time)
       ↓
{ peak: 167, peak_delta: 72, band: "moderate", peak_time_minutes: 45 }
       ↓
whoop-mcp.recovery: 67%
       ↓
Agent: "That meal hit a moderate spike (peak +72 mg/dL at 45 min)
        AND recovery is borderline. Try protein-first next time, or
        swap white rice for lentils — should drop the peak ~30 mg/dL."

Levelsではこれに月額199ドルかかります。こちらは無料で、ローカルファースト、MCPです。

プライバシー

  • ✅ 認証情報はローカルのみ — DEXCOM_ACCESS_TOKEN / LIBRELINKUP_* は環境変数に保持されます。LibreLink Upの認証トークンがツールの出力に返されることはありません。
  • ✅ デフォルトでモックモード — プロバイダーが設定されるまで、すべてのツールはmock: trueを伴う合成データを返します。
  • ✅ サードパーティへのテレメトリーなし — 外部への呼び出しは、CGMプロバイダー(Dexcom、またはLibreの場合はAbbottのLibreLink Up API)にのみ行われます。

wellness-cgm-mcp doctorを実行して確認してください。

ロードマップ

  • ✅ v0.4 — LibreLink Up経由のFreeStyle Libre(OTCセンサー)。リリース済み。
  • 次回 — リフレッシュトークンのローテーション。食事ごとの履歴ブラウザー(どの食品であなたの血糖値が急上昇するか?)。しきい値アラート(血糖値がX mg/dLをY分間超えたときにエージェントに通知)。wellness-nourishとの食事横断自動化。

このプロジェクトの対象外

  • 医療上の助言や診断ではありません。
  • インスリン/薬剤の投与量を決めるためのものではありません。医療従事者の指示に従ってください。
  • DexcomまたはAbbottとは提携していません。

📧 お問い合わせとサポート

ライセンス

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

wellness-cgm-mcpは独立したオープンソースソフトウェアです。DexcomおよびFreeStyle Libreは、それぞれの所有者の商標です。いずれの企業もこのプロジェクトとは提携しておらず、推奨もしていません。

スキルまたはMCP

同じパッケージに、2つの利用方法があります。MCPはstdio/HTTP上でツールを登録します。スキルを使えば、クライアントにMCPがない場合でも、CLI経由で同じツールを利用できます。

npx -y wellness-cgm call cgm_connection_status --json '{}'

skill/SKILL.mdをエージェントのスキルディレクトリにコピーしてください。

コメント

MCP は初めてですか?

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

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