{
  "info": {
    "name": "LibreLink Up (CGM) — mcp.ai",
    "description": "REST API for the LibreLink Up (CGM) MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/librelink",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "librelink_get_connection",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/connection",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "connection"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"patient_id\": \"\",\n  \"account\": \"\",\n  \"patient_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "librelink_get_current_glucose",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/current/glucose",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "current",
            "glucose"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"patient_id\": \"\",\n  \"account\": \"\",\n  \"patient_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "librelink_get_glucose_graph",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/glucose/graph",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "glucose",
            "graph"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"patient_id\": \"\",\n  \"account\": \"\",\n  \"patient_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "librelink_get_glucose_logbook",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/glucose/logbook",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "glucose",
            "logbook"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"patient_id\": \"\",\n  \"account\": \"\",\n  \"patient_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "librelink_get_glucose_stats",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/glucose/stats",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "glucose",
            "stats"
          ]
        },
        "description": "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 ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"patient_id\": \"\",\n  \"target_low\": 0,\n  \"target_high\": 0,\n  \"account\": \"\",\n  \"patient_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "librelink_get_last_hours",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/last/hours",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "last",
            "hours"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"patient_id\": \"\",\n  \"hours\": 0,\n  \"account\": \"\",\n  \"patient_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "librelink_get_latest_reading",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/latest/reading",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "latest",
            "reading"
          ]
        },
        "description": "Normalized latest reading: { mg_dl, trend_arrow, timestamp, minutes_ago, has_active_sensor }. Read-only CGM data — not for medical decisions without clinician review.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"patient_id\": \"\",\n  \"account\": \"\",\n  \"patient_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "librelink_get_today_summary",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/today/summary",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "today",
            "summary"
          ]
        },
        "description": "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",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"patient_id\": \"\",\n  \"timezone\": \"\",\n  \"target_low\": 0,\n  \"target_high\": 0,\n  \"account\": \"\",\n  \"patient_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "librelink_list_accounts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/accounts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "accounts"
          ]
        },
        "description": "List patients linked to this install (id = patient_id, label, name). Read-only CGM data — not for medical decisions without clinician review.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "librelink_list_connections",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/connections",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "connections"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}