Skip to main content
Glama
kirisawa-subaru

miband-health-mcp

sync_health

Update cached health records from your Mi Band and report actual record-time advancement. Optionally trigger app-level synchronization via Gadgetbridge or Xiaomi Health.

Instructions

Update the selected local cache and report actual record-time advancement.

Gadgetbridge exports and pulls its database over ADB; refresh_app=true first requests recorded-data synchronization from the band and waits for completion. Xiaomi Health reads through SSH; refresh_app=true invokes its internal background synchronization. No screen interaction or new physiological measurement is requested. Configure the transport once; cached queries still work when the phone is unavailable. Concurrent syncs share a single writer; timeout_seconds: 1..180.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
refresh_appNo
timeout_secondsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say the tool is not read-only and not destructive, leaving much behavioral detail uncovered. The description adds substantial value: backend-specific sync over ADB/SSH, refresh_app=true waiting for completion, no new physiological measurement, one-time transport configuration, offline cached queries, and a single-writer concurrency constraint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the core purpose stated first and every subsequent sentence adding high-value operational details like transport mechanics, concurrency, offline behavior, and timeout bounds. There is no filler or redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter sync command with transport-dependent behavior and no required inputs, this covers all operational essentials: refresh semantics, backend differences, persistence of configuration, concurrency, timeout range, and the reported record-time advancement. Since an output schema exists, return-value details do not need to be repeated in prose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden and mostly meets it: refresh_app=true's effect is spelled out for both transports, and timeout_seconds is bounded to 1..180, adding information absent from the schema. The only small gap is not explicitly describing the refresh_app=false default path, though it is inferable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb and resource: it updates the selected local cache and reports record-time advancement. It also clarifies that no screen interaction or new physiological measurement is requested, which distinguishes it from measurement-oriented siblings, though it does not explicitly name an alternative tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when refresh_app=true triggers synchronization and notes transport setup, concurrent writer, and offline cache behavior, giving useful context. However, it never explicitly states when to use this tool over query_health or get_health_status, or when to skip it; the usage guidance remains implied rather than directly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.