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는 하루 중 가장 나쁜 시간대이며, 다른 시간대와 큰 차이를 보입니다. 대략 3일에 한 번꼴로 그 시간에 70 아래로 떨어지고, 05:00까지 스스로 회복됩니다. 이 패턴은 기저율을 관리하는 사람에게 보여줄 가치가 있습니다.

당신: 곧 바꿔야 할 것이 있나?

Claude: (get_site_agesget_device_status 호출)

센서는 9일째라 약 하루 후에 만료됩니다. 캐뉼라는 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에 쓸 수 없습니다.

  • 일정 시간 비교 토큰 검증으로, 응답 시간을 이용해 베어러를 한 글자씩 복구할 수 없습니다.

  • 오류는 정화됩니다. Nightscout은 쿼리 매개변수로 인증하므로 토큰이 요청 URL에 포함됩니다. 업스트림 오류는 경로와 상태만 명시하여 다시 발생시키므로 자격 증명이 로그나 클라이언트에 노출되지 않습니다.

  • 전달된 헤더는 지정한 프록시에서만 신뢰하며, TRUSTED_PROXY_IPS로 설정합니다. 설정하지 않으면 아무도 신뢰하지 않습니다.

  • 컨테이너에서 비루트 사용자로 실행됩니다.

/health는 유일한 인증 없는 경로입니다. 고정된 {"ok": true}를 반환하며 아무것도 읽지 않습니다.

설정

1. 읽기 전용 Nightscout 토큰 만들기

Nightscout에서: 관리 도구 → 대상 → 추가. readable 역할만 부여하십시오. 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에서: 사용자 지정 → 커넥터 → 사용자 지정 커넥터 추가

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

  • 요청 헤더를 열고, authorization을 추가하고 값은 Bearer <your MCP_BEARER>로 설정

Bearer 단어와 공백을 포함하여 값을 입력하십시오. Claude는 헤더를 그대로 보내며 자체 접두사를 추가하지 않습니다.

요청 헤더 인증은 Claude 베타 기능입니다. 요청 헤더 섹션이 보이지 않으면 Anthropic에 액세스를 요청하십시오. Claude Code는 자체 MCP 구성을 통해 오늘 이 서버를 사용할 수 있습니다.

단위

NS_UNITS=mg/dl(기본값) 또는 mmol. 이는 값이 표시되는 방식에만 영향을 줍니다. Nightscout은 항상 mg/dL로 읽고 변환하여 출력합니다.

Nightscout과의 관계

이 프로젝트는 독립 프로젝트입니다. Nightscout 재단과 제휴, 보증, 또는 일부가 아닙니다.

Nightscout 자체(cgm-remote-monitor)는 AGPL-3.0으로 라이선스됩니다. 이 서버는 Nightscout 코드를 포함하지 않으며 Nightscout 라이브러리를 연결하지 않습니다. 실행 중인 인스턴스의 REST API에 HTTP 요청만 할 뿐입니다. API를 일정 거리에서 소비하는 것은 파생 저작물을 만들지 않으며, AGPL의 네트워크 조항은 적용 대상 프로그램을 수정하는 경우에 조건이 걸려 있는데 이 서버는 그렇게 하지 않습니다. 따라서 Nightscout의 카피레프트는 여기에 적용되지 않으며, 이 프로젝트는 별도로 라이선스됩니다.

이 프로젝트를 포크하여 Nightscout 소스 코드를 포함하면, 그 추론은 당신의 포크에는 적용되지 않습니다.

라이선스

MIT — LICENSE 참조.

도달 범위를 위해 선택했습니다: 이는 누구나 10분 안에 실행할 수 있는 작은 커넥터입니다. 카피레프트는 일반적인 경우(한 사람이 자신의 데이터를 위해 자체 호스팅하는 경우)에 아무도 보호하지 못할 것입니다.

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