Skip to main content
Glama

miband-mcp

晨熹 · Пусть ИИ понимает твоё запястье

Python MCP-сервер без сторонних зависимостей: читает базу данных SQLite, экспортированную из Gadgetbridge (данные о здоровье с браслета Xiaomi), и предоставляет их через протокол MCP любому MCP-совместимому ИИ-клиенту (Reasonix / Claude / Cursor / Kimi / GLM и др.), позволяя ИИ отвечать на вопросы «Сколько шагов я прошёл сегодня?» и «Как я спал прошлой ночью?».

Архитектура

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

Related MCP server: garmin-givemydata

Предоставляемые инструменты

Инструмент

Параметры

Возвращает

get_hr

count (по умолчанию 10, максимум 100)

Последние N записей пульса (время + bpm)

get_sleep

date (по умолчанию сегодня)

Время засыпания/пробуждения, фазы сна (light/deep/rem), общая длительность

get_daily

date (по умолчанию сегодня)

Шаги, средний/максимальный/минимальный пульс

Быстрый старт

1. Подготовка источника данных

  • Установите Gadgetbridge на телефон (официальный репозиторий находится на Codeberg, а не на GitHub)

  • Подключите браслет по официальному руководству по сопряжению (для Xiaomi Smart Band 9 требуется активное подключение со стороны браслета: настройки браслета → системные операции → подключить новый телефон)

  • Извлеките 32-значный encryptKey из журналов Mi Fitness в качестве ключа сопряжения (внимание: после привязки отвязать нельзя, иначе ключ станет недействительным)

  • Настройки Gadgetbridge → Автоматизация → включите автоматический экспорт базы данных

2. Запуск MCP-сервера

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

3. Подключение ИИ (на примере Reasonix)

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

Затем создайте новый сеанс с помощью /new, чтобы изменения вступили в силу.

⚠️ Текущие ограничения

Синхронизация данных выполняется вручную: этот проект читает снимок базы данных SQLite, экспортированный из Gadgetbridge, и не загружает данные с браслета автоматически.

Текущий рабочий процесс:

  1. Данные с браслета собираются Gadgetbridge (требуется предварительная синхронизация)

  2. Вручную отправьте экспортированный файл базы данных (.db) на компьютер, где запущен miband-mcp

  3. ИИ читает последние данные из базы данных через инструменты MCP

Поэтому: ИИ отвечает на основе «данных последней синхронизации», а не в реальном времени. Если нужны данные в реальном времени, можно использовать скрипты Termux + периодическую синхронизацию для автоматической отправки файла .db на компьютер (в этом проекте пока не реализовано, приветствуются PR).

Разработка

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

Лицензия

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
    -