librelink-mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited librelink-mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Você tem acesso à LibreLink Up (CGM) REST API na MCP.AI.
Leituras de glicose do teu sensor LibreLink Up: gráfico, logbook, estatísticas e resumos (apenas leitura). Ligação segura e com o teu consentimento, a tua senha não fica guardada.
https://api.mcp.ai/api/librelinkTodo endpoint é um POST na Base URL + o path abaixo. Os parâmetros vão no corpo JSON.
Inclua em toda request:
Authorization: Bearer sk_live_...
Content-Type: application/jsonGere sua chave em https://app.mcp.ai/settings/api-keys (workspace API key sk_live_…, não expira, revogável). Uma única chave serve pra todos os seus MCPs.{ "ok": true, "tool": "<tool_id>", "result": <payload> }curl -X POST https://api.mcp.ai/api/librelink/get/connection \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{}'Se um endpoint retornar erro, vazio ou dado inesperado, reporte (não desista calado): POST /api/librelink/report com { "message": "...", "context"?: "...", "conversation"?: [...] }. Isso notifica o time da MCP.AI.
#### librelink_get_connection
Get a specific LibreLink Up connection by patient (returns target range, sensor info, latest glucose measurement envelope). Read-only CGM data — not for medical decisions without clinician review. _(POST /api/librelink/get/connection)_
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
patient_id | string | Não | LLU patient_id. Optional if only one patient; otherwise use account or this field. |
account | string | Não | When multiple patients are linked, pass patient_id, label, or a partial match. Omit if only one. Use librelink_list_accounts. (Alias: patient_id in each tool also selects.) |
patient_ids | string[] | Não | Bulk mode: multiple values for patient_id |
#### librelink_get_current_glucose
Get the latest single glucose reading for a connection (value, trend, color, isHigh/isLow flags). Read-only CGM data — not for medical decisions without clinician review. _(POST /api/librelink/get/current/glucose)_
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
patient_id | string | Não | LLU patient_id. Optional if only one patient linked. |
account | string | Não | When multiple patients are linked, pass patient_id, label, or a partial match. Omit if only one. Use librelink_list_accounts. (Alias: patient_id in each tool also selects.) |
patient_ids | string[] | Não | Bulk mode: multiple values for patient_id |
#### librelink_get_glucose_graph
Get the high-resolution ~12h glucose graph for a connection (raw graphData array of measurement points). Read-only CGM data — not for medical decisions without clinician review. _(POST /api/librelink/get/glucose/graph)_
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
patient_id | string | Não | LLU patient_id. Optional if only one patient linked. |
account | string | Não | When multiple patients are linked, pass patient_id, label, or a partial match. Omit if only one. Use librelink_list_accounts. (Alias: patient_id in each tool also selects.) |
patient_ids | string[] | Não | Bulk mode: multiple values for patient_id |
#### librelink_get_glucose_logbook
Get the manual-scan logbook for a connection (~14 days of spot readings and notes). Read-only CGM data — not for medical decisions without clinician review. _(POST /api/librelink/get/glucose/logbook)_
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
patient_id | string | Não | LLU patient_id. Optional if only one patient linked. |
account | string | Não | When multiple patients are linked, pass patient_id, label, or a partial match. Omit if only one. Use librelink_list_accounts. (Alias: patient_id in each tool also selects.) |
patient_ids | string[] | Não | Bulk mode: multiple values for patient_id |
#### librelink_get_glucose_stats
Compute time-in-range, average, min/max, and latest-point snapshot from the current graph window (~12h) for a connection. Defaults: target 70-180 mg/dL. Read-only CGM data — not for medical decisions _(POST /api/librelink/get/glucose/stats)_
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
patient_id | string | Não | LLU patient_id. Optional if only one patient linked. |
target_low | number | Não | In-range lower bound in mg/dL (default 70). |
target_high | number | Não | In-range upper bound in mg/dL (default 180). |
account | string | Não | When multiple patients are linked, pass patient_id, label, or a partial match. Omit if only one. Use librelink_list_accounts. (Alias: patient_id in each tool also selects.) |
patient_ids | string[] | Não | Bulk mode: multiple values for patient_id |
#### librelink_get_last_hours
Last N hours of normalized points [{ ts, mg_dl, trend }] from the current graph window (max ~12h). Read-only CGM data — not for medical decisions without clinician review. _(POST /api/librelink/get/last/hours)_
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
patient_id | string | Não | LLU patient_id. Optional if only one patient linked. |
hours | integer | Não | Hours of history to return (1-24). The LLU graph window is ~12h so values above that return what is available. |
account | string | Não | When multiple patients are linked, pass patient_id, label, or a partial match. Omit if only one. Use librelink_list_accounts. (Alias: patient_id in each tool also selects.) |
patient_ids | string[] | Não | Bulk mode: multiple values for patient_id |
#### librelink_get_latest_reading
Normalized latest reading: { mg_dl, trend_arrow, timestamp, minutes_ago, has_active_sensor }. Read-only CGM data — not for medical decisions without clinician review. _(POST /api/librelink/get/latest/reading)_
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
patient_id | string | Não | LLU patient_id. Optional if only one patient linked. |
account | string | Não | When multiple patients are linked, pass patient_id, label, or a partial match. Omit if only one. Use librelink_list_accounts. (Alias: patient_id in each tool also selects.) |
patient_ids | string[] | Não | Bulk mode: multiple values for patient_id |
#### librelink_get_today_summary
Same shape as librelink_get_glucose_stats but filtered to "today" in a chosen IANA timezone, plus hypo_events_70 / hyper_events_180 counts. Read-only CGM data — not for medical decisions without clini _(POST /api/librelink/get/today/summary)_
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
patient_id | string | Não | LLU patient_id. Optional if only one patient linked. |
timezone | string | Não | IANA timezone (e.g. America/Sao_Paulo). Defaults to UTC. |
target_low | number | Não | In-range lower bound in mg/dL (default 70). |
target_high | number | Não | In-range upper bound in mg/dL (default 180). |
account | string | Não | When multiple patients are linked, pass patient_id, label, or a partial match. Omit if only one. Use librelink_list_accounts. (Alias: patient_id in each tool also selects.) |
patient_ids | string[] | Não | Bulk mode: multiple values for patient_id |
#### librelink_list_accounts
List patients linked to this install (id = patient_id, label, name). Read-only CGM data — not for medical decisions without clinician review. _(POST /api/librelink/list/accounts)_
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
account | string | Não | When multiple patients are linked, pass patient_id, label, or a partial match. Omit if only one. Use librelink_list_accounts. (Alias: patient_id in each tool also selects.) |
#### librelink_list_connections
List patients whose LibreLink Up readings are accessible to this install (alias of librelink_list_accounts; same data). Read-only CGM data — not for medical decisions without clinician review. _(POST /api/librelink/list/connections)_
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
account | string | Não | When multiple patients are linked, pass patient_id, label, or a partial match. Omit if only one. Use librelink_list_accounts. (Alias: patient_id in each tool also selects.) |
Este MCP também funciona via conexão MCP (Claude / Cursor) em https://api.mcp.ai/p_librelink — veja o README. A skill acima é pra consumir a REST API direto (agente próprio / código).
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.