MCP Nightcout
一 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-token2.使用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 | 克劳德代码CLI |
| 路径中的令牌 | POST /mcp/ | 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添加新工具
- 将API调用添加到
src/nightscout_client.py如有需要 - 添加a
@mcp.tool()函数输入src/server.py带有清晰的文档字符串 - 测试用
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 EasyWeek GmbH
