Skip to main content
Glama

zepp-mcp

MCP-сервер, предоставляющий данные о здоровье и фитнесе Zepp/Amazfit (шаги, сон, пульс, тренировки) в виде инструментов для MCP-клиентов (например, Claude). Создан на базе Hono и развернут на Cloudflare Workers.

Он выполняет аутентификацию в облачном API Zepp с использованием email/пароля вашей учетной записи, кэширует полученный токен сессии в пространстве имен Cloudflare KV и автоматически повторно аутентифицируется, когда срок действия кэшированного токена истекает.

Требования

  • Node.js и npm

  • Учетная запись Cloudflare

  • Wrangler (устанавливается как dev-зависимость)

  • Учетная запись Zepp/Amazfit (email + пароль)

Related MCP server: Oura MCP Server (Python)

Настройка

  1. Установите зависимости:

    npm install
  2. Создайте конфигурацию Wrangler на основе примера и укажите ID пространства имен KV:

    cp wrangler.example.jsonc wrangler.jsonc

    Если у вас еще нет пространства имен KV, создайте его, затем вставьте его ID в wrangler.jsonc:

    npx wrangler kv namespace create ZEPP_KV
  3. Создайте локальный файл секретов на основе примера:

    cp .dev.vars.example .dev.vars

    Укажите ZEPP_EMAIL и ZEPP_PASSWORD — учетные данные вашей учетной записи Zepp.

Разработка

Запустите сервер локально:

npm run dev

MCP-эндпоинт доступен по адресу /mcp (транспорт Streamable HTTP). / возвращает базовый JSON-ответ со статусом.

Проверьте типы в проекте:

npm run typecheck

Развертывание

npm run deploy

Перед развертыванием задайте те же секреты в вашем Cloudflare Worker (вместо .dev.vars):

npx wrangler secret put ZEPP_EMAIL
npx wrangler secret put ZEPP_PASSWORD

После развертывания Wrangler выводит публичный URL Worker (например, https://zepp-mcp.<your-subdomain>.workers.dev). MCP-эндпоинт — это этот URL плюс /mcp, например https://zepp-mcp.<your-subdomain>.workers.dev/mcp. Обратите внимание, что у эндпоинта нет встроенной аутентификации — любой, у кого есть URL, может вызвать его, — поэтому, если это для вас важно, относитесь к нему как к секрету или добавьте собственную аутентификацию перед ним.

Использование развернутого MCP-сервера

Направьте любой MCP-клиент, поддерживающий транспорт Streamable HTTP, на https://<your-worker-url>/mcp.

Claude Code

claude mcp add --transport http zepp https://zepp-mcp.<your-subdomain>.workers.dev/mcp

Claude Desktop

Claude Desktop подключается к удаленным HTTP-серверам через локальный stdio-прокси (mcp-remote). Добавьте это в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "zepp": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://zepp-mcp.<your-subdomain>.workers.dev/mcp"]
    }
  }
}

Перезапустите Claude Desktop после изменения конфигурации. Инструменты zepp_* должны появиться в средстве выбора инструментов.

Другие MCP-клиенты

Любой клиент с поддержкой Streamable HTTP (например, Cursor, Windsurf) можно напрямую указать на URL /mcp — проверьте документацию клиента для формата его конфигурации. Клиенты, поддерживающие только stdio-серверы, могут использовать описанный выше шаблон прокси mcp-remote.

Инструменты

Инструмент

Описание

zepp_status

Проверить статус входа в облако Zepp и идентификатор пользователя

get_devices

Список сопряженных устройств Zepp/Amazfit в учетной записи

get_daily_summary

По дням: шаги, дистанция, калории и сводка по сну за диапазон дат

list_workouts

Список недавних тренировок/спортивных сессий (бег, ходьба, велосипед и т.д.)

get_workout_detail

Полная детализация одной тренировки (GPS-трек, темп, серия пульса и т.д.) по trackid из list_workouts

get_profile

Данные профиля пользователя (вес, рост, дата рождения, пол и т.д.)

get_heart_rate_history

Показания пульса за диапазон дат

get_sleep_detail

Разбивка стадий сна по ночам за диапазон дат

get_lactate_threshold

Данные порога лактата, если доступны

Инструменты с диапазонами дат принимают необязательные from_date / to_date в формате YYYY-MM-DD и по умолчанию используют последние 30 дней.

Структура проекта

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 KV

Примечания

  • Токены сессии кэшируются в KV на 24 часа и автоматически обновляются при ответе 401/403.

  • wrangler.jsonc и .dev.vars игнорируются Git, поскольку содержат ID вашего пространства имен KV и учетные данные учетной записи — используйте включенные в репозиторий файлы .example в качестве шаблонов.

Maintenance

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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