MCP server for FreeStyle LibreLink CGM data - Fixed for API v4.16.0 with secure credential storage
LibreLink MCP server provides 6 read-only glucose monitoring tools. Tool naming is clear and verb-based (get_, analyze_). All tools have descriptions, though some are brief. Input schemas are present for tools with parameters, but output schemas are not documented in source. Parameter descriptions exist but lack detail on formats/ranges. Error handling is minimal, no recovery guidance or categorization visible. All tools are READ_ONLY which is a security positive.
Clear the current authentication session and stored tokens. Use this if you need to force a re-authentication.
Set up or update your LibreLinkUp account credentials for data access. Required before using any glucose reading tools. Credentials are stored securely using AES-256-GCM encryption with keys in your OS keychain.
Customize your target glucose range for personalized time-in-range calculations. Standard range is 70-180 mg/dL, but your healthcare provider may recommend different targets.
Get the most recent glucose reading from your FreeStyle Libre sensor. Returns current glucose value in mg/dL, trend direction (rising/falling/stable), and whether the value is in target range. Use this for real-time glucose monitoring.
Retrieve historical glucose readings for analysis. Returns an array of timestamped glucose values. Useful for reviewing past glucose levels, identifying patterns, or checking overnight values. Default retrieves 24 hours of data.
Calculate comprehensive glucose statistics including average glucose, GMI (estimated A1C), time-in-range percentages, and variability metrics. The response includes data_coverage with the time window the readings actually span, which is usually shorter than requested because LibreLinkUp only serves roughly the last 12 hours. Essential for diabetes management insights and identifying areas for improvement.
Output schemas are not documented. LLMs cannot predict response structure or chain tools effectively. Documentation must specify which fields are returned, their types, and which IDs/references are available for downstream calls.
Parameter descriptions lack specifics on ranges, formats, and constraints. 'days' parameter appears in multiple tools but no minimum/maximum documented. Descriptions should state expected ranges (e.g., 1-365 days) and default behavior.
No error handling or recovery guidance visible in tool definitions. If LibreLink API returns 401 (unauthorized), network timeout, or invalid date range, LLM receives no actionable error message or retry strategy.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 0 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 30 | - | v1 |
Analyze glucose patterns including dawn phenomenon (early morning rise), meal responses, and overnight stability. Helps identify recurring patterns that may need attention or treatment adjustments.
Get information about your active FreeStyle Libre sensor including serial number, activation date, and status. Use this to check if sensor is working properly or needs replacement.
Get the current authentication session status including whether authenticated, token validity, and expiration time.
Test the connection to LibreLinkUp servers and verify your credentials are working. Use this if you encounter errors or after updating credentials.
Tool descriptions are brief (60-75 chars). Rubric baseline is 194 chars. Descriptions should explain WHAT the tool does, WHEN to use it vs. similar tools, and WHAT to expect. E.g., 'get_current_glucose' description should clarify if it returns real-time vs. cached data and latency expectations.
No pagination support for list-like tools. get_connections potentially returns many patients sharing data, but no limit/offset/next_cursor visible. Large result sets exhaust context window and degrade LLM reasoning.
analyze_glucose_trends 'period' parameter uses enum ['daily','weekly','monthly'] but description does not explain what these mean or whether they affect aggregation window, chart granularity, or both.