zepp-mcp
zepp-mcp
Servidor MCP que expone datos de salud y fitness de Zepp/Amazfit (pasos, sueño, frecuencia cardíaca, entrenamientos) como herramientas para clientes MCP (p. ej. Claude). Construido con Hono y desplegado en Cloudflare Workers.
Se autentica contra la API en la nube de Zepp usando el correo electrónico y la contraseña de tu cuenta, guarda en caché el token de sesión resultante en un espacio de nombres KV de Cloudflare y se vuelve a autenticar automáticamente cuando el token en caché expira.
Requisitos
Node.js y npm
Una cuenta de Cloudflare
Wrangler (instalado como dependencia de desarrollo)
Una cuenta de Zepp/Amazfit (correo electrónico + contraseña)
Related MCP server: Oura MCP Server (Python)
Configuración
Instala las dependencias:
npm installCrea tu configuración de Wrangler a partir del ejemplo y completa un ID de espacio de nombres KV:
cp wrangler.example.jsonc wrangler.jsoncCrea el espacio de nombres KV si aún no tienes uno y luego pega su ID en
wrangler.jsonc:npx wrangler kv namespace create ZEPP_KVCrea tu archivo local de secretos a partir del ejemplo:
cp .dev.vars.example .dev.varsCompleta
ZEPP_EMAILyZEPP_PASSWORDcon las credenciales de tu cuenta de Zepp.
Desarrollo
Ejecuta el servidor localmente:
npm run devEl endpoint MCP se sirve en /mcp (transporte HTTP Streamable). / devuelve un payload JSON básico de estado.
Verifica los tipos del proyecto:
npm run typecheckDespliegue
npm run deployAntes de desplegar, configura los mismos secretos en tu Worker de Cloudflare (en lugar de .dev.vars):
npx wrangler secret put ZEPP_EMAIL
npx wrangler secret put ZEPP_PASSWORDDespués de desplegar, Wrangler imprime la URL pública del Worker (p. ej. https://zepp-mcp.<your-subdomain>.workers.dev). El endpoint MCP es esa URL más /mcp, p. ej. https://zepp-mcp.<your-subdomain>.workers.dev/mcp. Ten en cuenta que el endpoint no tiene autenticación integrada — cualquiera con la URL puede llamarlo — así que trátalo como un secreto si te importa, o añade tu propia autenticación delante.
Usar el servidor MCP desplegado
Apunta cualquier cliente MCP que admita el transporte HTTP Streamable a https://<your-worker-url>/mcp.
Claude Code
claude mcp add --transport http zepp https://zepp-mcp.<your-subdomain>.workers.dev/mcpClaude Desktop
Claude Desktop se conecta a servidores HTTP remotos a través de un proxy stdio local (mcp-remote). Añade esto a tu claude_desktop_config.json:
{
"mcpServers": {
"zepp": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://zepp-mcp.<your-subdomain>.workers.dev/mcp"]
}
}
}Reinicia Claude Desktop después de editar la configuración. Las herramientas zepp_* deberían aparecer entonces en el selector de herramientas.
Otros clientes MCP
Cualquier cliente con soporte nativo de HTTP Streamable (p. ej. Cursor, Windsurf) se puede apuntar directamente a la URL /mcp; consulta la documentación de ese cliente para conocer su formato de configuración. Los clientes que solo admiten servidores stdio pueden usar el patrón de proxy mcp-remote mostrado arriba.
Herramientas
Herramienta | Descripción |
| Comprueba el estado de inicio de sesión en la nube de Zepp y el ID de usuario |
| Lista los dispositivos Zepp/Amazfit emparejados en la cuenta |
| Resumen diario de pasos, distancia, calorías y sueño en un rango de fechas |
| Lista las sesiones recientes de entrenamiento/deporte (carreras, caminatas, ciclismo, etc.) |
| Detalle completo de un entrenamiento (recorrido GPS, ritmo, series de frecuencia cardíaca, etc.) por |
| Datos del perfil del usuario (peso, altura, fecha de nacimiento, género, etc.) |
| Lecturas de frecuencia cardíaca en un rango de fechas |
| Desglose de fases de sueño por noche en un rango de fechas |
| Datos de umbral de lactato, cuando estén disponibles |
Las herramientas de rango de fechas aceptan from_date / to_date opcionales en formato YYYY-MM-DD y por defecto usan los últimos 30 días.
Estructura del proyecto
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 KVNotas
Los tokens de sesión se guardan en caché en KV durante 24 horas y se renuevan automáticamente ante una respuesta 401/403.
wrangler.jsoncy.dev.varsestán en gitignore porque contienen tu ID de espacio de nombres KV y las credenciales de la cuenta: usa los archivos.exampleincluidos en el repositorio como plantillas.
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