FreeStyle Libre (LibreLinkUp)

io.github.osjayaprakash由 GitHub 账号 osjayaprakash 发布v0.1.1更新于 Oct 24, 2026

Read-only FreeStyle Libre CGM glucose readings, graphs and logbook via LibreLinkUp

已验证STDIO仅桌面位置与生活数据与分析

概览

AI 生成的概览

只读 MCP 服务器,让助手通过 LibreLinkUp 关注者账号获取 FreeStyle Libre 连续血糖监测的读数、图表和日志数据。

可以做什么
  • 列出 LibreLinkUp 账号所关注的人员
  • 获取最新血糖读数,含趋势箭头和读数距今时间
  • 获取约最近 12 小时的读数序列(图表)
  • 获取约最近两周的记录事件(日志)
  • 读数包含账号单位下的数值、mg/dL 数值、单位、本地与 UTC 时间戳以及偏高/偏低标记
适用场景
适合希望让助手查询自己或所关注人员的连续血糖监测数据,并总结近期趋势、当前读数或记录事件,而无需打开 LibreLinkUp 应用的场景。
运行要求
以 stdio 方式在本机运行,可用 uvx、克隆后用 uv 或 Docker 启动。需要一个 LibreLinkUp 关注者账号(在 LibreLink 应用中邀请并在 LibreLinkUp 中接受),以及环境变量 LIBRELINKUP_EMAIL 和 LIBRELINKUP_PASSWORD;LIBRELINKUP_REGION 可选,默认 US。需要访问 LibreLinkUp API 的网络连接。
安装前请注意
账号密码通过环境变量 LIBRELINKUP_PASSWORD 传入,请勿写入共享配置。血糖读数和患者姓名属于健康数据;可选的 Langfuse 追踪默认只记录工具名称、耗时、患者 UUID 和错误类型,但设置 LANGFUSE_CAPTURE_DATA=true 会把读数和姓名发送到所配置的 Langfuse 实例。访问为只读。

安装

在 SourceWeft 中

  1. 打开 控制台中的 FreeStyle Libre (LibreLinkUp),将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

freestyle-libre-mcp

[CI] [PyPI] [Python] [Docker] [License: MIT]

An MCP server that gives Claude (or any MCP client) read-only access to FreeStyle Libre CGM glucose readings shared through LibreLinkUp. It talks to the LibreLinkUp API with its own small async client (librelinkup_mcp.core); the API behaviour it relies on follows pylibrelinkup.

Tools

ToolReturns
list_patientsPeople the LibreLinkUp account follows
get_current_glucoseLatest reading with trend arrow
get_glucose_graphReadings from about the last 12 hours, oldest first
get_glucose_logbookLogged events from about the last 2 weeks, oldest first

Every reading tool takes an optional patient: a name ("Ann Lee", "ann") or a patient_id from list_patients. It can be omitted when the account follows one person.

Readings include value in the account's unit, value_mg_dl, unit, timestamp (the sensor's local time), timestamp_utc, and is_high/is_low flags. The current reading also has age_minutes, since LibreLinkUp returns the last known value when the sensor or phone is out of range.

Setup

For a step-by-step guide, including account setup and troubleshooting, see the installation guide. Full documentation is at https://freestyle-libre-mcp.readthedocs.io.

You need a LibreLinkUp follower account: invite it from the LibreLink app, accept the invite in the LibreLinkUp app, and accept any terms there before using this server.

bash
git clone https://github.com/osjayaprakash/freestyle-libre-mcp.git && cd freestyle-libre-mcpuv sync
VariableRequiredDefaultMeaning
LIBRELINKUP_EMAILyesFollower account email
LIBRELINKUP_PASSWORDyesFollower account password
LIBRELINKUP_REGIONnoUSOne of US, EU, EU2, AE, AP, AU, CA, DE, FR, JP, LA, RU

If the region is wrong, the first tool call tells you which one to set.

Run from PyPI

No clone needed; uv fetches and runs the published package:

bash
uvx freestyle-libre-mcp

In a client config, use "command": "uvx", "args": ["freestyle-libre-mcp"].

Run with Docker

The server speaks MCP over stdio, so keep -i:

bash
docker run -i --rm \  -e LIBRELINKUP_EMAIL -e LIBRELINKUP_PASSWORD -e LIBRELINKUP_REGION \  ghcr.io/osjayaprakash/freestyle-libre-mcp:latest

In a client config, use "command": "docker" with those arguments, and pass the variables through the client's env block.

Claude Desktop

Add to claude_desktop_config.json:

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

bash
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 tracing (optional)

Each tool call becomes a Langfuse trace, with a child span for the LibreLinkUp API call. Install the extra and set the keys:

bash
uv sync --extra langfuse

In the server command, use run --extra langfuse freestyle-libre-mcp instead of run freestyle-libre-mcp.

VariableMeaning
LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEYTracing is on only when both are set
LANGFUSE_BASE_URLLangfuse URL for self-hosted or regional instances (default: Langfuse Cloud)
LANGFUSE_CAPTURE_DATAtrue to include tool inputs, outputs and error messages. Default false

Privacy: glucose readings and patient names are health data. By default, traces hold only tool names, timings, patient UUIDs, and error class names. Setting LANGFUSE_CAPTURE_DATA=true sends readings and names to your Langfuse instance; only do that with an instance you trust, such as a self-hosted one.

Development

bash
uv syncuv run pytest            # offline suiteuv run pytest -m live    # hits the real API; needs LIBRELINKUP_EMAIL/PASSWORDuv run ruff check src tests && uv run ruff format --check src tests

License

MIT

来源:README.md,提交 2cd1f5e

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Sep 27, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分