关于 FreeStyle Libre (LibreLinkUp)
这是一个只读 MCP 服务,可访问通过 LibreLinkUp 分享的 FreeStyle Libre CGM 数据。MCP 客户端可读取血糖值、趋势、图表和日志,并在账户关注多人时指定患者。
主要功能
- 01最新血糖读数和趋势箭头
- 02约 12 小时的血糖读数
- 03约 2 周的事件日志
- 04按姓名或 ID 查找患者
适用场景
- 01查看某人的最新血糖值
- 02检查近期数小时的血糖趋势
- 03查看最近数周的事件记录
MCP 相关
通过只读工具向 MCP 客户端提供 LibreLinkUp 患者与血糖数据,包括当前读数、图表和日志。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx freestyle-libre-mcpLIBRELINKUP_EMAILLibreLinkUp follower account emailLIBRELINKUP_PASSWORD密钥LibreLinkUp follower account passwordLIBRELINKUP_REGIONLibreLinkUp region of the account本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
4收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
freestyle-libre-mcp
一个 MCP 服务,可让 Claude(或任何 MCP 客户端)以只读方式访问通过 LibreLinkUp 分享的 FreeStyle Libre CGM 血糖读数。它使用自己的轻量级异步客户端(librelinkup_mcp.core)与 LibreLinkUp API 通信;它所依赖的 API 行为遵循 pylibrelinkup。
工具
| 工具 | 返回内容 |
|---|---|
list_patients | LibreLinkUp 账户关注的人 |
get_current_glucose | 最新读数及趋势箭头 |
get_glucose_graph | 约过去 12 小时的读数,按时间从早到晚排列 |
get_glucose_logbook | 约过去 2 周的记录事件,按时间从早到晚排列 |
每个读数工具都接受可选的 patient:姓名("Ann Lee"、"ann"),或来自 list_patients 的 patient_id。如果账户只关注一个人,则可以省略此参数。
读数包含账户所用单位的 value、value_mg_dl、unit、timestamp(传感器本地时间)、timestamp_utc 和 is_high/is_low 标记。当前读数还包含 age_minutes,因为当传感器或手机超出范围时,LibreLinkUp 会返回最后一次已知的值。
设置
分步指南(包括账户设置和故障排查)请参阅安装指南。 完整文档请访问 https://freestyle-libre-mcp.readthedocs.io。
你需要一个 LibreLinkUp 关注者账户:从 LibreLink 应用发送邀请,在 LibreLinkUp 应用中接受邀请,并在使用此服务前接受其中的任何条款。
git clone https://github.com/osjayaprakash/freestyle-libre-mcp.git && cd freestyle-libre-mcp
uv sync
| 变量 | 必需 | 默认值 | 含义 |
|---|---|---|---|
LIBRELINKUP_EMAIL | 是 | 关注者账户邮箱 | |
LIBRELINKUP_PASSWORD | 是 | 关注者账户密码 | |
LIBRELINKUP_REGION | 否 | US | 可选值:US、EU、EU2、AE、AP、AU、CA、DE、FR、JP、LA、RU |
如果区域设置有误,首次调用工具时会提示应设置为哪个区域。
从 PyPI 运行
无需克隆;uv 会获取并运行已发布的软件包:
uvx freestyle-libre-mcp
在客户端配置中,使用 "command": "uvx", "args": ["freestyle-libre-mcp"]。
使用 Docker 运行
此服务通过 stdio 使用 MCP 通信,因此请保留 -i:
docker run -i --rm \
-e LIBRELINKUP_EMAIL -e LIBRELINKUP_PASSWORD -e LIBRELINKUP_REGION \
ghcr.io/osjayaprakash/freestyle-libre-mcp:latest
在客户端配置中,使用 "command": "docker" 和这些参数,并通过客户端的 env 块传递变量。
Claude Desktop
添加到 claude_desktop_config.json:
{
"mcpServers": {
"librelinkup": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/freestyle-libre-mcp", "run", "freestyle-libre-mcp"],
"env": {
"LIBRELINKUP_EMAIL": "[email protected]",
"LIBRELINKUP_PASSWORD": "your-password",
"LIBRELINKUP_REGION": "US"
}
}
}
}
Claude Code
claude mcp add librelinkup \
-e [email protected] \
-e LIBRELINKUP_PASSWORD=your-password \
-e LIBRELINKUP_REGION=US \
-- uv --directory /absolute/path/to/freestyle-libre-mcp run freestyle-libre-mcp
Langfuse 跟踪(可选)
每次工具调用都会生成一条 Langfuse 跟踪记录,并为 LibreLinkUp API 调用创建一个子跨度。 安装额外依赖并设置密钥:
uv sync --extra langfuse
在服务命令中,使用 run --extra langfuse freestyle-libre-mcp,而不是
run freestyle-libre-mcp。
| 变量 | 含义 |
|---|---|
LANGFUSE_PUBLIC_KEY、LANGFUSE_SECRET_KEY | 只有同时设置这两个变量时,才会启用跟踪 |
LANGFUSE_BASE_URL | 用于可自托管或区域实例的 Langfuse URL(默认值:Langfuse Cloud) |
LANGFUSE_CAPTURE_DATA | 设置为 true 可包含工具输入、输出和错误消息。默认值为 false |
隐私: 血糖读数和患者姓名属于健康数据。默认情况下,跟踪记录只包含工具名称、计时信息、患者 UUID 和错误类名称。设置
LANGFUSE_CAPTURE_DATA=true 会将读数和姓名发送到你的 Langfuse 实例;只有在你信任该实例时才这样做,例如自托管实例。
开发
uv sync
uv run pytest # offline suite
uv run pytest -m live # hits the real API; needs LIBRELINKUP_EMAIL/PASSWORD
uv run ruff check src tests && uv run ruff format --check src tests
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。