返回市场
自由链接-MCP服务器

自由链接-MCP服务器

作者:amansk6 星标更新:2025-07-23

项目介绍

LibreLink MCP Server

License: MIT Node.js Version TypeScript

一个本地的 Model Context Protocol (MCP) 服务器,提供给 Claude Desktop 安全访问您的 FreeStyle LibreLink 连续葡萄糖监测(CGM)数据。

LibreLink MCP Demo

🌟 特性

  • 实时葡萄糖监测 - 获取带有趋势箭头的当前读数
  • 历史数据分析 - 检索自定义时间段内的葡萄糖历史数据
  • 全面分析 - 时间在范围内、GMI、变异性指标
  • 模式识别 - 黎明现象、餐后反应、稳定性分析
  • 隐私优先设计 - 所有数据保留在您的机器上
  • 安全凭证管理 - 本地加密存储
  • 跨平台健康集成 - 可与其他健康 MCP 服务器一起工作

📋 先决条件

  • LibreLink 账户:具有葡萄糖数据的活跃 FreeStyle LibreLink 账户
  • 兼容传感器:启用数据共享的 FreeStyle Libre 2 或 3
  • Node.js:版本 18.0.0 或更高
  • Claude Desktop:用于 MCP 集成

🚀 快速开始

1. 安装

# 克隆仓库
git clone https://github.com/yourusername/librelink-mcp-server.git
cd librelink-mcp-server

# 安装依赖
npm install

# 构建项目
npm run build

2. 配置

# 配置您的 LibreLink 凭证
npm run configure

您将被提示输入:

  • 邮箱:您的 LibreLink 账户邮箱
  • 密码:您的 LibreLink 账户密码
  • 区域:美国或欧盟(基于您的位置)
  • 目标范围:葡萄糖目标范围(默认:70-180 mg/dL)

3. 测试连接

# 测试您的 LibreLink 连接
node test-real-connection.js

4. Claude Desktop 集成

添加到您的 Claude Desktop 配置文件:

macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "librelink": {
      "command": "node",
      "args": ["/path/to/librelink-mcp-server/dist/index.js"]
    }
  }
}

5. 重启 Claude Desktop

重启 Claude Desktop 以加载新的 MCP 服务器。

🩸 使用示例

一旦与 Claude Desktop 集成,您可以询问:

基本葡萄糖查询

  • "我的当前葡萄糖水平是多少?"
  • "显示我过去6小时的葡萄糖读数"
  • "今天我的平均葡萄糖水平是多少?"

分析与见解

  • "计算本周的时间在范围内"
  • "分析我的葡萄糖模式和趋势"
  • "我有黎明现象吗?"
  • "我的夜间葡萄糖水平有多稳定?"

健康相关性

当结合其他健康 MCP 服务器时:

  • "我的睡眠质量如何影响我的葡萄糖控制?"
  • "比较我的葡萄糖变异性与我的压力水平"
  • "展示补充剂对葡萄糖稳定性的影响"

🛠 可用的 MCP 工具

工具描述参数
get_current_glucose实时葡萄糖读数及趋势
get_glucose_history历史葡萄糖数据hours(默认:24)
get_glucose_stats统计和时间在范围内days(默认:7)
get_glucose_trends模式分析period(每日/每周/每月)
get_sensor_info传感器状态和信息
configure_credentials更新 LibreLink 凭证email, password, region
configure_ranges设置目标葡萄糖范围target_low, target_high
validate_connection测试 LibreLink 连接

📊 示例输出

当前葡萄糖读数

{
  "current_glucose": 105,
  "timestamp": "2025-07-14T21:19:24.000Z",
  "trend": "平稳",
  "status": "正常",
  "color": "绿色"
}

葡萄糖统计

{
  "analysis_period_days": 7,
  "average_glucose": 93.46,
  "glucose_management_indicator": 5.55,
  "time_in_range": {
    "target_70_180": 100.0,
    "below_70": 1.0,
    "above_180": 0.0
  },
  "variability": {
    "标准差": 7.52,
    "变异系数": 8.04
  }
}

趋势分析

{
  "period": "每日",
  "patterns": [
    "良好的餐后葡萄糖控制",
    "优秀的夜间葡萄糖稳定性"
  ],
  "dawn_phenomenon": false,
  "meal_response_average": 0,
  "overnight_stability": 2.08
}

🔧 开发

运行测试

# 运行所有测试
npm test

# 测试 MCP 协议
npm run test:mcp

# 使用模拟数据测试分析
npm run test:analytics

# 使用真实 LibreLink 数据测试(需要配置)
node test-real-data.js

构建

# 构建 TypeScript
npm run build

# 类型检查
npm run typecheck

# 开发模式
npm run dev

项目结构

librelink-mcp-server/
├── src/
│   ├── index.ts              # 主 MCP 服务器
│   ├── librelink-client.ts   # LibreLink API 封装
│   ├── glucose-analytics.ts  # 分析和统计
│   ├── config.ts             # 配置管理
│   ├── configure.ts          # CLI 配置工具
│   └── types.ts              # TypeScript 定义
├── config/
│   └── default.json          # 默认配置
├── test-*.js                 # 测试套件
├── package.json
└── README.md

🔒 安全与隐私

数据隐私

  • 仅本地处理 - 不向外部服务器发送数据
  • 您的数据保留在您的机器上 - 完整的隐私控制
  • 无分析或跟踪 - 零遥测

凭证安全

  • 本地存储 - 凭证存储在 ~/.librelink-mcp/config.json
  • 文件权限 - 自动设置为仅用户访问(600)
  • 无云存储 - 永不上传或分享

安全最佳实践

# 验证文件权限
ls -la ~/.librelink-mcp/config.json
# 应显示:-rw-------(用户读写权限)

# 可选:加密配置目录
# (实现细节在文档中)

⚠️ 重要注意事项

LibreLink API 使用

  • 本项目通过逆向工程使用一个非官方 API
  • 未与 Abbott 或 FreeStyle Libre 有任何关联
  • 自行决定使用并确保遵守 LibreLink 条款
  • API 可能会变化 - 社区维护兼容性

数据共享要求

  • 确保您的 LibreLink 应用启用了数据共享
  • 您的 传感器必须处于活动状态 并传输数据
  • LibreLink 账户(而非 LibreLinkUp)凭据所需

传感器兼容性

  • FreeStyle Libre 2
  • FreeStyle Libre 3
  • FreeStyle Libre 1(可能工作,未测试)

🐛 故障排除

常见问题

"未找到连接"

  • 验证您是否使用了 LibreLink(而非 LibreLinkUp)凭据
  • 检查 LibreLink 应用中的数据共享是否已启用
  • 确保您的传感器处于活动状态并已连接

"身份验证失败"

  • 再次检查邮箱和密码
  • 验证正确的区域(美国/欧盟)
  • 尝试登录 LibreLink 应用以确认凭据

"连接超时"

  • 检查互联网连接
  • 验证 LibreLink 服务状态
  • 几分钟后再次尝试

获取帮助

  1. 运行诊断

    node diagnose-account.js
    
  2. 查看日志:查找控制台输出中的错误消息

  3. 测试连接

    node test-real-connection.js
    
  4. 打开问题:包含诊断输出和错误消息

🤝 贡献

我们欢迎贡献!请:

  1. 分叉仓库
  2. 创建功能分支git checkout -b feature/amazing-feature
  3. 进行更改 并编写测试
  4. 遵循现有的代码风格
  5. 提交拉取请求

开发指南

  • 必需 TypeScript - 维护类型安全性
  • 测试覆盖率 - 为新功能添加测试
  • 文档 - 更新 README 以反映新功能
  • 安全第一 - 永不提交凭证或敏感数据

📜 许可证

本项目采用 MIT 许可证 - 详情见 LICENSE 文件。

🙏 致谢

  • libre-link-unofficial-api - 社区维护的 LibreLink API 客户端
  • MCP 协议 - Anthropic 的 Model Context Protocol
  • FreeStyle Libre 社区 - 启发和逆向工程努力
  • 开源糖尿病项目 - Nightscout, OpenAPS 等

⭐ 支持

如果这个项目帮助您通过 AI 辅助来管理糖尿病,请:

  • 点赞此仓库
  • 🐛 报告遇到的问题
  • 💡 提出改进建议
  • 🤝 贡献于项目

免责声明:这是一个非官方项目,未与 Abbott 或 FreeStyle Libre 有任何关联。请负责任地使用,并遵守适用的服务条款。始终咨询医疗专业人员以做出医疗决策。