糖尿病监测AI集成服务

一个通过MCP协议将AI助手与开源糖尿病远程监控平台Nightscout连接的服务,支持血糖数据读取、模式分析、治疗记录等功能。

  • by b77ai
  • Python
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 easyweek/mcp-nightscout

使用说明

MCP Nightcout by B77.ai

一 MCP(模型上下文协议) 将AI助手连接到的服务器 Nightcout --用于1型糖尿病管理的开源CGM远程监测平台。

内置于 FastMCP,该服务器将Nightscout数据作为MCP工具公开,使Claude等AI助手能够读取葡萄糖数据、分析模式、记录治疗情况等。

特性

葡萄糖监测

  • get_current_glucose --最新CGM读数,包括数值、趋势箭头和设备信息
  • get_recent_glucose --最近读数(默认值:最近3小时)
  • 获取_葡萄糖_日期_范围 --特定日期范围的读数

分析

  • 计算时间_范围 --TIR统计数据,包括细分(范围内、低于、高于、非常低、非常高)、估计A1C和变异系数
  • get_daily_lucose_stats --每日统计数据,每小时平均值
  • 分析葡萄糖模式 --多日模式分析,按时间识别反复出现的高点/低点

治疗方法

  • get_recent_治疗 --最近的胰岛素剂量、碳水化合物摄入、体温基线、注意事项
  • 获取治疗_日期 --针对特定日期范围的治疗
  • 对数处理 --记录新的治疗(药丸、碳水化合物、运动、笔记等)
  • 移除治疗 --按ID删除治疗

设备和配置文件

  • get_insulin-on-board --来自回路/泵装置状态的当前IOB
  • get_latest_device_status --泵状态、回路决策、CGM状态
  • 服务器状态 --Nightscout服务器版本、插件、阈值、单位
  • get_current配置文件 --基础心率、ISF、IC比值、目标血糖、DIA
  • update_nightscout.profile --更新配置文件设置

快速开始

1.克隆和配置

git clone https://github.com/easyweek/mcp-nightscout.git
cd mcp-nightscout
cp .env.example .env

编辑 .env 使用您的Nightcout实例详细信息:

NIGHTSCOUT_URL=https://your-nightscout.example.com
NIGHTSCOUT_TOKEN=your-readable-token
MCP_AUTH_TOKEN=your-secret-mcp-token

2.使用Docker运行

docker compose up --build

服务器启动于 http://localhost:8000.

3.联系克劳德

克劳德代码(CLI)

添加到MCP设置中:

{
  "mcpServers": {
    "nightscout": {
      "type": "http",
      "url": "http://localhost:8000/mcp",
      "headers": {
        "Authorization": "Bearer your-secret-mcp-token"
      }
    }
  }
}

Claude.ai(远程)

部署到公共URL时,使用路径格式的令牌进行连接:

https://your-server.example.com/mcp/your-secret-mcp-token

认证

服务器支持MCP客户端的两种身份验证模式:

方法 格式 用例
承载头 Authorization: Bearer <token> 克劳德代码CLI
路径中的令牌 POST /mcp/<token> Claude.ai连接器

这 /health 端点始终处于打开状态(不需要身份验证)。

集 MCP_AUTH_TOKEN 以启用身份验证。如果未设置,服务器将在没有身份验证的情况下运行(仅适用于本地开发)。

Nightcout身份验证

使用连接到您的Nightcout实例 要么:

  • API机密 (NIGHTSCOUT_API_SECRET)--您的明文秘密的SHA1哈希:
    echo -n "your-secret" | shasum -a 1 | awk '{print $1}'
    
  • 可读令牌 (NIGHTSCOUT_TOKEN)--在Nightscout管理工具中创建

发展

在本地运行(不使用Docker)

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn src.server:app --host 0.0.0.0 --port 8000 --log-config src/log_config.yaml

运行测试

pip install pytest pytest-asyncio
pytest tests/

项目结构

src/
  server.py             # MCP tools, auth middleware, health endpoint
  nightscout_client.py  # HTTP client for Nightscout REST API v1
  log_filter.py         # Filters /health from access logs
  log_config.yaml       # JSON logging configuration
tests/
  test_auth.py          # Auth middleware tests

添加新工具

  1. 将API调用添加到 src/nightscout_client.py 如有需要
  2. 添加a @mcp.tool() 功能 src/server.py 带有清晰的文档字符串
  3. 测试用 docker compose up --build

环境变量

变量 必填 默认 描述
NIGHTSCOUT_URL 是 -- Nightscout实例基URL
NIGHTSCOUT_API_SECRET 无* - neneneba API机密(SHA1哈希)
NIGHTSCOUT_TOKEN 无* -- 可读令牌
NIGHTSCOUT_TIMEOUT 没有 30 请求超时(秒)
MCP_AUTH_TOKEN 无 -- MCP服务器身份验证令牌

*其中之一 NIGHTSCOUT_API_SECRET 或 NIGHTSCOUT_TOKEN 是必需的。

许可证

麻省理工学院 --版权所有(c)-2026 B77.ai(易周刊有限公司)