nightscout-mcp
nightscout-mcp
Сервер MCP только для чтения, который предоставляет ваши данные Nightscout в Claude.
Спросите «что у меня с глюкозой?», «каким был мой диапазон на этой неделе?» или «сколько инсулина ещё активно?» — и получите ответ на основе ваших собственных данных.
Не медицинское устройство. Это представление ваших данных только для чтения. Не принимайте решений о лечении на его основе. Подтверждайте всё, что имеет значение, по данным CGM, помпы и врача. Показания могут быть устаревшими, отсутствовать или быть неверными, а LLM может их неправильно интерпретировать.
Как это выглядит
Вы: что делала моя глюкоза ночью за последние две недели?
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 — худший час вашего дня с большим отрывом: примерно одна ночь из трёх в это время опускается ниже 70, и к 05:00 уровень восстанавливается сам. Такую картину стоит показать тому, кто управляет вашими базальными скоростями.
Вы: что-нибудь нужно скоро изменить?
Claude: (вызывает
get_site_agesиget_device_status)Сенсору 9 дней, так что он истекает примерно через день. Канюля — 2 дня. Резервуар помпы показывает 18 единиц, а батарея помпы — 22%. Вот это я бы решил сегодня вечером, а не завтра.
(Иллюстративные цифры, не чьи-то реальные данные.)
Related MCP server: MCP Nightscout
Инструменты
Сейчас
Инструмент | Возвращает |
| Последнее показание, направление тренда и его давность |
| Показания за последние N часов (по умолчанию 3) |
| Активный инсулин и углеводы на борту (Loop/AAPS) |
| Резервуар и батарея помпы, батарея аплоадера, состояние цикла |
| Возраст канюли, сенсора, инсулина и батареи помпы |
За период
Инструмент | Возвращает |
| Низкий / в диапазоне / высокий, среднее, GMI, CV% (по умолчанию 24ч) |
| Глюкоза по часам суток — когда у вас реально низкие или высокие показатели |
| Последние N дней против предыдущих N, с дельтами |
| Болюсы, углеводы и смены мест (по умолчанию 12ч) |
Справочно
Инструмент | Возвращает |
| Базальные скорости, ISF, углеводный коэффициент, цели |
| Версия Nightscout и настроенные пороги |
glucose_patterns — тот, который стоит знать. «Что у меня с глюкозой» — вопрос, на который уже отвечает график; «в какое время суток у меня стабильно низкие показатели» — на него график не отвечает, и именно это модель хорошо умеет вычленять из двух недель показаний. Часы группируются в часовом поясе вашего профиля Nightscout, так что 3 часа ночи — это ваши 3 часа ночи.
Инструментов для записи нет. Сервер не может ничего изменить в Nightscout.
Сознательно не раскрыто
Предпросмотр болюсного мастера Nightscout (bwp) возвращает предлагаемое количество инсулина. Его отображение превратило бы это из инструмента, показывающего ваши данные, в инструмент, предлагающий лечение, — совсем другое дело, как для вас, так и для регулирования такого ПО. То же касается всего, что вычисляет коррекцию. Каждый инструмент здесь — только чтение.
Безопасность
Этот сервер передаёт личные медицинские данные через публичный интернет, поэтому настройки по умолчанию намеренно строгие:
Требуется bearer-токен, и сервер отказывается запускаться без него. Нет режима «без аутентификации, если забыл переменную» — это тот сбой, который развёртывание не замечает.
Минимальные привилегии на стороне источника. Он читает Nightscout с читаемым токеном доступа, никогда не используя административный
API_SECRET. Даже полная компрометация этого сервера не позволит записать что-либо в ваш Nightscout.Сравнение токенов за постоянное время, чтобы по времени ответа нельзя было восстановить bearer посимвольно.
Ошибки очищаются. Nightscout аутентифицируется через параметр запроса, поэтому токен находится в URL запроса; ошибки вышестоящего сервиса перевыбрасываются с указанием только пути и статуса, не допуская попадания учётных данных в логи и видимые клиенту ошибки.
Пересылаемые заголовки доверяются только прокси, которые вы указали, через
TRUSTED_PROXY_IPS. Если не задано — не доверять никому.Работает от непривилегированного пользователя в контейнере.
/health — единственный маршрут без аутентификации. Он возвращает фиксированный {"ok": true} и ничего не читает.
Настройка
1. Создайте токен Nightscout только для чтения
В Nightscout: Admin Tools → Subjects → Add. Дайте ему только роль readable. Вы получите токен вида claude-1a2b3c4d5e6f7890.
Не используйте свой API_SECRET. Здесь ничего не записывается, так что предоставление прав на запись ничего вам не даёт, но стоит всего, если токен утечёт.
2. Настройка
cp .env.example .env
# edit .env — at minimum NS_URL, NS_TOKEN, MCP_BEARERСгенерируйте 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: Customize → Connectors → Add custom connector
URL:
https://your-host.example.com/mcp/Откройте Request headers, добавьте
authorizationсо значениемBearer <ваш MCP_BEARER>
Введите значение, включая слово Bearer и пробел — Claude отправляет заголовок как есть и не добавляет своего префикса.
Аутентификация через заголовок запроса — бета-функция Claude. Если вы не видите раздел Request headers, запросите доступ у Anthropic. Claude Code может использовать этот же сервер уже сегодня через свою собственную конфигурацию MCP.
Единицы измерения
NS_UNITS=mg/dl (по умолчанию) или mmol. Это влияет только на представление значений; Nightscout всегда читается в мг/дл и конвертируется на выходе.
Отношение к Nightscout
Это независимый проект. Он не аффилирован с Nightscout Foundation, не одобрен им и не является его частью.
Сам Nightscout (cgm-remote-monitor) распространяется под лицензией AGPL-3.0. Этот сервер не содержит кода Nightscout и не подключает библиотек Nightscout — он только делает HTTP-запросы к REST API работающего экземпляра. Потребление API на расстоянии не создаёт производного произведения, а сетевое условие AGPL обусловлено модификацией покрываемой программы, чего здесь не происходит. Поэтому копилефт Nightscout не распространяется на этот проект, и он лицензирован отдельно.
Если вы форкнете этот проект и включите в него какой-либо исходный код Nightscout, эти рассуждения перестанут применяться к вашему форку.
Лицензия
MIT — см. LICENSE.
Выбор сделан в пользу доступности: это небольшой коннектор, ценность которого в том, что любой может запустить его за десять минут. Копилефт никого не защитил бы в типичном случае, а типичный случай — это один человек, размещающий его для своих собственных данных.
This server cannot be deployed
Maintenance
Related MCP Connectors
- NightscoutOAuthai.b77
Your Nightscout glucose data, conversational.
Glucose readings from your LibreLink Up sensor: graph, logbook, stats and summaries (read-only). Sec
Ask your databases questions in plain English, run read-only SQL and set up data alerts.
Your own SLATE health data in your AI assistant: read, trend, plan and log. Never suggests a dose.
Related MCP Servers
- 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 gradedqualityDmaintenanceConnects AI assistants to Nightscout for real-time glucose monitoring, analysis, and treatment logging, enabling natural language interaction with CGM data.7MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to access and analyze Continuous Glucose Monitor (CGM) data from Nightscout, providing real-time readings, history, and analytics.71MIT
- FlicenseAqualityDmaintenanceBridges your Nightscout CGM data with AI assistants via the Model Context Protocol, enabling natural language queries about glucose readings, treatments, statistics, and pattern analysis.21-