Skip to main content
Glama

miband-mcp

晨熹 · Lass die KI dein Handgelenk verstehen

Python-MCP-Server ohne Drittanbieter-Abhängigkeiten: Liest die von Gadgetbridge exportierte SQLite-Datenbank (Xiaomi-Mi-Band-Gesundheitsdaten) und stellt sie über das MCP-Protokoll jedem MCP-fähigen KI-Client (Reasonix / Claude / Cursor / Kimi / GLM usw.) bereit, sodass die KI Fragen wie „Wie viele Schritte habe ich heute gemacht?" oder „Wie habe ich letzte Nacht geschlafen?" beantworten kann.

Architektur

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

Related MCP server: garmin-givemydata

Bereitgestellte Tools

Tool

Parameter

Rückgabe

get_hr

count (Standard 10, max. 100)

Die letzten N Herzfrequenzmessungen (Zeit + bpm)

get_sleep

date (Standard heute)

Einschlaf-/Aufwachzeit, Schlafphasen (light/deep/rem), Gesamtdauer

get_daily

date (Standard heute)

Schritte, durchschnittliche/maximale/minimale Herzfrequenz

Schnellstart

1. Datenquelle vorbereiten

  • Gadgetbridge auf dem Handy installieren (offizielles Repository ist auf Codeberg, nicht GitHub)

  • Gemäß der offiziellen Pairing-Anleitung das Band verbinden (beim Xiaomi Mi Band 9 muss das Band selbstständig die Verbindung initiieren: Band-Einstellungen → Systemaktionen → Neues Telefon verbinden)

  • Den 32-stelligen encryptKey aus den Logs der Mi Fitness-App extrahieren und als Pairing-Schlüssel verwenden (Achtung: Nach dem Pairing kann die Bindung nicht aufgehoben werden, sonst wird der Schlüssel ungültig)

  • Gadgetbridge-Einstellungen → Automatisierung → Automatischen Datenbankexport aktivieren

2. MCP-Server ausführen

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

3. KI-Anbindung (am Beispiel von Reasonix)

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

Anschließend eine neue Sitzung mit /new starten, damit die Änderungen wirksam werden.

⚠️ Aktuelle Einschränkungen

Datensynchronisierung erfolgt manuell: Dieses Projekt liest eine von Gadgetbridge exportierte SQLite-Datenbank-Snapshot-Datei und zieht nicht automatisch Daten vom Band.

Aktueller Ablauf:

  1. Die Daten werden vom Band über Gadgetbridge erfasst (Synchronisierung erforderlich)

  2. Die exportierte Datenbankdatei (.db) wird manuell an den Computer gesendet, auf dem miband-mcp läuft

  3. Die KI liest über die MCP-Tools die neuesten Daten aus der Datenbank

Daher: Die KI antwortet auf Basis der „zuletzt synchronisierten Daten", nicht in Echtzeit. Für Echtzeitdaten kann ein Termux-Skript + zeitgesteuerte Synchronisierung verwendet werden, um die .db-Datei automatisch auf den Computer zu übertragen (in diesem Projekt noch nicht implementiert, Beiträge/PRs sind willkommen).

Entwicklung

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

Lizenz

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
    -