Mi Fitness Data Bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MI_FITNESS_DB_PATH | No | Path to the SQLite database file. Overrides the default location. Can also be set via --db flag. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_connection_statusC | Check connection status |
| sync_dataC | Synchronize Mi Fitness data |
| get_sync_statusC | Get background synchronization status |
| get_profileB | Get user profile information |
| get_daily_summaryC | Get daily activity summary |
| query_metric_seriesD | Query metric series |
| query_heart_rateC | Query heart rate samples |
| query_body_measurementsD | Query body measurements |
| query_sleepC | Query sleep sessions |
| query_workoutsD | Query workouts |
| workout_seriesA | Get an agent-safe, auto-downsampled time series for a workout metric (contract agent-safe-series/v1). Points carry numeric t offsets in seconds from start_time. Always reports downsampled/source_points/returned_points/method plus full-resolution summary stats; never returns more than max_points points. For cross-activity comparison of time_in_zone, pass reference_max_hr (e.g. the athlete's known max HR); otherwise each activity is normalized to its own max and zone distributions are not comparable across activities. |
| query_spo2C | Query blood oxygen saturation samples |
| query_stressC | Query stress samples |
| query_abnormal_heart_beatC | Query abnormal heart beat events |
| get_data_coverageD | Get data coverage |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Most tools have distinct purposes: sync vs. status, profile vs. daily summary, and each query_* targets a specific data type (heart rate, sleep, workouts, etc.). However, query_metric_series overlaps conceptually with the specific query tools, and its relationship to them is not fully clear from descriptions alone.
The majority follow a clear get_/query_ + noun pattern (e.g., get_profile, query_sleep), and sync_data continues the verb_noun style. The one outlier is workout_series, which is a noun phrase and breaks the consistent convention.
Fifteen tools is at the upper bound of the well-scoped range but still reasonable for covering connection, sync, profile, and diverse fitness metrics. The inclusion of both generic and specific query tools creates mild redundancy, but overall the count is not excessive.
The tool set covers the full spectrum of fitness data access: connection, synchronization, profile, daily summaries, raw metrics (heart rate, SpO2, stress), workouts, sleep, and body measurements. It includes both data retrieval and sync management, with no obvious dead ends for typical use cases.