Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ZEPP_EMAILYesYour Zepp / Amazfit account email
ZEPP_COUNTRYNoLogin country code; change if login fails
ZEPP_PASSWORDYesYour Zepp / Amazfit account password
ZEPP_TIMEZONENoTimezone (e.g., Europe/Lisbon); defaults to machine local time
ZEPP_TOKEN_CACHENoPath to token cache file, or 'off' to keep token in memory only
ZEPP_DEVICE_NAMESNoMap device IDs to names, e.g., '10289411=My Band'

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
zepp_statusA

Check the Zepp cloud connection: user id, whether the session came from the token cache or a fresh login, and how many workouts are on record.

get_devicesA

Watches/bands/rings bound to the account, with model name (when known), firmware, and whether they're currently active.

list_workoutsA

List workouts, newest first, as compact summaries: sport, start/end, duration, distance, pace/speed, calories, HR, elevation, cadence, power, training effect/load, VO2max, device. Swims include SWOLF/strokes/laps.

from_date/to_date: optional ISO YYYY-MM-DD bounds (inclusive, local time).
sport: optional case-insensitive substring filter, e.g. "run", "cycling",
"swim". limit: max items returned (default 30).
Legs of a multisport event carry `part_of` = the parent's trackid.
Use `trackid` with get_workout_detail / get_workout_track.
summarize_workoutsA

Training totals per period: count, hours, km, calories, elevation, training load, and duration-weighted avg HR.

group_by: "day", "week" (ISO week), "month", "year", or "all".
by_sport: split each period per sport (default true).
from_date/to_date: optional ISO YYYY-MM-DD bounds; defaults to the last
12 weeks. sport: optional substring filter.
Multisport parents are skipped; their individual legs are counted.
get_workout_detailA

Full analysis of one workout: the summary fields plus time in each HR zone, per-kilometer splits (pace + avg HR), first-half vs second-half HR/speed/power drift, and which per-sample track fields exist (fetch those with get_workout_track).

get_workout_trackA

Decoded per-sample time series for one workout, downsampled to at most max_points evenly spaced points (t_s = seconds from start).

Possible fields (only those recorded are returned): lat, lon, altitude_m,
hr, speed_kmh, distance_m, cadence_spm, stride_cm, power_w,
stroke_rate_spm. Pass `fields` to limit output, e.g. ["hr", "speed_kmh"].
get_daily_summaryA

Per-day steps, distance, calories, step goal, and last night's sleep: bedtime, wake time, total/deep/light/REM/awake minutes, sleep score, and resting HR. ISO YYYY-MM-DD dates; defaults to the last 7 days. include_sleep_stages adds the timeline of individual sleep stages.

get_health_metricsA

Daily recovery and health metrics, one entry per date: - readiness: readiness score, overnight HRV + baseline, sleeping resting HR + baseline, physical/mental recovery, skin-temp and breathing scores - pai: weekly & daily PAI, minutes in low/medium/high HR zones - stress: avg/min/max stress and % time relaxed/normal/medium/high - spo2: overnight blood-oxygen score and desaturation index (ODI)

metrics: subset of ["readiness", "pai", "stress", "spo2"] (default all).
ISO YYYY-MM-DD dates; defaults to the last 7 days.
include_stress_series adds 5-minute stress readings (verbose).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct resource or data view: connection status, devices, aggregated workout summaries, workout lists, individual workout detail, raw track data, daily activity/sleep, and health metrics. Even within the workout domain, list/detail/track/summarize have clear boundaries reinforced by the descriptions.

Naming Consistency4/5

Most tools follow a consistent get_/list_/summarize_ snake_case pattern (e.g., get_devices, list_workouts, summarize_workouts). The only minor deviation is zepp_status, which uses a noun-style name rather than a verb-prefixed one.

Tool Count5/5

Eight tools is a well-scoped set for a health/fitness data server. Each tool covers a distinct aspect of the domain without redundancy or bloat, and the count sits comfortably in the ideal range.

Completeness4/5

The tool surface covers the main Zepp/Amazfit data domains well: connection, devices, workouts (list/detail/track/aggregate), daily activity, sleep, and health metrics. Minor gaps exist, such as lack of body-composition data or continuous 24/7 heart-rate retrieval, but agents can still accomplish core health-data workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues