使用说明
Withings MCP
健康数据编排器 -一个连接到Withings的FastAPI服务,接收健康数据,并将其标准化为类似kubectl的观察结果。
特性
- Withings身份验证的OAuth2流
- 自动令牌刷新
- 符合JOIN标准的数据规范化(LOINC代码)
- 后台同步调度程序(每2小时一次)
- 加密令牌存储
- SQLite(开发)/PostgreSQL(产品)支持
- Docker已准备好铁路和渲染配置
快速开始
1.克隆和安装
git clone https://github.com/Orchid1970/withings-mcp.git
cd withings-mcp
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
2.配置环境
cp .env.example .env
# Edit .env with your Withings credentials
生成加密密钥:
from cryptography.fernet import Fernet
print(Fernet.generate_key().decode())
3.本地运行
uvicorn src.app:api --reload --host 0.0.0.0 --port 8000
4.部署到铁路
npm install -g @railway/cli
railway login
railway init
railway up
然后在Railway仪表板中设置环境变量。
API终点
| 端点 | 方法 | 描述 |
|---|---|---|
/health |
GET | 健康检查 |
/auth/withings |
GET | 启动OAuth流 |
/auth/withings/callback |
GET | OAuth回调 |
/workflows/withings/sync |
POST | 触发手动同步 |
/workflows/withings/observations |
GET | 获取存储的观察结果 |
FHIR 映射
Withings测量值映射到LOINC代码:
| Withings | LOINC | 描述 |
|---|---|---|
| 1 | 29463-7 | 体重 |
| 10 | 8480-6 | 收缩压 |
| 11 | 8462-4 | 舒张压 |
| 12 | 8867-4 | 心率 |
| ... | ... | 请参阅 src/fhir_mappings.py |
许可证
麻省理工学院
