← Back to search

io.github.davidmosiah/withingsmcp

davidmosiah Scanned 1d ago

Privacy-first, unofficial Withings MCP server for AI health, sleep, activity and heart-rate agents.

B
79.3 / 100

Versions

0.4.11latest
Jul 30, 2026
0.4.10
Jul 30, 2026
0.4.9
Jul 30, 2026
0.4.8
Jul 16, 2026
0.4.7
Jun 27, 2026
+ show 12 moreshow less
0.4.6
May 24, 2026
0.4.5
May 24, 2026
0.4.4
May 20, 2026
0.4.3
May 20, 2026
0.4.2
May 19, 2026
0.4.1
May 11, 2026
0.4.0
May 11, 2026
0.3.0
May 11, 2026
0.2.1
May 6, 2026
0.2.0
May 4, 2026
0.1.1
May 4, 2026
0.1.0
May 4, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 17

withings_data_inventory
annotations: verified low

Inventory supported Withings data domains, auth scope requirements, privacy boundary and recommended first calls. Does not call Withings APIs or expose user data.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
withings_agent_manifest
annotations: verified low

Machine-readable install, runtime and client guidance for AI agents. Does not call Withings or expose secrets.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
withings_capabilities
annotations: verified low

Explain supported Withings data, privacy boundaries, recommended agent workflow and project links.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
withings_quickstart
annotations: verified low

Personalized 3-step setup walkthrough for the human user. Adapts to current state (env vars set? token present? what's next?). Call this first when the user asks 'how do I connect Withings?'

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
withings_demo
annotations: verified low

Returns realistic example payloads of withings_daily_summary, withings_wellness_context, and withings_list_body_measures so agents see the contract before calling real Withings APIs.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
withings_get_auth_url
annotations: verified low

Generate a Withings OAuth authorization URL. Use this first when no local token exists.

readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
withings_exchange_code
annotations: verified low

Exchange a Withings OAuth authorization code for local tokens using Withings signed request flow. Tokens are stored locally and never returned. Requires explicit user action: the user must complete browser OAuth and supply the authorization code (agents must not invent codes).

readOnlyHint false openWorldHint true idempotentHint false destructiveHint false
withings_connection_status
annotations: verified low

Check local Withings config, token file, Node version, privacy mode, cache readiness and optional MCP client readiness without calling Withings or exposing secrets.

response_format enum
readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
withings_cache_status
annotations: verified low

Show optional local SQLite cache status. Enable with WITHINGS_CACHE=sqlite or WITHINGS_CACHE=true.

response_format enum
readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
withings_privacy_audit
annotations: verified low

Return local privacy, cache, token-path and env-presence posture without revealing secret values.

response_format enum
readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
withings_revoke_access
annotations: verified low

Delete the local Withings token file. Withings token revocation support varies by app/API plan, so this tool only clears local access. Gated by explicit_user_intent: true (requires explicit user intent).

response_format enum
readOnlyHint false openWorldHint false idempotentHint false destructiveHint true
withings_daily_summary
annotations: verified low

Build a practical daily summary from Withings activity, sleep and body/heart data when available. Read-only and non-medical.

readOnlyHint true openWorldHint true idempotentHint true destructiveHint false
withings_weekly_summary
annotations: verified low

Build a weekly Withings scorecard with sleep, activity, body measures, bottlenecks and actions. Read-only and non-medical.

readOnlyHint true openWorldHint true idempotentHint true destructiveHint false
withings_wellness_context
annotations: verified low

Normalize Withings sleep and activity load into the shared wellness_context shape for recommendation engines.

patch record response_format enum explicit_user_intent boolean
readOnlyHint true openWorldHint true idempotentHint true destructiveHint false
withings_profile_get
annotations: verified low

Read the shared Delx Wellness profile from ~/.delx-wellness/profile.json. Returns preferred name, goals, devices, training/nutrition/exercise/agent preferences and safety flags. NEVER contains OAuth tokens or API secrets. Read-only.

patch record response_format enum explicit_user_intent boolean
readOnlyHint true openWorldHint false idempotentHint true destructiveHint false
withings_profile_update
annotations: verified low

Persist a partial patch to ~/.delx-wellness/profile.json. Requires explicit_user_intent=true (otherwise returns USER_ACTION_REQUIRED). Rejects secret-like fields (oauth, token, secret, password, cookie, refresh, api_key, session) at write time. Use to record preferred name, goals, devices, training context, nutrition context, exercise preferences, agent preferences, and safety flags.

patch record response_format enum explicit_user_intent boolean
readOnlyHint false openWorldHint false idempotentHint false destructiveHint false
withings_onboarding
annotations: verified low

Return the 11-question onboarding flow plus the current profile state and missing fields. Read-only — does NOT persist anything. Pair with withings_profile_update once the user answers. Cross-connector: the same profile is shared by every Delx Wellness MCP (whoop, garmin, oura, fitbit, strava, polar, withings, apple-health, samsung-health, google-health, nourish, cycle-coach, cgm, air).

locale enum response_format enum
readOnlyHint true openWorldHint false idempotentHint true destructiveHint false

Permissions 3

network medium
Server uses network capabilities via: fetch()
shell high
Server uses shell capabilities via: child_process, spawn(), spawnSync()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 50

info
Tool 'withings_data_inventory' annotations are consistent annotation_checker · 80%
info
Tool 'withings_agent_manifest' annotations are consistent annotation_checker · 80%
info
Tool 'withings_capabilities' annotations are consistent annotation_checker · 80%
info
Tool 'withings_quickstart' annotations are consistent annotation_checker · 80%
info
Tool 'withings_demo' annotations are consistent annotation_checker · 80%
info
Tool 'withings_get_auth_url' annotations are consistent annotation_checker · 80%
info
Tool 'withings_exchange_code' annotations are consistent annotation_checker · 80%
info
Tool 'withings_connection_status' annotations are consistent annotation_checker · 80%
info
Tool 'withings_cache_status' annotations are consistent annotation_checker · 80%
info
Tool 'withings_privacy_audit' annotations are consistent annotation_checker · 80%
info
Tool 'withings_revoke_access' annotations are consistent annotation_checker · 80%
info
Tool 'withings_daily_summary' annotations are consistent annotation_checker · 80%
info
Tool 'withings_weekly_summary' annotations are consistent annotation_checker · 80%
info
Tool 'withings_wellness_context' annotations are consistent annotation_checker · 80%
info
Tool 'withings_profile_get' annotations are consistent annotation_checker · 80%
info
Tool 'withings_profile_update' annotations are consistent annotation_checker · 80%
info
Tool 'withings_onboarding' annotations are consistent annotation_checker · 80%
high
Hardcoded OAuth client secret in davidmosiah-withings-mcp-9ad059b/scripts/agent-readiness-test.mjs auth_checker · 95%
high
Hardcoded OAuth client secret in davidmosiah-withings-mcp-9ad059b/scripts/cli-ux-test.mjs auth_checker · 95%
high
Hardcoded OAuth client secret in davidmosiah-withings-mcp-9ad059b/scripts/list-body-measures-params-test.mjs auth_checker · 95%
high
Hardcoded OAuth client secret in davidmosiah-withings-mcp-9ad059b/scripts/demo-contract-test.mjs auth_checker · 95%
medium
OAuth implementation without PKCE auth_checker · 75%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
info
package.json metadata manifest_parser · 100%
info
Tool: withings_data_inventory manifest_parser · 85%
info
Tool: withings_agent_manifest manifest_parser · 85%
info
Tool: withings_capabilities manifest_parser · 85%
info
Tool: withings_quickstart manifest_parser · 85%
info
Tool: withings_demo manifest_parser · 85%
info
Tool: withings_get_auth_url manifest_parser · 85%
info
Tool: withings_exchange_code manifest_parser · 85%
info
Tool: withings_connection_status manifest_parser · 85%
info
Tool: withings_cache_status manifest_parser · 85%
info
Tool: withings_privacy_audit manifest_parser · 85%
info
Tool: withings_revoke_access manifest_parser · 85%
info
Tool: withings_daily_summary manifest_parser · 85%
info
Tool: withings_weekly_summary manifest_parser · 85%
info
Tool: withings_wellness_context manifest_parser · 85%
info
Tool: withings_profile_get manifest_parser · 85%
info
Tool: withings_profile_update manifest_parser · 85%
info
Tool: withings_onboarding manifest_parser · 85%
info
Transport: stdio manifest_parser · 90%
info
Required env vars (7) manifest_parser · 80%
medium
OAuth authorization code flow without PKCE oauth_scope_analyzer · 75%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 170 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%