withings-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WITHINGS_MCP_DB_PATH | No | SQLite database path | ./withings.db |
| WITHINGS_MCP_CONFIG_DIR | No | Directory for credentials and tokens | ./config/ |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| withings_syncA | Sync Withings health data to the local cache. Fetches data from the Withings API and stores it in SQLite for fast offline queries. Run this before using other withings_get_* tools. Syncs incrementally: only fetches data newer than the last sync. First sync fetches the specified number of days of history. Args: data_types: What to sync. Options: "all", "body", "sleep", "activity", "workouts". Comma-separated for multiple, e.g. "body,sleep". Default: "all". days: Days of history for first sync (default: 30). Ignored on subsequent syncs (uses last sync timestamp). Returns summary of records synced per data type. Not for querying data - use withings_get_body, withings_get_sleep, withings_get_activity, or withings_get_workouts instead. |
| withings_get_bodyA | Get body composition measurements (weight, fat, muscle, etc.). Returns measurements from the local cache by default. Use live=True to fetch directly from Withings API. Run withings_sync first to populate the cache. Args: start_date: Start date as "YYYY-MM-DD", "YYYY-MM", or "30d" for relative days. Default: last 30 days. end_date: End date as "YYYY-MM-DD". Default: today. metrics: Comma-separated metric filter, e.g. "weight_kg,fat_pct". Default: all available metrics. Options: weight_kg, fat_pct, fat_mass_kg, muscle_mass_kg, hydration_kg, bone_mass_kg, heart_rate, systolic_bp, diastolic_bp, spo2_pct. live: If true, fetch from Withings API instead of cache. Returns measurements sorted by date, one entry per measurement group. Not for sleep or activity data -- use withings_get_sleep or withings_get_activity instead. |
| withings_get_sleepA | Get sleep data (summaries or detailed phases). Summary mode (default): nightly totals with duration, sleep score, HR, respiratory rate, and snoring. From local cache unless live=True. Detail mode (detail=True): minute-by-minute sleep phases (awake, light, deep, REM) with HR and respiratory rate. Always fetched live. Maximum 7 days per request (Withings API limit). Args: start_date: Start date as "YYYY-MM-DD", "YYYY-MM", or "7d". Default: last 7 days (detail) or last 30 days (summary). end_date: End date as "YYYY-MM-DD". Default: today. detail: If true, return minute-by-minute sleep phases instead of nightly summaries. Always live, max 7 days. live: If true, fetch summaries from API instead of cache. Ignored when detail=True (always live). Returns nightly sleep data sorted by date. Not for body composition -- use withings_get_body instead. |
| withings_get_activityA | Get daily activity summaries (steps, distance, calories, active time). Returns one entry per day from the local cache by default. Run withings_sync first to populate the cache. Args: start_date: Start date as "YYYY-MM-DD", "YYYY-MM", or "30d". Default: last 30 days. end_date: End date as "YYYY-MM-DD". Default: today. live: If true, fetch from Withings API instead of cache. Returns daily activity data sorted by date, with steps, distance in km, calories, and active minutes by intensity level. Not for workout sessions -- use withings_get_workouts instead. |
| withings_get_workoutsA | Get workout sessions (type, duration, HR, calories). Returns individual workout sessions from the local cache by default. Run withings_sync first to populate the cache. Args: start_date: Start date as "YYYY-MM-DD", "YYYY-MM", or "90d". Default: last 90 days. end_date: End date as "YYYY-MM-DD". Default: today. category: Filter by workout type, e.g. "cycling", "walk", "run". Case-insensitive partial match. live: If true, fetch from Withings API instead of cache. Returns workout sessions sorted by date with type, duration, calories, distance, and heart rate data. Not for daily step/activity totals -- use withings_get_activity. |
| withings_get_heartA | Get ECG recordings and atrial fibrillation detection results. Always fetched live from the Withings API (not cached due to large signal data). Requires a Withings device with ECG capability (ScanWatch, BPM Core). Args: start_date: Start date as "YYYY-MM-DD" or "30d". Default: last 30 days. end_date: End date as "YYYY-MM-DD". Default: today. Returns ECG recording list with timestamps, AFib classification (negative/positive/inconclusive), and heart rate. Does not include raw signal waveforms. For resting heart rate trends, use withings_get_body or withings_get_sleep instead. |
| withings_get_devicesA | Get connected Withings devices with battery and firmware info. Always fetched live from the Withings API. Returns device type, model name, battery level (high/medium/low), and last session date for each connected device. |
| withings_trendsA | Analyse trends in cached health data. Computes averages, min/max, and changes over time from the local cache. Auto-syncs if the cache is stale (no sync today). Args: data_type: What to analyse. Options: "body", "sleep", "activity". period: Aggregation period. Options: "weekly", "monthly", "quarterly". Default: "monthly". start_date: Start date as "YYYY-MM-DD" or "12m" for relative. Default: last 12 months. end_date: End date as "YYYY-MM-DD". Default: today. compare: Compare two periods. Format: "last_30d vs previous_30d", "2026-03 vs 2026-02", "2026-Q1 vs 2025-Q4". When set, period/start_date/end_date are ignored. Returns aggregated averages with change indicators. For body data: weight, fat%, muscle trends. For sleep: duration, score, HR trends. For activity: steps, distance, calorie trends. Not for raw data -- use withings_get_body/sleep/activity instead. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/partymola/withings-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server