zepp-mcp
Click on "Deploy 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-mcpHow was my sleep last night?"
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-mcp 🏃
Connect your Amazfit / Zepp watch to Claude. Free and open-source.
Ask Claude things like:
"When was I most stressed this week?"
"Show my hourly stress breakdown for yesterday"
"How has my sleep been this month?"
"What time of day am I consistently most stressed?"
How it works
Your Amazfit watch syncs to the Zepp app → which stores data on Huami's servers. This MCP server reads that data and gives Claude tools to analyze it.
Stress scores come directly from your watch's sensor (same data as the Zepp app). Older devices fall back to a heart rate variability proxy.
Related MCP server: oura-ring-mcp
Setup (3 steps)
1. Install
git clone https://github.com/your-username/zepp-mcp
cd zepp-mcp
pip install -e .2. Add to Claude Desktop
Open ~/Library/Application Support/Claude/claude_desktop_config.json and add:
{
"mcpServers": {
"zepp-health": {
"command": "/full/path/to/zepp-mcp/.venv/bin/zepp-mcp",
"env": {
"ZEPP_EMAIL": "your@email.com",
"ZEPP_PASSWORD": "yourpassword"
}
}
}
}Get the full path by running
which zepp-mcpafter install.
3. Restart Claude Desktop
Quit completely (Cmd+Q) and reopen. Done — Claude now has access to your health data.
Available tools
Tool | What it does |
| Stress analysis for past N days with time-of-day patterns |
| Sleep stages, duration, and steps per night |
| Daily avg/min/max heart rate |
| Quick snapshot: steps, HR, stress, last night's sleep |
Example questions
When was I most stressed this week?
Show my hourly stress breakdown for the past 3 days
How has my sleep been this month?
What's my resting heart rate trend this week?
Was I more stressed on weekdays or weekends?Supported devices
Any Amazfit watch or band that syncs with the Zepp app: GTR, GTS, T-Rex, Bip, Band series, and Mi Band (via Zepp Life).
How auth works
On first run, the server logs in with your email + password and caches the token
in ~/.zepp_mcp_token. If the token expires, it refreshes automatically.
Your credentials never leave your machine — they're only sent to Huami's servers
(the same as the official Zepp app).
Contributing
PRs welcome! Ideas:
SPO2 / blood oxygen tool
Workout history
Export to CSV
Credits
bentasker/zepp_to_influxdb — reverse-engineered API endpoints
micw/hacking-mifit-api — original auth flow
argrento/huami-token — 2025 AES auth
This server cannot be deployed
Maintenance
Related MCP Connectors
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
Connect Claude to your Intervals.icu watch data for fitness, workout review, and plan writing.
Related MCP Servers
- AlicenseAqualityAmaintenanceBridges Suunto watch data to AI assistants like Claude, enabling natural language queries about workouts, sleep, and recovery.20193 npm29MIT
- AlicenseBqualityFmaintenanceConnects your Oura Ring to AI assistants like Claude, providing human-readable insights about sleep, readiness, activity, and health metrics with smart analysis.2751 npm27MIT
- FlicenseNot gradedqualityCmaintenanceConnects Garmin watch data to Claude Desktop, allowing users to ask natural language questions about their health and activity data from Garmin Connect.-
- AlicenseAqualityBmaintenanceA read-only MCP server that gives Claude Desktop access to your Garmin Connect data — daily health metrics, sleep, activities, training status, and body composition.6MIT