Skip to main content
Glama
Dexcom Share MCP Server

Dexcom Share MCP Server

by jeremyclee

Dexcom Share MCP Server (Node.js)

A Model Context Protocol (MCP) server that provides access to your Dexcom Continuous Glucose Monitor (CGM) data via the unofficial Dexcom Share API. This server exposes your real-time glucose readings to any MCP-compatible AI assistant or application.

IMPORTANT

This uses theunofficial Share API designed for real-time monitoring, not the official Dexcom API. Data is limited to the last 24 hours only.

Features

  • Get Latest Reading: Retrieve the most recent glucose value and trend

  • Get Recent Readings: Fetch glucose values from the last few hours (up to 24 hours maximum)

  • Direct Authentication: Uses Dexcom Share credentials (no OAuth setup required)

  • Universal MCP Compatibility: Works with any MCP client (Claude Desktop, IDEs, custom applications)

  • Real-Time Focused: Perfect for "What's my glucose now?" queries, not historical analysis

Related MCP server: Dexcom G7 MCP Server

πŸš€ Getting Started

Prerequisites

  • Node.js: Download and install the "LTS" version from nodejs.org

  • Dexcom Account: Valid username and password (same as Dexcom mobile app)

  • Data Sharing Enabled: "Share" feature must be ON in your Dexcom mobile app (Settings > Share)

Installation

  1. Download this project as a ZIP file or clone it with Git

  2. Extract to a folder (e.g., Documents/dexcom-share-mcp-node)

  3. Install dependencies and build:

🍎 macOS

cd /path/to/dexcom-share-mcp-node
npm install && npm run build

πŸͺŸ Windows

cd C:\path\to\dexcom-share-mcp-node
npm install && npm run build

Verify Connection

Test your credentials before configuring a client:

npm run test-connection

πŸ”Œ MCP Client Configuration

This server communicates over stdio and can be used with any MCP-compatible client. Below is an example for Claude Desktop, but the same pattern applies to other clients.

Example: Claude Desktop

🍎 macOS Configuration

  1. Open Claude Desktop > Claude menu > Settings... > Developer > Edit Config

  2. Add this to claude_desktop_config.json:

{
  "mcpServers": {
    "dexcom": {
      "command": "node",
      "args": ["/Users/YOUR_NAME/Documents/dexcom-share-mcp-node/build/index.js"],
      "env": {
        "DEXCOM_USERNAME": "your_username",
        "DEXCOM_PASSWORD": "your_password",
        "DEXCOM_REGION": "us"
      }
    }
  }
}

Tip: Drag the build/index.js file into Terminal to get its full path.

πŸͺŸ Windows Configuration

  1. Open Claude Desktop > File > Settings > Developer > Edit Config
    (Config file: %APPDATA%\Claude\claude_desktop_config.json)

  2. Add this configuration (use double backslashes \\):

{
  "mcpServers": {
    "dexcom": {
      "command": "node",
      "args": ["C:\\Users\\YOUR_NAME\\Documents\\dexcom-share-mcp-node\\build\\index.js"],
      "env": {
        "DEXCOM_USERNAME": "your_username",
        "DEXCOM_PASSWORD": "your_password",
        "DEXCOM_REGION": "us"
      }
    }
  }
}

Region Note: Change DEXCOM_REGION to "ous" if you're outside the US.

  1. Restart Claude Desktop. You should see a πŸ”Œ icon indicating the server is connected.


πŸ› οΈ Available Tools

The server exposes the following MCP tools:

get_glucose_readings

Fetch recent glucose values within the last 24 hours. The Share API calculates lookback time from the current moment, not arbitrary historical ranges.

Parameters:

  • startDate (string): ISO 8601 format (e.g., "2024-01-15T10:00:00Z"). Must be within the last 24 hours.

  • endDate (string): ISO 8601 format. Must be within the last 24 hours.

Example: To get readings from 3 hours ago to now, you'd calculate startDate as 3 hours before the current time.

get_latest_reading

Get the most recent glucose reading (typically within the last 5-15 minutes).

Parameters: None


πŸ“ Usage Examples (Claude Desktop)

Once connected, you can ask:

  • βœ… "What is my current glucose level?"

  • βœ… "Show me my glucose readings from the last 3 hours"

  • βœ… "Was my blood sugar high this morning?" (if within 24 hours)

  • ❌ "Show me my readings from last week" (not supported - exceeds 24-hour limit)


⚠️ Important Limitations

  • Unofficial API: This uses the Share API, which is designed for real-time monitoring, not the official Dexcom Web API

  • 24-Hour Maximum: Can only retrieve data from the last 24 hours. Historical data beyond this is not accessible.

  • No Long-Term Trends: For multi-day analysis or reports, you'll need the official Dexcom API (requires OAuth setup)

  • Dexcom Share Required: Must be enabled in the Dexcom mobile app (even with 0 followers)

  • Recent Data Only: Readings are typically available within 5-15 minutes of device transmission

  • Credentials: Use the same username/password as your Dexcom app or Clarity account

πŸ”’ Data Privacy

Your credentials are stored locally on your computer (in the MCP client config file or .env). This server communicates directly with Dexcom's API and does not send data to any third party.

πŸ“„ License

MIT

Available Tools

2 tools
get_glucose_readingsA

Get recent glucose values within the last 24 hours. IMPORTANT: This uses the unofficial Share API which only provides real-time monitoring data. Both startDate and endDate MUST be within the last 24 hours from the current time. Cannot retrieve historical data beyond 24 hours.

Inputs: endDate (required), startDate (required).

get_latest_readingA

Get the most recent glucose reading (typically from the last 5-15 minutes). This is the fastest way to check current glucose levels.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have clearly distinct purposes: one returns a set of recent readings over a time window, while the other returns only the single most recent reading. There is no ambiguity about which to use for a given scenario.

    Naming Consistency5/5

    Both tool names use a consistent 'get_adjective_noun' pattern (get_glucose_readings and get_latest_reading), making the naming predictable and easy to understand.

    Tool Count3/5

    With only two tools, the surface feels thin for a glucose monitoring server, but it covers the essential use cases of retrieving current and recent data. The count is reasonable for a focused utility, though it leaves little room for additional functionality.

    Completeness3/5

    The server covers the primary use case of retrieving real-time glucose data. However, it lacks tools for historical retrieval (beyond 24 hours), setting alerts, managing device status, or user authentication, which are common interactions for a Dexcom integration.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers