Skip to main content
Glama

Diabetes summary for a window

get_diabetes_summary
Read-only

Get a concise diabetes overview for any date range: glucose control, time in range, GMI, extremes, best/worst days, insulin, carbs, and settings. Use it to orient before diving into specific periods.

Instructions

The single best starting point for any overview question ("how was my control yesterday / over the last 3 weeks / last 6 months"). Returns fixed-size aggregates no matter how long the span, so it is cheap to call over months and tolerates very long windows.

TIP: because this tool is uncapped, a deliberately wide call (e.g. start 2000-01-01T00:00:00.000Z, end tomorrow) is the quickest way to discover how much data the system actually holds: the returned reportRange.start and reportRange.end are the first and last readings present in the archive. Use it as an orientation call before drilling into a specific period.

Insulin uses the project-wide rule: bolus is summed from individual events; basal comes from Glooko's per-day totals. The basal/bolus split is reported as percentages on a per-day-rate basis (a useful balance metric for a closed-loop system). GMI and CV are computed from the CGM readings.

Best/worst day and hour are ranked decisively: Time In Range first, then closeness to the glucose target in force at each reading (median absolute deviation), then variability, and each carries those figures so the ranking is explainable.

Returns: reportRange (start, end, days, reflecting the actual data present), glucoseControl (averageBG, gmiEstimatedA1c, stdDev, coefficientOfVariation, variability flag, timeInRange/timeLow/timeHigh, cgmReadingCount); glucoseExtremes (highest and lowest readings, each with every timestamped instance); bestWorst (bestDay, worstDay, bestHour, worstHour, each with tir, medianAbsTargetDev, cv); insulin (observedDays, bolusUnits, bolusUnitsPerDay, bolusEventCount, avgUnitsPerBolus, and when Glooko daily data exists basalUnits, basalDayCount, averageBasalUnitsPerDay, basalPercent, bolusPercent); bolusArchitecture (counts by bolus type); carbs (carbsGrams, carbsPerDay, carbEntryCount); and settings (the time-segmented profiles in force). All timestamps are plain wall clock time (see start/end parameter notes), not UTC.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endYesRequired. Window end as an ISO 8601 timestamp, e.g. 2026-06-20T00:00:00.000Z — plain wall clock time, same caveat as start (the "Z" is a format artifact, not a UTC claim). Treated as inclusive and must be after start. All timestamps returned by this API are likewise plain wall clock time, unconverted.
lowerNoOptional. Low (hypo) boundary in the chosen unit; readings below it count as time-low. Omit to use the server default (OMNI_LOWER). Pass only to override for this one call, e.g. to ask about time under a different threshold.
startYesRequired. Window start as an ISO 8601 timestamp, e.g. 2026-06-19T00:00:00.000Z. IMPORTANT: despite the trailing "Z", this is plain WALL CLOCK time, not true UTC — Glooko records only the literal date/time the patient's device showed, with no timezone attached. Use the patient's own wall-clock digits directly (no conversion): resolve "yesterday" or "last 3 weeks" straight into the matching wall-clock date and time. Treated as inclusive.
unitsNoOptional. Glucose unit for this call. Omit to use the unit configured on the server (OMNI_UNITS). One of: "mmol" (mmol/L) or "mgdl" (mg/dL). Pass only to override the configured unit for this one call.
upperNoOptional. High (hyper) boundary in the chosen unit; readings above it count as time-high. Omit to use the server default (OMNI_UPPER). Pass only to override for this one call.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description discloses important behaviors: fixed-size aggregates regardless of window length, uncapped cheap calls, wall-clock time semantics, explicit ranking tie-breakers, and the basal/bolus calculation rule. This is substantial and consistent with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and usage guidance, followed by a useful tip and a detailed returns section. It is longer than average, but the density is justified by the tool's rich output; each section earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the full burden of explaining return values. It enumerates all result groups (reportRange, glucoseControl, glucoseExtremes, bestWorst, insulin, bolusArchitecture, carbs, settings) and clarifies timezone, ranking, and metric semantics. This is complete for a complex summary tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with detailed descriptions for all five parameters, including the wall-clock caveat and unit override behavior. The description reinforces these semantics but does not add significant new parameter-level meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb/resource and explicitly positions the tool as 'the single best starting point for any overview question'. It also clarifies scope ('no matter how long the span') and distinguishes it from more granular siblings like get_trend or get_daily_insulin.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage guidance: use for overview questions, and use a deliberately wide call as an orientation step before drilling into a specific period. It does not name sibling tools explicitly, but the when-to-use instruction is strong enough to guide an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.