nightscout-mcp
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_ages및get_device_status호출)센서는 9일째라 약 하루 후에 만료됩니다. 캐뉼라는 2일째입니다. 펌프 리저버는 18단위, 펌프 배터리는 22%입니다. 이건 내일보다는 오늘 밤에 처리하는 게 좋겠네요.
(예시 수치이며, 실제 데이터가 아닙니다.)
Related MCP server: T1D Manager
도구
현재 상태
도구 | 반환 내용 |
| 최신 수치, 추세 방향, 경과 시간 |
| 지난 N시간(기본 3시간) 동안의 수치 |
| 활성 인슐린 및 탄수화물 (Loop/AAPS) |
| 펌프 리저버 및 배터리, 업로더 배터리, 루프 상태 |
| 캐뉼라, 센서, 인슐린, 펌프 배터리 사용 기간 |
시간 경과
도구 | 반환 내용 |
| 저/범위 내/고 비율, 평균, GMI, CV% (기본 24시간) |
| 시간대별 혈당 — 실제로 낮거나 높게 유지되는 시점 |
| 최근 N일과 그 이전 N일 비교, 변화량 포함 |
| 볼루스, 탄수화물, 부위 교체 (기본 12시간) |
참고
도구 | 반환 내용 |
| 기저율, ISF, 탄수화물 비율, 목표치 |
| 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.py4. HTTPS 뒤에 배치
서버는 일반 HTTP를 사용하며 앞단에서 TLS 종료를 기대합니다(Traefik, Caddy, nginx, Cloudflare Tunnel 등 무엇이든). Claude는 당신의 기기가 아닌 Anthropic 서버에서 연결하므로 URL은 공개 인터넷에서 접근 가능해야 합니다.
프록시가 X-Forwarded-*를 설정한다면, 해당 프록시를 지정하십시오:
TRUSTED_PROXY_IPS=172.18.0.0/165. 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분 안에 실행할 수 있는 작은 커넥터입니다. 카피레프트는 일반적인 경우(한 사람이 자신의 데이터를 위해 자체 호스팅하는 경우)에 아무도 보호하지 못할 것입니다.
This server cannot be installed
Maintenance
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
- FlicenseAqualityDmaintenanceEnables 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
- FlicenseNot gradedqualityDmaintenanceEnables 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
- AlicenseNot gradedqualityCmaintenanceConnects AI assistants to Nightscout for real-time glucose monitoring, analysis, and treatment logging, enabling natural language interaction with CGM data.4MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to access and analyze Continuous Glucose Monitor (CGM) data from Nightscout, providing real-time readings, history, and analytics.71MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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