Skip to content

Releases: partymola/withings-mcp

v0.3.0

Choose a tag to compare

@partymola partymola released this 02 Aug 23:51

Changed

  • Ported to the mcp 2.x server API. 2.0.0 renamed mcp.server.fastmcp to mcp.server.mcpserver and the FastMCP class to MCPServer, with no compatibility alias. The tool contract is unchanged: every tool keeps its name, description, and input and output schemas.
  • Every dependency is pinned to an exact version instead of a lower bound: mcp 2.0.0, and for development pytest 9.1.1 and ruff 0.16.1.

Fixed

  • A fresh install no longer breaks on import. The mcp spec was >=1.6.0 with no upper bound, so once 2.0.0 was published the resolver picked it and the server failed to start.

Packaging

  • The build toolchain is pinned alongside the dependencies: setuptools to an exact version, the python:3.13-slim base image by digest, and every GitHub Action to a full commit SHA rather than a moving major tag. A floating tag can change what a build produces with nobody deciding, which is the same failure the dependency pins address.

v0.2.2

Choose a tag to compare

@partymola partymola released this 11 Jul 22:43

Listed in the official MCP registry (io.github.partymola/withings-mcp). The release workflow now publishes to the MCP registry alongside PyPI. No functional changes.

v0.2.1

Choose a tag to compare

@partymola partymola released this 11 Jul 22:28

First PyPI release: pip install withings-mcp / uvx withings-mcp.

Changed

  • Corrected the measurement-type claim in the README (17 body-composition metrics, not "200+"); documented the cache-vs-live split and the live=True override.

Packaging

  • Published to PyPI via GitHub Actions Trusted Publishing.

v0.2.0

Choose a tag to compare

@partymola partymola released this 09 Jun 15:45

Added

  • withings-mcp sync CLI subcommand (with --types and --days flags) for parity with fitbit-mcp; previously a sync could only be triggered through an MCP client. --types all expands to body,sleep,activity,workouts, and each data type gets a summary line (status, record count, date range).
  • withings-mcp --version prints the installed package version.
  • Continuous integration now runs the test suite on Python 3.14 in addition to 3.13.

Full changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@partymola partymola released this 26 Apr 21:01

Added

  • Initial release.
  • OAuth 2.0 authentication against the Withings Health API with automatic token refresh (3-hour access tokens, 1-year refresh tokens).
  • Local SQLite cache for body measurements, sleep summaries, activity, and workouts, with auto-sync on stale data.
  • Incremental sync that only fetches new data since the last successful sync per data type.
  • MCP tools: withings_sync, withings_get_body, withings_get_sleep, withings_get_activity, withings_get_workouts, withings_get_heart, withings_get_devices, withings_trends.
  • Trend analysis with weekly / monthly / quarterly aggregation and period-over-period comparisons.
  • ECG and AFib detection support via withings_get_heart (live, not cached).
  • Pre-commit hook (scripts/check-no-data.sh) blocking commit of databases, tokens, and other secrets.