Skip to main content
Glama
YpsilonTM

Withings MCP Server

by YpsilonTM

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WITHINGS_CLIENT_IDYesOAuth client ID
WITHINGS_LOG_LEVELNoLog level: error, warn, info, or debuginfo
WITHINGS_TOKEN_FILENoPath to persist tokens. Defaults to /data/tokens.json if /data exists.
WITHINGS_CLIENT_SECRETYesOAuth client secret
WITHINGS_REDIRECT_PORTNoAuth callback port8765
WITHINGS_REFRESH_TOKENNoRefresh token from the auth helper (or provide via WITHINGS_TOKEN_FILE)

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
withings_get_measure_typesA

List known Withings measurement type IDs used by getmeas (weight, BP, SpO2, spot temperature, etc.). No API call. For continuous watch vitals (HR, core temp, SpO2), prefer withings_get_intraday_activity instead of these spot types.

withings_get_measurementsA

Fetch spot/scale health measurements via getmeas (weight, composition, BP, spot HR/temp/SpO2, etc.). Optionally filter by meastypes. Values are decoded (value * 10^unit). This is NOT the main source for continuous watch vitals — use withings_get_intraday_activity (or withings_get_heart_rate / withings_get_body_temperature with include_intraday=true) for those.

withings_get_weightB

Fetch scale weight measurements (meastype 1). Typical source: Withings scale.

withings_get_body_compositionA

Fetch scale body composition: fat free mass, fat ratio, fat mass, muscle, hydration, bone (types 5,6,8,76,77,88). Typical source: Withings scale.

withings_get_blood_pressureB

Fetch blood pressure and related spot pulse (diastolic 9, systolic 10, heart rate 11). Typical source: BPM or scale, not continuous watch HR.

withings_get_spo2A

Fetch spot SpO2 measurements (meastype 54) from getmeas. For continuous watch SpO2, prefer withings_get_intraday_activity with spo2_auto.

withings_get_body_temperatureA

Fetch body temperature. Spot readings (meastypes 12/71/73 via getmeas) come from thermometers or occasional device measures. For Withings watches, set include_intraday=true to fetch continuous core_body_temperature (max 24h window) — that is usually where watch temp lives.

withings_get_heart_rateA

Fetch heart rate. Spot readings (meastype 11 via getmeas) come from scale/BPM when you take a measurement. For Withings watches, set include_intraday=true (or use withings_get_intraday_activity) for continuous HR — that is usually where watch HR lives (max 24h window).

withings_get_activityA

Fetch daily activity summaries from the watch/tracker (steps, distance, calories, HR zones, etc.). Prefer this for day-level watch stats; use withings_get_intraday_activity for minute-level series.

withings_get_intraday_activityA

Fetch high-resolution watch/tracker series for up to 24 hours: heart_rate, core_body_temperature, spo2_auto, steps, HRV, etc. This is the main source for continuous vitals from a Withings watch (not the scale). Withings returns at most 24 hours per call.

withings_get_workoutsA

Fetch logged workouts from the watch/activity tracker for a date range (default last 7 days). Includes session type, duration, and optional metrics like calories, HR, distance, steps.

withings_get_sleep_summaryA

Fetch per-night sleep summaries (score, stages, HR/RR stats, snoring, etc.). Default range is the last 7 days. Typical sources: Sleep Analyzer / Sleep Mat, or watch sleep tracking. For minute-level detail within a night, use withings_get_sleep.

withings_get_sleepA

Fetch high-frequency sleep stage and vital series for a time window (Sleep get): stages, HR, respiration, snoring, HRV, etc. Default range is the last 24 hours. Prefer withings_get_sleep_summary for multi-night overviews; use this for detailed series within a night. Typical sources: Sleep Analyzer / Sleep Mat, or watch sleep tracking.

withings_list_heart_recordsA

List ECG / heart recordings (Heart v2 list), including AFib classification metadata. Requires an ECG-capable device (e.g. ScanWatch ECG / BeamO). Often empty if the user only has a scale + non-ECG tracker. Default range: last 30 days. Use withings_get_heart_rate with include_intraday for continuous watch HR instead.

withings_get_heart_ecgA

Fetch a single ECG waveform/signal by signalid from withings_list_heart_records. Only useful when withings_list_heart_records returned recordings (ECG-capable device). Not for continuous watch heart rate.

withings_list_devicesA

List Withings devices paired to the authorized account (e.g. Scale, Activity Tracker, Sleep Monitor). Useful to see which data sources exist before querying.

withings_get_goalsA

Get health goals configured in the Withings account (e.g. steps, weight, sleep targets), if the user has set any.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 17 tools

Disambiguation3/5

Several tools overlap: withings_get_measurements overlaps with the weight, body composition, blood pressure, SpO2, temperature, and heart rate getters, and withings_get_intraday_activity overlaps with continuous HR/temperature retrieval. The descriptions do a good job of clarifying boundaries, but the sheer number of closely related data-query tools creates some selection ambiguity.

Naming Consistency5/5

All tools follow the consistent withings_<verb>_<noun> pattern using snake_case, with list_ reserved for collection enumeration and get_ for data retrieval. Even if some object names vary in specificity, the pattern is predictable and easy to infer.

Tool Count4/5

At 17 tools, the server is slightly above the ideal 3-15 range, but the count is reasonable for the breadth of Withings health data domains. A few redundant measurement-specific wrappers around withings_get_measurements add bulk, but each tool still maps to a meaningful API use case.

Completeness4/5

The server covers the major Withings data domains well: devices, daily activity, intraday vitals, workouts, sleep summaries and detailed sleep, scale measurements, ECG, and goals. Minor gaps exist—such as no explicit user/profile retrieval and no write/update capabilities—but those are largely outside the apparent read-only scope.

Maintenance

ActivityMaintained
ResponsivenessNo issues