zepp-mcp
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-mcpWhat were my steps and sleep over the last week?"
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
MCP server exposing Zepp/Amazfit health and fitness data (steps, sleep, heart rate, workouts) as tools for MCP clients (e.g. Claude). Built with Hono and deployed on Cloudflare Workers.
It authenticates against Zepp's cloud API using your account email/password, caches the resulting session token in a Cloudflare KV namespace, and re-authenticates automatically when the cached token expires.
Requirements
Node.js and npm
A Cloudflare account
Wrangler (installed as a dev dependency)
A Zepp/Amazfit account (email + password)
Related MCP server: Oura MCP Server (Python)
Setup
Install dependencies:
npm installCreate your Wrangler config from the example and fill in a KV namespace ID:
cp wrangler.example.jsonc wrangler.jsoncCreate the KV namespace if you don't have one yet, then paste its ID into
wrangler.jsonc:npx wrangler kv namespace create ZEPP_KVCreate your local secrets file from the example:
cp .dev.vars.example .dev.varsFill in
ZEPP_EMAILandZEPP_PASSWORDwith your Zepp account credentials.
Development
Run the server locally:
npm run devThe MCP endpoint is served at /mcp (Streamable HTTP transport). / returns a basic status JSON payload.
Type-check the project:
npm run typecheckDeployment
npm run deployBefore deploying, set the same secrets in your Cloudflare Worker (instead of .dev.vars):
npx wrangler secret put ZEPP_EMAIL
npx wrangler secret put ZEPP_PASSWORDAfter deploying, Wrangler prints the Worker's public URL (e.g. https://zepp-mcp.<your-subdomain>.workers.dev). The MCP endpoint is that URL plus /mcp, e.g. https://zepp-mcp.<your-subdomain>.workers.dev/mcp. Note that the endpoint has no built-in authentication — anyone with the URL can call it — so treat it as a secret if that matters to you, or add your own auth in front of it.
Using the deployed MCP server
Point any MCP client that supports the Streamable HTTP transport at https://<your-worker-url>/mcp.
Claude Code
claude mcp add --transport http zepp https://zepp-mcp.<your-subdomain>.workers.dev/mcpClaude Desktop
Claude Desktop connects to remote HTTP servers via a local stdio proxy (mcp-remote). Add this to your claude_desktop_config.json:
{
"mcpServers": {
"zepp": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://zepp-mcp.<your-subdomain>.workers.dev/mcp"]
}
}
}Restart Claude Desktop after editing the config. The zepp_* tools should then show up in the tool picker.
Other MCP clients
Any client with native Streamable HTTP support (e.g. Cursor, Windsurf) can be pointed directly at the /mcp URL — check that client's docs for its config format. Clients that only support stdio servers can use the mcp-remote proxy pattern shown above.
Tools
Tool | Description |
| Check Zepp cloud login status and user ID |
| List paired Zepp/Amazfit devices on the account |
| Per-day steps, distance, calories, and sleep summary over a date range |
| List recent workout/sport sessions (runs, walks, cycling, etc) |
| Full detail for one workout (GPS track, pace, heart rate series, etc), by |
| User profile data (weight, height, birthday, gender, etc) |
| Heart rate readings over a date range |
| Sleep stage breakdown per night over a date range |
| Lactate threshold data, when available |
Date-range tools accept optional from_date / to_date in YYYY-MM-DD format and default to the last 30 days.
Project structure
src/
index.ts Hono app, MCP server wiring, /mcp route
tools/index.ts MCP tool registrations
zepp/
auth.ts Zepp login flow (token exchange + login)
client.ts ZeppClient: session caching + data API calls
constants.ts Zepp API URLs, headers, payload templates
types.ts Shared Zepp types
lib/
crypto.ts AES-CBC helper used to encrypt the login token request
kv-cache.ts Session caching in Cloudflare KVNotes
Session tokens are cached in KV for 24 hours and refreshed automatically on a 401/403 response.
wrangler.jsoncand.dev.varsare gitignored since they hold your KV namespace ID and account credentials — use the checked-in.examplefiles as templates.
This server cannot be installed
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 Connectors
Pace is a remote MCP server that exposes wearable and fitness data to Claude via the Model Context Protocol. It connects to Garmin, Oura, Whoop, Polar, Fitbit and 20+ devices and provides 15 tools for querying sleep, activity, recovery, and training data. Hosted on Google Cloud Run, OAuth 2.1 authentication, Streamable HTTP transport. Instructions: First you need to create an account at: https://pacetraining.co and connect your wearables. After that you can connect the remote Server via Custom Connector in Claude and OAuth 2.1 Flow startet.
Private Apple Health metrics and workout detail for ChatGPT, Claude, and any MCP client.
Multi-tenant hosted MCP server for Oura Ring — 21 read-only tools, OAuth per user.
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides access to Ultrahuman health and fitness data through standardized MCP tools, enabling AI assistants to retrieve metrics like sleep, movement, heart rate, and glucose.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to access Oura Ring health data including sleep, readiness, activity, heart rate, and workouts through MCP tools with OAuth2 authentication.1MIT
- AlicenseNot gradedqualityBmaintenanceExposes personal health data (recovery, sleep, strain, etc.) as MCP tools for AI agents to query and analyze.2MIT
- FlicenseNot gradedqualityBmaintenanceExposes Garmin Connect health data (steps, sleep, HR, HRV, stress, activities, etc.) as tools for MCP-compatible clients like Claude.
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/Adisudirta/zepp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server