Zepp Life MCP
The Zepp Life MCP server provides tools to cache, synchronize, and query health and fitness data from Zepp Life (Xiaomi/Huami wearables) using cloud sessions or local export files.
Capabilities:
Check connection status and sync health.
Sync selected data types (daily activity, sleep, heart rate, workouts, body measurements) to a local SQLite cache with optional date ranges and force full sync.
Retrieve user profile info, optionally including connected devices.
Get daily activity summaries for specific dates or ranges.
Query time series metrics (steps, distance, active kcal, weight, sleep minutes) with aggregations (sum, avg, min, max, latest) and granularity (day/week/month).
Query sleep sessions with details (light, deep, REM, awake, wake count) and optional nap and sleep stage breakdowns.
Query workouts filtered by activity type, minimum distance, and/or minimum duration.
Query heart rate samples, filterable by type (resting, active, passive, workout).
Query body measurements (weight, BMI, body fat, muscle mass, water percentage) with option for latest only.
Get data coverage showing available date ranges and days with data for each type.
Automatically manage SQLite database schema upgrades and create backups for destructive migrations.
Provides tools to access and sync health data from Zepp Life (Xiaomi ecosystem), including steps, sleep, heart rate, workouts, and body measurements, either via local export files or cloud session.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Zepp Life MCPShow my workouts from the last 30 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Zepp Life MCP
MCP server for Zepp Life data.
This project provides local caching, sync, and MCP tools for Zepp Life data from either exported files or the Zepp cloud session flow.
Supported sources
export_filefor local Zepp exportscloud_sessionforapptoken-based cloud access
Related MCP server: Mi Fitness MCP
Current data coverage
The current implementation supports:
daily steps, distance, and active calories
sleep sessions with light, deep, REM, awake time, and wake count
passive and resting heart rate (
slp.rhr)workouts with readable sport names for known Zepp sport codes
weight and body-composition measurements
Cloud coverage can vary by account, region, and upstream endpoint stability. Export mode is the safest option when you need predictable full-history access.
Cloud connections are lazy: server startup and tools/list do not wait for Zepp login. The first data tool establishes one shared connection. If user_id is omitted, the adapter attempts to discover the numeric UID from the last 30 days of band summary data and stores it in the system keyring.
Install
python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'Setup
Cloud session
You need an apptoken.
Typical flow:
Open
https://user.huami.com/privacy2/index.htmlSign in to the Zepp Life account
Open browser DevTools
Find the
apptokencookie
Then configure the server:
zepp-life-mcp setup --mode cloud_session --token "<apptoken>" --region eu
zepp-life-mcp doctor--user-id remains supported and can be supplied explicitly if automatic discovery is unavailable.
Export file mode
zepp-life-mcp setup --mode export_file --export-path ~/Downloads/ZeppExport
zepp-life-mcp doctorUse
zepp-life-mcp sync --start-date 2022-01-01 --end-date 2022-12-31
zepp-life-mcp serveMCP client config
Example Claude Desktop config:
{
"mcpServers": {
"zepp-life": {
"command": "zepp-life-mcp",
"args": ["serve"]
}
}
}MCP tools
All tool responses keep the backward-compatible JSON envelope with status: "ok" or status: "error". Failed calls also use MCP isError: true.
Tool | Purpose |
| Report configuration, lazy connection state, and sync health |
| Sync selected data types with optional |
| Return the connected user ID/timezone and accept the compatible |
| Query one date or a date range of daily activity |
| Query |
| Query sleep sessions by sleep start date with optional naps/stages |
| Query workouts with activity, duration, and distance filters |
| Query resting/active/passive/workout heart-rate samples |
| Query weight/body metrics with optional latest-only output |
| Report first/last dates and days with data by type |
Sync and storage behavior
SQLite schema upgrades run automatically through
PRAGMA user_versionmigrations.Destructive rebuild migrations create a timestamped database backup first.
Sync cursors are scoped by source, user, and data type.
Empty successful syncs update the attempt/success state and advance the logical date cursor.
Failed or partial syncs report
failed_data_types; a failed pass never advances its cursor.Existing 0.1.0 databases are upgraded in place without reinterpreting legacy calendar dates.
Example prompts
Show my workouts from the last 30 daysHow has my weight changed this year?Summarize my sleep for the past weekSync my latest Zepp Life data
Commands
zepp-life-mcp --help
zepp-life-mcp setup --help
zepp-life-mcp doctor
zepp-life-mcp sync --help
zepp-life-mcp serveDevelopment
uv run ruff check src tests scripts
uv run pytest -q
uv run python -m buildTroubleshooting
Connection: failedverify
apptokenprovide
--user-idif automatic UID discovery is unavailable
No export data foundverify the extracted archive path
verify that CSV or JSON export files are present
syncreturns no datatry another date range
try export mode if cloud coverage is incomplete
Security
apptokenis stored via the system keyringdo not commit
.env, exported health data, or local SQLite filesprefer interactive setup over pasting secrets into shell history
Disclaimer
This is an unofficial project and is not affiliated with Xiaomi or Zepp Health.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceRead your Samsung Health CSV/ZIP exports — activity, sleep, heart, stress — locally. It is a local-first MCP server that keeps your tokens on your machine.1815610MIT
- AlicenseCqualityCmaintenanceMCP server for Mi Fitness cloud data. Provides a local SQLite-backed server to sync and query daily activity, heart rate, and body measurements.124MIT
- AlicenseCqualityBmaintenanceEnables reading and syncing Xiaomi Mi Fitness health data (steps, heart rate, sleep, workouts) from the Chinese cloud region to a local SQLite database via MCP tools.103MIT
- AlicenseNot gradedqualityCmaintenanceSelf-hosted MCP server that syncs Xiaomi fitness data to SQLite and provides authenticated tools to query health metrics (steps, sleep, HR, etc.) for AI assistants like Grok.GPL 3.0
Related MCP Connectors
MCP server for Withings health data — sleep, activity, heart, and body metrics.
MCP server for Zooza — class scheduling, attendance, and booking for activity businesses.
MCP server wrapping the Tesla Fleet API and TeslaMate API
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kubulashvili/zepp-life-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server