zepp-mcp
zepp-mcp
Zepp/Amazfit 건강 및 피트니스 데이터(걸음 수, 수면, 심박수, 운동)를 MCP 클라이언트(예: Claude)용 도구로 노출하는 MCP 서버입니다. Hono로 구축되었으며 Cloudflare Workers에 배포됩니다.
계정 이메일/비밀번호를 사용해 Zepp 클라우드 API에 인증하고, 결과 세션 토큰을 Cloudflare KV 네임스페이스에 캐시하며, 캐시된 토큰이 만료되면 자동으로 재인증합니다.
요구 사항
Node.js 및 npm
Cloudflare 계정
Wrangler (개발 종속성으로 설치)
Zepp/Amazfit 계정(이메일 + 비밀번호)
Related MCP server: Garmin Health MCP Server
설정
의존성 설치:
npm install예제에서 Wrangler 구성을 만들고 KV 네임스페이스 ID를 입력하세요:
cp wrangler.example.jsonc wrangler.jsonc아직 KV 네임스페이스가 없으면 생성한 다음 해당 ID를
wrangler.jsonc에 붙여넣으세요:npx wrangler kv namespace create ZEPP_KV예제에서 로컬 시크릿 파일을 만드세요:
cp .dev.vars.example .dev.varsZEPP_EMAIL과ZEPP_PASSWORD에 Zepp 계정 자격 증명을 입력하세요.
개발
서버를 로컬에서 실행:
npm run devMCP 엔드포인트는 /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/mcpClaude 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 클라우드 로그인 상태 및 사용자 ID 확인 |
| 계정에 페어링된 Zepp/Amazfit 기기 나열 |
| 날짜 범위에 대한 일별 걸음 수, 거리, 칼로리 및 수면 요약 |
| 최근 운동/스포츠 세션 나열(달리기, 걷기, 사이클링 등) |
|
|
| 사용자 프로필 데이터(체중, 키, 생일, 성별 등) |
| 날짜 범위에 대한 심박수 측정값 |
| 날짜 범위에 대한 야간 수면 단계 분석 |
| 젖산 역치 데이터(사용 가능한 경우) |
날짜 범위 도구는 선택적 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는 KV 네임스페이스 ID와 계정 자격 증명을 보관하므로 gitignore에 포함됩니다. 커밋된.example파일을 템플릿으로 사용하세요.
This server cannot be deployed
Maintenance
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.
Access COROS activity, training and health data, and manage training plans and workouts.
Multi-tenant hosted MCP server for Oura Ring — 21 read-only tools, OAuth per user.
Discover, plan and run tools across your connected business systems through one OAuth MCP endpoint
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceExposes personal health data (recovery, sleep, strain, etc.) as MCP tools for AI agents to query and analyze.5MIT
- FlicenseNot gradedqualityDmaintenanceExposes Garmin Connect health data (steps, sleep, HR, HRV, stress, activities, etc.) as tools for MCP-compatible clients like Claude.-
- AlicenseAqualityBmaintenanceMCP server that reads Zepp/Amazfit health and workout data, exposing tools for daily summaries, sleep, heart rate, and workout details to any MCP client.885MIT
- AlicenseNot gradedqualityBmaintenanceEnables read-only access to Amazfit/Zepp fitness data via the unofficial Zepp cloud API, exposing normalized health and workout metrics to MCP clients.AGPL 3.0