Skip to main content
Glama
cykj40

Dexcom MCP Server

by cykj40

Dexcom MCP Server

A Model Context Protocol (MCP) server that connects Claude to your personal Dexcom CGM (Continuous Glucose Monitor) for assistive diabetes management intelligence.

๐ŸŽฏ Prime Directive

This is a human-in-the-loop assistive intelligence system:

  • โœ… Claude analyzes, reasons, and recommends

  • โœ… User decides and acts

  • โŒ No automation, no control, no silent changes

Related MCP server: Garmin MCP Server

๐Ÿš€ Features

  • Real-time CGM Data: Fetch current and historical glucose readings

  • Trend Analysis: Analyze patterns, post-meal spikes, and overnight stability

  • Event Logging: Track insulin doses, carbohydrate intake, and exercise

  • Adaptive Modeling: Learn how your metabolism behaves over time

  • Predictive Intelligence: Estimate glucose impact of insulin and carbs

  • Visualizations: Generate charts and AGP (Ambulatory Glucose Profile)

  • Parameter Drift Detection: Identify when your insulin sensitivity changes

๐Ÿ“‹ Prerequisites

  • Node.js 18+

  • Dexcom Developer API credentials (apply here)

  • A Dexcom CGM device actively transmitting data

๐Ÿ”ง Installation

  1. Clone this repository:

    git clone https://github.com/cykj40/dexcom-mcp-server.git
    cd dexcom-mcp-server
  2. Install dependencies:

    npm install
  3. Configure environment variables:

    cp .env.example .env

    Edit .env and fill in your credentials:

    • DEXCOM_CLIENT_ID - From Dexcom Developer Portal

    • DEXCOM_CLIENT_SECRET - From Dexcom Developer Portal

    • DEXCOM_REDIRECT_URI - OAuth redirect URI

    • TURSO_DATABASE_URL - Turso database URL for token and glucose persistence

    • DEXCOM_ACCESS_TOKEN / DEXCOM_REFRESH_TOKEN - Optional one-time bootstrap only when Turso has no tokens

  4. Build the project:

    npm run build

๐ŸŽฎ Usage

Running the Server Directly

npm start

Integrating with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "dexcom": {
      "command": "node",
      "args": ["/absolute/path/to/dexcom-mcp-server/dist/index.js"],
      "env": {
        "DEXCOM_CLIENT_ID": "your_client_id",
        "DEXCOM_CLIENT_SECRET": "your_client_secret",
        "DEXCOM_REDIRECT_URI": "your_redirect_uri",
        "TURSO_DATABASE_URL": "libsql://your-db.turso.io",
        "TURSO_AUTH_TOKEN": "your_turso_auth_token"
      }
    }
  }
}

Restart Claude Desktop, and you'll have access to all Dexcom tools.

๐Ÿ› ๏ธ Available Tools

Glucose Reading Tools

  • get_latest_glucose - Get current glucose with trend

  • get_glucose_range - Get readings within a time range

  • get_daily_summary - Daily glucose statistics

  • get_glucose_statistics - Comprehensive stats for any period

Analysis Tools

  • analyze_trends - Analyze patterns over days/weeks

  • compare_expected_vs_actual - Compare predictions to reality

  • detect_parameter_drift - Identify if ISF/ICR has changed

Event Logging Tools

  • log_insulin - Log insulin dose

  • log_carbs - Log carbohydrate intake

  • log_exercise - Log physical activity

  • get_event_timeline - View all events with glucose context

Chart Tools

  • generate_chart - Create visualizations (timeline, daily, weekly, AGP)

Modeling Tools

  • get_baseline_parameters - View your ISF, ICR, and basal dose

  • predict_glucose_impact - Predict effect of insulin or carbs

  • get_adaptive_insights - See how predictions compare to reality

๐Ÿ“Š Database

All data is stored locally in SQLite at ./data/dexcom.db:

  • Glucose readings (from Dexcom API and Share API)

  • Insulin, carb, and exercise events

  • Adaptive observations (expected vs actual outcomes)

No data is shared with third parties.

๐Ÿ”’ Security

  • Environment variables only: Never hardcode credentials

  • Local storage: All data stays on your machine

  • OAuth 2.0: Uses official Dexcom Developer API

  • Read-only device access: Cannot modify pump settings

๐Ÿฅ Medical Disclaimer

This is an assistive tool, not medical advice.

  • All recommendations are based on your personal data

  • You are the final authority on all diabetes management decisions

  • Never rely solely on this tool for treatment decisions

  • Consult your healthcare provider before changing insulin doses

  • This is not FDA-approved medical software

๐Ÿงช Development

Run in Development Mode

npm run dev

Build

npm run build

Project Structure

dexcom-mcp-server/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ config/         # Environment validation
โ”‚   โ”œโ”€โ”€ db/             # SQLite database layer
โ”‚   โ”œโ”€โ”€ services/       # Business logic
โ”‚   โ”œโ”€โ”€ tools/          # MCP tool definitions
โ”‚   โ”œโ”€โ”€ types/          # TypeScript types
โ”‚   โ””โ”€โ”€ index.ts        # Server entrypoint
โ”œโ”€โ”€ data/               # SQLite database (gitignored)
โ””โ”€โ”€ dist/               # Compiled JavaScript

๐Ÿ“ License

ISC License - See LICENSE file for details

๐Ÿค Contributing

This is a personal diabetes management tool. If you'd like to adapt it for your own use:

  1. Update baseline parameters in src/types/index.ts

  2. Adjust target ranges if needed

  3. Modify modeling algorithms to match your physiology

๐Ÿ“ง Support

For issues or questions, please open a GitHub issue.


Remember: This tool learns from your patterns but never acts autonomously. You decide, you act, you control.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that gives Claude access to your WHOOP biometric data โ€” recovery, sleep, strain, and workouts.
    30 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    A Model Context Protocol (MCP) server that brings your Withings health data into Claude, allowing natural conversation access to sleep patterns, body measurements, workouts, heart data, and more.
    42
    MIT