Dexcom MCP 服务器

Dexcom MCP 服务器是一个用于与Claude Desktop集成的开发工具,允许用户通过OAuth认证访问Dexcom的血糖数据。

  • by jeremyclee
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jeremyclee/dexcom-api-oauth-mcp

使用说明

Dexcom MCP服务器-初学者指南

本指南将帮助您设置Dexcom MCP服务器以与Claude Desktop配合使用,即使您以前从未使用过开发人员工具。

先决条件

在开始之前,您需要安装 Node.js:

  1. 首选 nodejs.org.
  2. 下载并安装 LTS版本 (推荐给大多数用户)。
  3. 按照安装提示接受默认设置。

步骤1:获取您的Dexcom凭据

您需要一个开发人员帐户来访问自己的Dexcom数据。

[!注意] 美国以外? 下面的自助服务开发人员门户仅适用于美国账户。如果你在另一个国家,你需要联系 Dexcom开发人员支持 直接-他们将手动发布您的 客户端ID 和 客户端密钥 资格证书。一旦你有了它们,跳到步骤2。

  1. 去 Dexcom开发者门户 并创建一个帐户。
  2. 创建新的“应用程序”:
    • 应用程序名称: My Clarity MCP Server (或任何你喜欢的东西)
    • 重定向URI: http://localhost:3001/auth/callback (必须准确无误)
  3. 创建后,保存这两个值:
    • 客户端ID
    • 客户端密钥

步骤2:设置项目

  1. 打开 终端 Mac上的应用程序(命令+空格键,键入“终端”)。

  2. 逐一复制并粘贴这些命令(每个命令后按Enter键):

    # Navigate to your project folder
    cd [path-to-your-project]/dexcom-api-oauth-mcp
    
    # Install dependencies for the OAuth Server
    cd oauth-server
    npm install
    
    # Setup your configuration file
    cp .env.example .env
    
    # Install dependencies for the MCP Server
    cd ../mcp-server
    npm install
    
    # Build the MCP Server
    npm run build
    

步骤3:配置您的凭据

  1. 打开刚才创建的配置文件:
    open [path-to-your-project]/dexcom-api-oauth-mcp/oauth-server/.env
    
  2. 它将在TextEdit中打开。看看这些线:
    DEXCOM_CLIENT_ID=your_client_id_here
    DEXCOM_CLIENT_SECRET=your_client_secret_here
    
  3. 替换 your_client_id_here 和 your_client_secret_here 使用从步骤1中获得的值。
  4. 保存文件(Command+S)并关闭TextEdit。

步骤4:启动OAuth服务器

此服务器处理Dexcom的安全登录。它需要运行才能使工具工作。

  1. 在终端中,运行:
    cd [path-to-your-project]/dexcom-api-oauth-mcp/oauth-server
    npm run dev
    
  2. 你应该看到一条消息说 🚀 Dexcom OAuth Server 正在运行。
  3. 保持此终端窗口打开! 如果关闭它,服务器将停止。

步骤5:身份验证

  1. 打开您的网络浏览器,然后转到: http://localhost:3001/auth/login
  2. 您将被重定向到Dexcom。使用您的账号登录 Dexcom用户名和密码.
  3. 授权应用程序。
  4. 您应该看到“身份验证成功”消息。

步骤6:连接到克劳德桌面

  1. 打开A 新 终端窗口(命令+N)。

  2. 运行以下命令打开Claude配置:

    open -a TextEdit "~/Library/Application Support/Claude/claude_desktop_config.json"
    

    注意:如果文件不存在,您可能需要手动创建它。

  3. 将以下内容添加到文件中。如果已经有其他服务器,请将其添加到 mcpServers 列表:

    {
      "mcpServers": {
        "dexcom": {
          "command": "node",
          "args": [
            "[path-to-your-project]/dexcom-api-oauth-mcp/mcp-server/build/index.js"
          ],
          "env": {
            "OAUTH_SERVER_URL": "http://localhost:3001"
          }
        }
      }
    }
    
  4. 保存并关闭文件。

第7步:在克劳德身上使用它!

  1. 重新启动克劳德桌面。(完全退出并重新打开)。
  2. 你应该看到一个插头图标🔌 表示MCP工具已加载。
  3. 问克劳德:
    • “我现在的血糖是多少?”
    • “给我看看我今天的血糖表”
    • “我过去7天的统计数据是什么?”

故障排除

  • “未经身份验证”: 确保OAuth服务器(步骤4)仍在终端窗口中运行。首选 http://localhost:3001/auth/login 再一次。

  • 工具未显示: 检查您的路径 claude_desktop_config.json它必须准确地指向 index.js 文件。

  • 真实数据与沙盒: 默认情况下,这使用Dexcom的 沙盒 (虚假数据)。要查看您的真实数据:

    1. 打开 .env 再次打开文件(步骤3)。
    2. 改变 DEXCOM_ENV 您所在的地区:
      • 我们: DEXCOM_ENV=production
      • 欧洲/加拿大/国际: DEXCOM_ENV=production_eu
      • 日本: DEXCOM_ENV=production_jp
    3. 这将自动将API URL切换到正确的区域。
    4. 重新启动OAuth服务器(Control+C停止,然后 npm run dev 开始)。
    5. 再次进行身份验证(步骤5)。

与ChatGPT一起使用

[!注意] 将ChatGPT连接到自定义MCP服务器需要 付费ChatGPT计划 (Plus、Pro或Team)启用了开发人员连接器功能。

ChatGPT无法直接连接到本地运行的MCP服务器——它需要一个 公共URL. 吸烟 创建从公共URL到本地计算机的安全隧道。

步骤A:安装ngrok

  1. 首选 ngrok.com 并创建一个免费帐户。
  2. 通过npm安装ngrok(或使用 npx ngrok):
    npm install -g ngrok
    
  3. 使用您的帐户令牌对ngrok进行身份验证(显示在ngrok仪表板中):
    ngrok config add-authtoken YOUR_NGROK_TOKEN
    

步骤B:启动服务器

  1. 确保 OAuth服务器 正在运行 你已经通过了Dexcom的身份验证 (上述步骤4和5)。服务器必须正在运行,并且您的Dexcom会话处于活动状态,然后才能继续。
  2. 在新的终端中,启动MCP服务器 HTTP模式:
    cd [path-to-your-project]/dexcom-api-oauth-mcp/mcp-server
    npm run dev:http
    
    您应该看到: 🚀 Dexcom MCP HTTP Server running on port 3002

步骤C:用ngrok暴露

  1. 在另一个新的终端窗口中,运行:
    ngrok http 3002
    
  2. ngrok将显示一个公共URL,如下所示:
    Forwarding  https://abc123.ngrok-free.app -> http://localhost:3002
    
  3. 复制 https://...ngrok-free.app URL——下一步您将需要它。

步骤D:连接到ChatGPT

  1. 在ChatGPT中,转到 设置→ Apps → 创建应用程序.
  2. 在MCP服务器配置下,输入:
    • 统一资源定位符: https://abc123.ngrok-free.app/mcp (您的ngrok URL+ /mcp)
    • 认证: No Auth
  3. ChatGPT将连接并发现可用的Dexcom工具。
  4. 询问ChatGPT: “我目前的血糖水平是多少?”

[!注意] 每次重新启动ngrok(在免费计划中)时,ngrok URL都会更改。您需要在每个会话中更新ChatGPT连接器URL。付费的ngrok计划为您提供稳定的自定义域名。