Wellness CGM MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cgm_agent_manifestA | Returns the wellness-cgm-mcp agent manifest: tool list, supported clients, env vars, recommended first calls, capabilities, privacy posture, and community links. |
| cgm_capabilitiesA | Lists supported providers, configured providers (via env vars), available metrics, and privacy modes. |
| cgm_connection_statusA | Reports the active CGM provider (dexcom | libre), why it was selected, whether credentials are present, and whether the connector will return mock vs live data. For Dexcom it includes the env (sandbox/production); for FreeStyle Libre it includes the LibreLink Up region. |
| cgm_privacy_auditA | Returns what wellness-cgm-mcp stores locally, what is sent to Dexcom, what is never logged, and agent rules. |
| cgm_data_inventoryB | Returns the metric catalog plus thresholds (TIR ranges, GMI formula reference). |
| cgm_glucose_nowA | Returns the most recent EGV (estimated glucose value) plus trend arrow if available. |
| cgm_glucose_windowA | Returns all EGVs over the last N hours (default 24). |
| cgm_hypo_eventsA | v0.3.3 — Detect hypoglycemia events between |
| cgm_daily_summaryA | Returns daily glucose stats: mean, median, min/max, stdev, GMI (estimated A1C), CV, time-in-range (diabetic 70-180 + metabolic-health 70-140). |
| cgm_time_in_rangeA | Compute Time in Range (TIR), Time Below Range, and Time Above Range over a specific time window with a customizable target range. Use this for mealtime TIR (e.g. 7am-10am breakfast window), overnight TIR (e.g. 23:00-07:00), or specific date-range comparisons. Returns total_readings, readings_in_window, mean_glucose, median_glucose, and GMI (Glucose Management Indicator, estimated A1C per ADA / Bergenstal 2018: GMI% = 3.31 + 0.02392 × mean_mg_dL). Supports a |
| cgm_meal_responseA | Compute glucose response to a meal: baseline → peak → return-to-baseline. Returns peak delta, peak time (min after meal), and a band (excellent/good/moderate/poor). |
| cgm_authorize_urlA | Read-only OAuth URL generation; does not exchange tokens. Not a state mutation of glucose data. Gated by: user must open URL themselves (explicit user action). Builds the Dexcom OAuth authorize URL. The user opens it, grants access, and Dexcom redirects to your registered DEXCOM_REDIRECT_URI with an auth code. If credentials are missing, returns a hint with the exact env vars needed. |
| cgm_quickstartA | Returns a personalized 3-step walkthrough for getting wellness-cgm-mcp from mock mode → live mode (Dexcom). Call this first when the user asks 'how do I connect my CGM?' |
| cgm_profile_getA | Returns the shared Delx Wellness profile (~/.delx-wellness/profile.json). Read-only. Surfaces diabetes status / non-DM context so wellness-cgm-mcp can pick the right time-in-range profile (70-180 ADA vs 70-140 metabolic-health). |
| cgm_profile_updateA | Persist a partial patch to the shared Delx Wellness profile. Requires explicit_user_intent: true. Rejects any field containing oauth/token/secret/password/cookie/refresh/api_key/session — the profile is for non-secret wellness context only. |
| cgm_onboardingA | Returns the 11-question onboarding flow for the shared Delx Wellness profile. Read-only. The agent should ask these questions next so wellness-cgm-mcp (and the rest of the wellness stack) can personalize responses — non-secret data only, stored at ~/.delx-wellness/profile.json. |
| cgm_demoA | Returns realistic example payloads of cgm_glucose_now, cgm_daily_summary, and cgm_meal_response. Use this to help users see what the connector will return before configuring Dexcom. |
| cgm_libre_statusA | Reports FreeStyle Libre (LibreLink Up) configuration: region, whether LIBRELINKUP_EMAIL/PASSWORD (or a token) are set, whether a patient id is pinned, and whether reads will be live or mock. Use this to confirm the Libre path is wired before calling glucose tools with CGM_PROVIDER=libre. |
| cgm_libre_loginA | Authenticate against LibreLink Up using LIBRELINKUP_EMAIL / LIBRELINKUP_PASSWORD and list the sensors (connections) this account follows. Confirms the FreeStyle Libre path works end-to-end before reading glucose. Never returns the auth token. When credentials are missing it returns mock=true with a synthetic connection so the surface can be demoed without an Abbott account. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| cgm_agent_manifest | Machine-readable install and operating instructions for AI agents. |
| cgm_capabilities | Supported providers, metrics, and privacy modes. |
| cgm_connection_status | Active CGM provider and mock vs live readiness (no tokens). |
| cgm_data_inventory | Metric catalog and TIR thresholds. |
| cgm_privacy_audit | What wellness-cgm-mcp stores locally and sends outbound. |
TDQS
Scored across 19 tools
Each tool targets a distinct aspect: connection status, glucose reading, analytics (hypos, daily summary, TIR, meal response), authentication (Dexcom OAuth, Libre login), profile management, and demo. The overlap between cgm_connection_status and cgm_libre_status is resolved by scope (general vs. Libre-specific), and descriptions clearly differentiate window vs. now, and summary vs. TIR.
All tools follow a consistent cgm_ prefix with snake_case naming. While some are noun-only (cgm_manifest, cgm_demo) and others are verb_noun (cgm_profile_get, cgm_profile_update), the pattern is uniform and predictable, making it easy to infer the resource or action.
19 tools is slightly above the ideal 3-15 range, but the server covers a broad domain: data retrieval, analytics, auth, profile, and demo. Each tool serves a clear purpose, and the count is justified by the comprehensive feature set without being overwhelming (not 25+).
The tool surface covers the full lifecycle: connection status, glucose data (now/window), analytics (hypos, daily summary, TIR, meal response), authentication flows (Dexcom OAuth, Libre login), profile management (get/update/onboarding), and demo/quickstart. There are no obvious dead ends; the only missing piece might be a delete-profile tool, but that's a minor gap and profile update covers modification.