Skip to main content
Glama

miband-mcp

晨熹 · Deja que la IA entienda tu muñeca

Servidor MCP de Python sin dependencias de terceros: lee la base de datos SQLite exportada por Gadgetbridge (datos de salud de 小米手环), la expone a través del protocolo MCP a cualquier cliente de IA compatible con MCP (Reasonix / Claude / Cursor / Kimi / GLM, etc.), y permite que la IA responda "¿cuántos pasos he dado hoy?" y "¿cómo he dormido anoche?".

Arquitectura

小米手环 9 / 9 Pro / 10 → Gadgetbridge(手机端采集)→ SQLite 导出 → miband-mcp(读库+聚合)→ MCP 协议 → AI

Related MCP server: garmin-givemydata

Herramientas proporcionadas

Herramienta

Parámetros

Retorno

get_hr

count (por defecto 10, máximo 100)

Últimas N lecturas de frecuencia cardíaca (hora + bpm)

get_sleep

date (por defecto hoy)

Hora de dormir/despertar, fases del sueño (light/deep/rem), duración total

get_daily

date (por defecto hoy)

Pasos, frecuencia cardíaca media/máxima/mínima

Inicio rápido

1. Preparar la fuente de datos

  • Instala Gadgetbridge en el teléfono (el repositorio oficial está en Codeberg, no en GitHub)

  • Conecta la pulsera siguiendo la guía de emparejamiento oficial (en 小米手环 9, la pulsera debe iniciar la conexión activamente: ajustes de la pulsera → operaciones del sistema → conectar nuevo teléfono)

  • Extrae la encryptKey de 32 bits de los registros de 小米运动健康 como clave de emparejamiento (nota: una vez vinculada no se puede desvincular, de lo contrario la clave deja de ser válida)

  • En los ajustes de Gadgetbridge → automatización → activa exportación automática de la base de datos

2. Ejecutar el servidor MCP

# 零依赖,纯标准库
python miband_mcp.py --db /path/to/gadgetbridge.db

3. Conectar con la IA (con Reasonix como ejemplo)

[[plugins]]
name    = "miband"
type    = "stdio"
command = "python"
args    = ["<路径>/miband_mcp.py", "--db", "<路径>/gadgetbridge.db"]
auto_start = true

Luego, una nueva sesión con /new para que surta efecto.

⚠️ Limitaciones actuales

La sincronización de datos es manual: este proyecto lee una instantánea de la base de datos SQLite exportada por Gadgetbridge, no obtiene datos automáticamente de la pulsera.

Flujo de trabajo actual:

  1. Los datos de la pulsera son recopilados por Gadgetbridge (requiere sincronización previa)

  2. Envía manualmente el archivo de base de datos exportado (.db) al ordenador que ejecuta miband-mcp

  3. La IA lee los datos más recientes de la base de datos mediante las herramientas MCP

Por lo tanto: la IA responde con los "datos de la última sincronización", no con datos en tiempo real. Si necesitas lectura en tiempo real, puedes combinar un script de Termux + sincronización programada para enviar automáticamente el archivo .db al ordenador (este proyecto aún no lo implementa; se aceptan PR).

Desarrollo

python -m unittest discover -s tests -v   # 34 个测试,零依赖

Licencia

MIT © ChenxiDawn · 晨熹

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Downloads all your Garmin health and fitness data into a local SQLite database and exposes 45 MCP tools for AI analysis, enabling assistants to query sleep, training load, HRV, and more.
    48
    93 PyPI
    158
    AGPL 3.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Read-only MCP server that exposes Apple Health data (steps, workouts, sleep, etc.) from a local SQLite store, allowing AI agents to query health metrics without sending data to hosted services.
    8
    Apache 2.0
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to retrieve and analyze Garmin Connect health data, including daily summaries, sleep, HRV, workouts, and raw FIT files, while also supporting SQL queries on the underlying database.
    8
    -