withings-family
Fetches health data from the Withings API for multiple family members including weight, body composition (fat, muscle, bone, water), activity, and sleep. Use this skill when the user asks about their or their family's Withings data, weight history, body metrics, daily steps, sleep quality, or any health measurement from Withings devices.
Install
mkdir -p .claude/skills/withings-family && curl -L -o skill.zip "https://mcp.directory/api/skills/download/2456" && unzip -o skill.zip -d .claude/skills/withings-family && rm skill.zipInstalls to .claude/skills/withings-family
About this skill
This skill allows you to interact with Withings accounts for multiple family members to retrieve comprehensive health metrics from Withings devices (smart scales, sleep analyzers, activity trackers, etc.).
Multi-User Support
This skill natively supports multiple users with per-user token files:
tokens-alice.json
tokens-bob.json
tokens-charlie.json
Each family member authenticates once via OAuth. Their tokens are stored separately and refreshed automatically. No token copying or switching required — just pass the user ID as the first argument.
python3 scripts/withings.py alice weight
python3 scripts/withings.py bob sleep
python3 scripts/withings.py charlie activity
When to Use This Skill
Use this skill when the user:
- Asks about their weight or weight history
- Wants to see their body composition (fat %, muscle mass, bone mass, hydration)
- Requests their daily activity (steps, distance, calories burned)
- Asks about their sleep data (duration, quality, deep sleep, REM)
- Mentions "Withings" or any Withings device (Body+, Sleep Analyzer, ScanWatch, etc.)
- Wants to track their or their family's health progress over time
Setup: Creating a Withings Developer App
Before using this skill, you need to create a free Withings developer application to get your API credentials.
Step 1: Create a Withings Developer Account
- Go to Withings Developer Portal
- Click Sign Up or Log In if you already have a Withings account
- Accept the Developer Terms of Service
Step 2: Create Your Application
- Navigate to My Apps → Create an Application
- Fill in the application details:
- Application Name: Choose a name (e.g., "My Moltbot Health")
- Description: Brief description of your use case
- Contact Email: Your email address
- Callback URL:
http://localhost:18081(required for OAuth) - Application Type: Select "Personal Use" or appropriate type
- Submit the application
Step 3: Get Your Credentials
Once your application is created:
- Go to My Apps and select your application
- You'll find:
- Client ID → Set as
WITHINGS_CLIENT_IDenvironment variable - Client Secret → Set as
WITHINGS_CLIENT_SECRETenvironment variable
- Client ID → Set as
Step 4: Configure Environment Variables
Add these to your Moltbot environment:
export WITHINGS_CLIENT_ID="your_client_id_here"
export WITHINGS_CLIENT_SECRET="your_client_secret_here"
Or create a .env file in ~/.openclaw/withings-family/.env (legacy: ~/.moltbot/withings-family/.env):
WITHINGS_CLIENT_ID=your_client_id_here
WITHINGS_CLIENT_SECRET=your_client_secret_here
Configuration
The skill provides two scripts (in scripts/):
scripts/withings_oauth_local.py— Automatic OAuth with local callback server (recommended)scripts/withings.py— Main CLI + manual OAuth
Credentials location: ~/.openclaw/withings-family/ (legacy: ~/.moltbot/withings-family/)
.env— Client ID/Secret (optional, can use ENV vars instead)tokens-<userId>.json— OAuth tokens per user (mode 600)
Before any data retrieval, check if the user is authenticated. If an error mentions "No token found", guide the user through the initial authentication process for that specific user.
Authentication Methods
Method A: Automatic OAuth (Recommended)
Uses a local callback server to capture the code automatically:
python3 {baseDir}/scripts/withings_oauth_local.py <userId>
Example:
python3 {baseDir}/scripts/withings_oauth_local.py alice
The script will:
- Print the authorization URL
- Start a local server on localhost:18081
- Wait for the redirect
- Automatically capture the code and exchange for tokens
- Save tokens to
tokens-<userId>.json
Method B: Manual OAuth
Traditional two-step flow (see "Authentication" command below).
Available Commands
All commands follow the format:
python3 {baseDir}/scripts/withings.py <userId> <command> [options]
1. Authentication
First-time setup for a user — generates the OAuth URL:
python3 {baseDir}/scripts/withings.py alice auth
After the user visits the URL and gets the authorization code:
python3 {baseDir}/scripts/withings.py alice auth YOUR_CODE_HERE
Repeat for each family member who needs access.
2. Get Weight
Retrieve the latest weight measurements:
python3 {baseDir}/scripts/withings.py alice weight
Returns the 5 most recent weight entries in JSON format.
Example output:
[
{ "date": "2026-01-17T08:30:00.000Z", "weight": "75.40 kg" },
{ "date": "2026-01-16T08:15:00.000Z", "weight": "75.65 kg" }
]
3. Get Body Composition
Retrieve comprehensive body metrics (fat, muscle, bone, water, BMI):
python3 {baseDir}/scripts/withings.py alice body
Returns the 5 most recent body composition measurements.
Example output:
[
{
"date": "2026-01-17T08:30:00.000Z",
"weight": "75.40 kg",
"fat_percent": "18.5%",
"fat_mass": "13.95 kg",
"muscle_mass": "35.20 kg",
"bone_mass": "3.10 kg",
"hydration": "55.2%"
}
]
4. Get Activity
Retrieve daily activity data (steps, distance, calories):
python3 {baseDir}/scripts/withings.py alice activity
Optionally specify the number of days (default: 7):
python3 {baseDir}/scripts/withings.py alice activity 30
Example output:
[
{
"date": "2026-01-17",
"steps": 8542,
"distance": "6.23 km",
"calories": 2150,
"active_calories": 450,
"soft_activity": "45 min",
"moderate_activity": "22 min",
"intense_activity": "8 min"
}
]
5. Get Sleep
Retrieve sleep data and quality:
python3 {baseDir}/scripts/withings.py alice sleep
Optionally specify the number of days (default: 7):
python3 {baseDir}/scripts/withings.py alice sleep 14
Example output:
[
{
"date": "2026-01-17",
"start": "23:15",
"end": "07:30",
"duration": "8h 15min",
"deep_sleep": "1h 45min",
"light_sleep": "4h 30min",
"rem_sleep": "1h 30min",
"awake": "30min",
"sleep_score": 82
}
]
Error Handling
Common errors and how to resolve them:
| Error | Cause | Solution |
|---|---|---|
| "No token found" | User not authenticated | Run python3 scripts/withings.py <userId> auth and follow the OAuth flow |
| "Failed to refresh token" | Token expired and refresh failed | Re-authenticate with python3 scripts/withings.py <userId> auth |
| "API Error Status: 401" | Invalid or expired credentials | Check your CLIENT_ID and CLIENT_SECRET, re-authenticate |
| "API Error Status: 503" | Withings API temporarily unavailable | Wait and retry later |
| Empty data | No measurements in the requested period | User needs to sync their Withings device |
Notes
- Multi-user: Each family member has their own token file (
tokens-{userId}.json) - Token refresh: Tokens are automatically refreshed when they expire
- Scopes: Withings API scopes used:
user.metrics,user.activity - Device support: Data availability depends on which Withings devices the user owns
- Body composition: Requires a compatible smart scale (e.g., Body+, Body Comp)
More by openclaw
View all skills by openclaw →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Related MCP Servers
Browse all serversBoost Postgres performance with Postgres MCP Pro—AI-driven index tuning, health checks, and safe, intelligent SQL optimi
Web Fetcher uses Playwright for reliable data web scraping and extraction from JavaScript-heavy websites, returning clea
Unlock powerful OLAP database analytics on ClickHouse MCP Server. Manage OLAP data with seamless online analytical proce
Easily fetch and analyze YouTube transcripts by video URL or ID. Use our YouTube transcript tool for fast content analys
Integrate Garth with Garmin Connect to access fitness data from your Garmin watch for fitness tracking, including sleep
Azure FHIR offers secure, authenticated access to Azure Health Data Services FHIR servers for standards-compliant health
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.