Skip to main content
Glama
oliver-virt

nightscout-mcp

by oliver-virt

nightscout-mcp

Nightscout のデータを Claude に公開する、読み取り専用の MCP サーバーです。

「今の血糖値はどうなってる?」「今週のタイム・イン・レンジはどうだった?」「まだ効いているインスリンはどのくらい?」 と尋ねると、自分のデータから答えが得られます。

医療機器ではありません。 これは、あなたがすでに持っているデータを読み取り専用で表示するものです。治療の判断に使用しないでください。重要なことは、CGM、ポンプ、医師に確認してください。測定値は古くなっていたり、欠落していたり、間違っていたりする可能性があり、LLM が誤って解釈する可能性もあります。

動作イメージ

あなた: この2週間、夜間の血糖値はどうでしたか?

Claude: (glucose_patterns を呼び出し)

深夜に一貫して低くなっていますね。一度きりではなく、パターンとして:

時間

中央値

70未満の割合

01:00

112

4%

02:00

94

18%

03:00

77

31%

04:00

89

22%

05:00

108

9%

03:00 は、1日の中で群を抜いて悪い時間帯です。およそ3晩に1回はその時間帯に70を下回り、05:00 までには自然に戻っています。このパターンは、基礎レートを管理している人に見せる価値があります。

あなた: すぐに変更が必要なものはありますか?

Claude: (get_site_agesget_device_status を呼び出し)

センサーは9日目なので、あと1日ほどで交換時期です。カニューレは2日目です。ポンプのリザーバーは18単位、ポンプのバッテリーは22%です。これは明日ではなく、今夜対応すべきものです。

(数値は例であり、実際のデータではありません。)

Related MCP server: T1D Manager

ツール

現在の状態

ツール

戻り値

get_current_glucose

最新の測定値、トレンド方向、経過時間

get_recent_glucose

過去N時間(デフォルト3時間)の測定値

get_insulin_on_board

アクティブなインスリンと炭水化物(Loop/AAPS)

get_device_status

ポンプのリザーバーとバッテリー、アップローダーのバッテリー、ループの健全性

get_site_ages

カニューレ、センサー、インスリン、ポンプバッテリーの経過日数

期間集計

ツール

戻り値

time_in_range

低/範囲内/高の割合、平均、GMI、CV%(デフォルト24時間)

glucose_patterns

時間帯別の血糖値 — 実際に低くなる/高くなる時間帯

compare_periods

直近N日間とその前のN日間の比較(差分付き)

get_recent_treatments

ボーラス、炭水化物、サイト交換(デフォルト12時間)

リファレンス

ツール

戻り値

get_profile

基礎レート、ISF、炭水化物比、目標値

server_status

Nightscout のバージョンと設定済みのしきい値

glucose_patterns は特に知っておく価値があります。「血糖値はどうなっているか」はグラフで答えられる質問ですが、「一日のうちどの時間帯に確実に低くなるか」はグラフでは答えられません。モデルが2週間分の測定値から見つけ出すのに適した種類の質問です。時間帯は Nightscout プロファイルのタイムゾーンでビン化されるため、午前3時はあなたの午前3時を意味します。

書き込みツールはありません。このサーバーは Nightscout の何も変更できません。

意図的に公開していないもの

Nightscout の ボーラスウィザードプレビュー (bwp) は 推奨インスリン量 を返します。これを表示すると、データを表示するものから治療を提案するものに変わってしまいます。これは、あなたにとっても、そのようなソフトウェアの規制の面でも、まったく別のものです。補正を計算するものについても同じ理由です。ここにあるすべてのツールは読み取り専用です。

セキュリティ

これは個人の健康データをパブリックインターネット上で提供するため、デフォルトは意図的に厳格になっています。

  • ベアラートークンが必須で、サーバーはトークンなしでは起動しません。 「変数を忘れた場合の未認証モード」はありません。それは、デプロイ時に気づかれない失敗だからです。

  • 上流への最小権限。 Nightscout への読み取りは 読み取り可能な アクセストークンで行い、管理者の API_SECRET は決して使いません。このサーバーが完全に侵害されても、Nightscout に書き込むことはできません。

  • 定数時間のトークン比較 により、応答時間からベアラートークンを1文字ずつ復元することはできません。

  • エラーはサニタイズされます。 Nightscout はクエリパラメータで認証するため、トークンはリクエスト URL に含まれます。上流の障害は、パスとステータスのみを名前として再発生させ、資格情報をログやクライアントから見えるエラーに残しません。

  • 転送ヘッダーは、指定したプロキシからのみ信頼されます (TRUSTED_PROXY_IPS)。未設定の場合は誰も信頼しません。

  • コンテナ内では非 root ユーザーとして実行されます。

/health は唯一の認証不要ルートです。固定の {"ok": true} を返し、何も読み取りません。

セットアップ

1. 読み取り専用の Nightscout トークンを作成する

Nightscout で: Admin Tools → Subjects → Addreadable ロールのみを付与します。claude-1a2b3c4d5e6f7890 のようなトークンが得られます。

API_SECRET は使用しないでください。ここでは何も書き込まないため、書き込みアクセスを渡しても何も得られず、トークンが漏れた場合にすべてを失うことになります。

2. 設定

cp .env.example .env
# edit .env — at minimum NS_URL, NS_TOKEN, MCP_BEARER

自分で考えたものではないベアラートークンを生成します:

python3 -c "import secrets; print(secrets.token_urlsafe(32))"

3. 実行

docker build -t nightscout-mcp .
docker run -d --name nightscout-mcp --env-file .env -p 8787:8787 nightscout-mcp

または Docker なしで:

pip install -r requirements.txt
set -a && source .env && set +a
python server.py

4. HTTPS の背後に配置する

サーバーは平文の HTTP を話し、TLS はその前で終端することを想定しています (Traefik、Caddy、nginx、Cloudflare Tunnel など)。Claude はあなたのデバイスからではなく Anthropic のサーバーから接続するため、URL はパブリックインターネットから到達可能である必要があります。

プロキシが X-Forwarded-* を設定する場合は、それを指定します:

TRUSTED_PROXY_IPS=172.18.0.0/16

5. Claude に接続する

Claude で: Customize → Connectors → Add custom connector

  • URL: https://your-host.example.com/mcp/

  • Request headers を開き、authorization を追加し、値に Bearer <your MCP_BEARER> を指定します。

Bearer という単語とスペースを含めて値を入力してください。Claude はヘッダーをそのまま送信し、独自のプレフィックスは追加しません。

リクエストヘッダー認証は Claude のベータ版です。Request headers セクションが表示されない場合は、Anthropic にアクセスを依頼してください。Claude Code は、独自の MCP 設定を介して同じサーバーを今日から使用できます。

単位

NS_UNITS=mg/dl (デフォルト) または mmol。これは値の表示方法にのみ影響します。Nightscout は常に mg/dL で読み取られ、出力時に変換されます。

Nightscout との関係

これは独立したプロジェクトです。Nightscout Foundation とは提携しておらず、承認も受けておらず、その一部でもありません。

Nightscout 自体 (cgm-remote-monitor) は AGPL-3.0 でライセンスされています。このサーバーには Nightscout のコードは含まれておらず、Nightscout のライブラリにもリンクしていません。実行中のインスタンスの REST API に HTTP リクエストを行うだけです。API を間接的に利用しても二次的著作物は生じず、AGPL のネットワーク条項は対象プログラムの変更を条件としていますが、このサーバーは変更を行いません。したがって、Nightscout のコピーレフトはここには及ばず、このプロジェクトは別途ライセンスされています。

これをフォークして Nightscout のソースコードを組み込んだ場合、その推論はあなたのフォークには適用されなくなります。

ライセンス

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

リーチを考慮して選択しました。これは小さなコネクタであり、その価値は誰でも10分で実行できることです。コピーレフトは、一般的なケース (1人が自分のデータのために自己ホストするケース) では誰も保護しません。

A
license - permissive license
Not graded
quality - not tested
B
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 Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to query glucose data from health storage APIs, providing natural language access to glucose readings, trends, and statistics for diabetes management and health monitoring.
    3
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables Type 1 diabetes patients and caregivers to monitor real-time blood glucose from Dexcom Share, calculate insulin doses, and receive empathetic AI-powered sick day care guidance through natural language interactions.
    1
  • A
    license
    Not graded
    quality
    C
    maintenance
    Connects AI assistants to Nightscout for real-time glucose monitoring, analysis, and treatment logging, enabling natural language interaction with CGM data.
    4
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to access and analyze Continuous Glucose Monitor (CGM) data from Nightscout, providing real-time readings, history, and analytics.
    7
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Glucose readings from your LibreLink Up sensor: graph, logbook, stats and summaries (read-only). Sec

  • GibsonAI MCP server: manage your databases with natural language

  • Ask your app anything — revenue, errors, read-cost, growth — and get rendered charts back.

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/oliver-virt/nightscout-mcp'

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