这是一个提供对Dexcom G7连续葡萄糖监测数据访问的Model Context Protocol (MCP)服务器。此服务器允许AI助手和其他MCP客户端从您的Dexcom G7设备中检索当前血糖读数和历史数据。
# 构建镜像
docker build -t dexcom-mcp .
# 使用您的凭证运行
docker run -p 8007:8007 \
-e DEXCOM_USERNAME="your-dexcom-username" \
-e DEXCOM_PASSWORD="your-dexcom-password" \
-e DEXCOM_REGION="us" \
dexcom-mcp
对于与其他MCP服务器的编排部署,请使用mcp-compose:
# mcp-compose.yaml
version: '1'
servers:
dexcom:
image: dexcom-mcp:local
runtime: docker
build:
context: .
dockerfile: Dockerfile
protocol: http
http_port: 8007
env:
HTTP_PORT: "8007"
DEXCOM_REGION: "us"
DEXCOM_USERNAME: "your-dexcom-username"
DEXCOM_PASSWORD: "your-dexcom-password"
capabilities: [tools]
networks: [mcp-net]
然后启动:
mcp-compose up dexcom
| 变量 | 描述 | 默认值 | 是否必需 |
|---|---|---|---|
DEXCOM_USERNAME | 您的Dexcom账户用户名 | - | 是 |
DEXCOM_PASSWORD | 您的Dexcom账户密码 | - | 是 |
DEXCOM_REGION | Dexcom区域(us或ous) | us | 否 |
HTTP_PORT | HTTP服务器端口 | 8007 | 否 |
注意:对于非美国用户,请设置DEXCOM_REGION=ous(Outside US)。
get_current_glucose检索您Dexcom G7的最新血糖读数。
参数:无
示例响应:
🩸 当前血糖:120 mg/dL (6.66 mmol/L)
📈 趋势:平稳
⏰ 时间:2024-01-15 14:30:00
get_glucose_history检索指定时间段的历史血糖读数。
参数:
hours(整数,可选):要检索的历史小时数(默认:6)示例响应:
📊 最近6小时的血糖读数:
1. 2024-01-15 14:30:00 - 120 mg/dL (6.66 mmol/L) [平稳]
2. 2024-01-15 14:25:00 - 118 mg/dL (6.55 mmol/L) [平稳]
3. 2024-01-15 14:20:00 - 115 mg/dL (6.39 mmol/L) [缓慢上升]
...
curl -X POST http://localhost:8007/ \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {"name": "test-client", "version": "1.0.0"}
}
}'
curl -X POST http://localhost:8007/ \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_current_glucose",
"arguments": {}
}
}'
curl -X POST http://localhost:8007/ \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "get_glucose_history",
"arguments": {"hours": 12}
}
}'
在您的Claude Desktop MCP设置中添加:
{
"servers": [
{
"name": "dexcom",
"httpEndpoint": "http://localhost:8007",
"capabilities": ["tools"],
"description": "Dexcom G7血糖监测器"
}
]
}
使用位于http://localhost:8007/openapi.json的自动生成OpenAPI规范(当使用mcp-compose代理时)。
此服务器使用HTTP传输而不是许多MCP服务器使用的传统STDIO传输。这提供了几个优势:
包含的entrypoint.sh提供了Socat集成,适用于期望STDIO传输的环境。当与MCP-Compose的Socat托管功能一起使用时,它可以在TCP套接字和服务器进程之间建立桥梁:
# 入口点包装服务器以实现STDIO兼容性
socat TCP-LISTEN:12345,reuseaddr,bind=0.0.0.0 EXEC:"python server.py"
这使得基于HTTP的服务器能够与期望STDIO的编排器一起工作,同时保持HTTP传输的优势。
有关Socat托管和编排的更多信息,请参阅mcp-compose文档。
身份验证失败
没有最近的数据
连接超时
通过设置日志级别启用调试日志记录:
docker run -p 8007:8007 \
-e DEXCOM_USERNAME="your-username" \
-e DEXCOM_PASSWORD="your-password" \
-e PYTHONUNBUFFERED=1 \
dexcom-mcp
本软件未经Dexcom, Inc.的关联或认可。使用本软件需要有效的Dexcom账户凭证,并受Dexcom的服务条款约束。此工具仅供个人使用,不应作为适当医疗监控和护理的替代品。