davidmosiah/wellness-cgm-mcp

Biology, Medicine and Bioinformatics
0 Views
0 Installs

📇 🏠 ☁️ 🍎 🪟 🐧 - Local-first continuous glucose monitor MCP server for Dexcom Developer API and FreeStyle Libre via LibreLink Up.

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "davidmosiah-wellness-cgm-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "davidmosiah-wellness-cgm-mcp"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

Wellness CGM MCP

Local-first continuous glucose monitor MCP for AI agents.
Dexcom Developer API. Levels-killer pattern, agent-first, $0.

npm version npm downloads License MIT Site

GitHub stars Built for MCP Hermes OpenClaw

🩸 Why this exists: Levels charges $199/mo to do exactly this — read your CGM, correlate with meals, flag spikes. wellness-cgm-mcp is the same game as a free local-first MCP. Stelo OTC + Dexcom developer API + your agent + wellness-nourish = the full metabolic loop.

One-command install — pick your runtime:


Overview

Local MCP server that exposes CGM data (and synthetic mock data when nothing is configured) to any MCP-aware agent. Two real backends are supported: Dexcom (Developer API, sandbox + production) and FreeStyle Libre (the OTC sensor — Libre 2 / Libre 3) via LibreLink Up. Pick the backend with CGM_PROVIDER; it auto-detects Libre when only Libre credentials are set. Both feed the same ADA time-in-range / GMI / hypo / meal-response engine.

Try It In 60 Seconds (mock mode, zero setup)

npx -y wellness-cgm-mcp doctor       # see env / mode
npx -y wellness-cgm-mcp status

# In Claude Desktop / Cursor / etc., add:
# {
#   "mcpServers": {
#     "wellness-cgm": {
#       "command": "npx",
#       "args": ["-y", "wellness-cgm-mcp"]
#     }
#   }
# }

The agent now has 10 CGM tools. Without a Dexcom token, every tool returns synthetic readings tagged mock: true — perfect for prototyping.

Live setup (Dexcom Developer)

# 1. Sign up at https://developer.dexcom.com (sandbox is free)
# 2. Create an app, register your redirect URI
export DEXCOM_ENV=sandbox
export DEXCOM_CLIENT_ID=...
export DEXCOM_CLIENT_SECRET=...
export DEXCOM_REDIRECT_URI=https://your.callback/redirect

# 3. Get the OAuth URL, open it, grant access, copy the code from the redirect
npx -y wellness-cgm-mcp authorize

# 4. Swap code for tokens
npx -y wellness-cgm-mcp exchange <auth_code_from_redirect>

# 5. Set DEXCOM_ACCESS_TOKEN to the access_token, restart the MCP — flips from mock to live.

Live setup (FreeStyle Libre — the OTC sensor)

No developer program, no app to build — just the same email/password you use in the LibreLinkUp follower app (the OTC Libre 2 / Libre 3 sensor works). In the LibreLink app, share your readings; in the LibreLinkUp app, accept the invite. Then:

export CGM_PROVIDER=libre               # or just set the creds below and let it auto-detect
export LIBRELINKUP_EMAIL=you@example.com
export LIBRELINKUP_PASSWORD=...
# Optional: region shard if you're not on EU/global, and a pinned sensor:
export LIBRELINKUP_REGION=us            # eu (default) | us | de | fr | au | jp ...
# export LIBRELINKUP_PATIENT_ID=<id>    # only if you follow more than one sensor

# Verify credentials + list the sensor(s) you follow (never prints the token):
npx -y wellness-cgm-mcp libre-login

Once logged in, every glucose tool (cgm_glucose_now, cgm_daily_summary, cgm_time_in_range, cgm_meal_response, cgm_hypo_events, …) reads from Libre and returns the same ADA TIR / GMI / hypo / meal-response metrics — each response carries a provider field so you always know the source. Without any credentials, everything returns synthetic mock: true data.

Tools (19)

ToolPurpose
cgm_agent_manifestRuntime contract
cgm_capabilitiesProviders, metrics, privacy modes
cgm_connection_statusenv, credentials, mode (live vs mock)
cgm_privacy_auditLocal storage + outbound destinations
cgm_data_inventoryMetric catalog + TIR ranges + GMI formula
cgm_glucose_nowMost recent EGV + trend
cgm_glucose_windowAll EGVs over last N hours
cgm_daily_summaryMean / GMI / CV / 2 TIR profiles
cgm_meal_responseBaseline → peak → return + band
cgm_authorize_urlDexcom OAuth URL builder
cgm_hypo_eventsHypo event detection (ADA Level 1 < 70, Level 2 < 54) — v0.3.3
cgm_libre_statusFreeStyle Libre (LibreLink Up) config + region + mode — v0.4
cgm_libre_loginLog in to LibreLink Up + list followed sensors — v0.4

The table omits the shared profile/onboarding/quickstart/demo helpers (cgm_profile_get, cgm_profile_update, cgm_onboarding, cgm_quickstart, cgm_demo) for brevity — call cgm_agent_manifest for the full, always-current list.

Two Time-In-Range profiles in every summary

  • Diabetic (70-180 mg/dL) — ADA standard for adults with diabetes.
  • Metabolic health (70-140 mg/dL) — Levels-style for non-DM users.

Agents surface BOTH so the user picks the one that fits their context.

Meal response bands

Peak Δ from baselineBand
< 30 mg/dLexcellent
30-49good
50-79moderate
≥ 80poor

Combine with wellness-nourish to compute "what did I eat → what happened" automatically.

The killer combo

wellness-nourish: meal at 13:15 (rice + chicken)
       ↓
wellness-cgm-mcp.cgm_meal_response(meal_time)
       ↓
{ peak: 167, peak_delta: 72, band: "moderate", peak_time_minutes: 45 }
       ↓
whoop-mcp.recovery: 67%
       ↓
Agent: "That meal hit a moderate spike (peak +72 mg/dL at 45 min)
        AND recovery is borderline. Try protein-first next time, or
        swap white rice for lentils — should drop the peak ~30 mg/dL."

Levels charges $199/mo for this. Here it is, free, local-first, MCP.

Privacy

  • Credentials local onlyDEXCOM_ACCESS_TOKEN / LIBRELINKUP_* stay in env vars; the LibreLink Up auth token is never returned in tool output.
  • Mock mode by default — every tool returns synthetic data with mock: true until a provider is configured.
  • No third-party telemetry — outbound calls go only to your CGM provider (Dexcom or, for Libre, Abbott's LibreLink Up API).

Run wellness-cgm-mcp doctor to inspect.

Roadmap

  • v0.4 — FreeStyle Libre via LibreLink Up (the OTC sensor). Shipped.
  • next — Refresh-token rotation. Per-meal historical browser (which foods spike YOU?). Threshold alerts (agent notified when glucose holds > X mg/dL for Y minutes). Cross-meal automation with wellness-nourish.

What this is NOT

  • Not medical advice or diagnosis.
  • Not for insulin/medication dosing decisions — defer to clinician.
  • Not affiliated with Dexcom or Abbott.

📧 Contact & Support

License

MIT — see LICENSE.

wellness-cgm-mcp is independent open-source software. Dexcom and FreeStyle Libre are trademarks of their respective owners. Neither company is affiliated with or endorses this project.

Related MCP Servers

ammawla/encode-toolkit

🐧 - MCP server and Claude Plugin for a full ENCODE Project genomic data and analysis toolkit — search, download, track, and analyze functional genomics experiments.

Biology, Medicine and Bioinformatics0 views
cafferychen777/ChatSpatial

🐍 🏠 - MCP server for spatial transcriptomics analysis with 60+ integrated methods covering cell annotation, deconvolution, spatial statistics, and visualization.

Biology, Medicine and Bioinformatics0 views
Crindo2/gph-mcp-server

📇 ☁️ - Healthcare service vendor matching for medical practices: 76,000+ curated vendors across 25 categories (billing, credentialing, EHR, compliance, legal) in all 50 US states.

Biology, Medicine and Bioinformatics0 views
dnaerys/onekgpd-mcp

☕ ☁️ 🍎 🪟 🐧- real-time access to 1000 Genomes Project dataset

Biology, Medicine and Bioinformatics0 views

Engagement

Views
0
Installs
0
Upvotes
0

Views and upvotes are unique per visitor network (hashed IP). Installs count copy actions.

Status

Health: Not checked yet

We have not completed a health check for this listing yet.

Last checked: 7/28/2026, 9:26:48 PM

Unclaimed listing (imported or pending owner verification). Claim it →
★ Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.