Skip to main content
Glama

zepp-mcp

Zepp/Amazfit 건강 및 피트니스 데이터(걸음 수, 수면, 심박수, 운동)를 MCP 클라이언트(예: Claude)용 도구로 노출하는 MCP 서버입니다. Hono로 구축되었으며 Cloudflare Workers에 배포됩니다.

계정 이메일/비밀번호를 사용해 Zepp 클라우드 API에 인증하고, 결과 세션 토큰을 Cloudflare KV 네임스페이스에 캐시하며, 캐시된 토큰이 만료되면 자동으로 재인증합니다.

요구 사항

  • Node.js 및 npm

  • Cloudflare 계정

  • Wrangler (개발 종속성으로 설치)

  • Zepp/Amazfit 계정(이메일 + 비밀번호)

Related MCP server: Oura MCP Server (Python)

설정

  1. 의존성 설치:

    npm install
  2. 예제에서 Wrangler 구성을 만들고 KV 네임스페이스 ID를 입력하세요:

    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_EMAILZEPP_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는 Worker의 공개 URL(예: https://zepp-mcp.<your-subdomain>.workers.dev)을 출력합니다. MCP 엔드포인트는 해당 URL에 /mcp를 더한 값입니다(예: https://zepp-mcp.<your-subdomain>.workers.dev/mcp). 이 엔드포인트에는 기본 제공 인증이 없습니다. URL을 아는 사람은 누구나 호출할 수 있으므로, 이 점이 중요하다면 비밀로 취급하거나 자체 인증을 앞에 추가하세요.

배포된 MCP 서버 사용하기

Streamable HTTP 전송을 지원하는 모든 MCP 클라이언트를 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은 로컬 stdio 프록시(mcp-remote)를 통해 원격 HTTP 서버에 연결합니다. 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)는 /mcp URL을 직접 가리키면 됩니다. 해당 클라이언트 문서에서 구성 형식을 확인하세요. stdio 서버만 지원하는 클라이언트는 위에 표시된 mcp-remote 프록시 패턴을 사용할 수 있습니다.

도구

도구

설명

zepp_status

Zepp 클라우드 로그인 상태 및 사용자 ID 확인

get_devices

계정에 페어링된 Zepp/Amazfit 기기 나열

get_daily_summary

날짜 범위에 대한 일별 걸음 수, 거리, 칼로리 및 수면 요약

list_workouts

최근 운동/스포츠 세션 나열(달리기, 걷기, 사이클링 등)

get_workout_detail

list_workoutstrackid로 단일 운동에 대한 전체 세부 정보(GPS 트랙, 페이스, 심박수 시리즈 등)

get_profile

사용자 프로필 데이터(체중, 키, 생일, 성별 등)

get_heart_rate_history

날짜 범위에 대한 심박수 측정값

get_sleep_detail

날짜 범위에 대한 야간 수면 단계 분석

get_lactate_threshold

젖산 역치 데이터(사용 가능한 경우)

날짜 범위 도구는 선택적 from_date / to_dateYYYY-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는 KV 네임스페이스 ID와 계정 자격 증명을 보관하므로 gitignore에 포함됩니다. 커밋된 .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