v0.2.1 - fixes broken installs
If you installed realhands 0.1.1 or 0.2.0 and it failed to start, this is the fix. Please upgrade.
The bug
mcp 2.0 removed mcp.server.fastmcp (FastMCP moved out of the SDK). realhands declared its dependency as an unbounded mcp>=1.2, so any fresh install resolved to mcp 2.x and the server died immediately at import:
ModuleNotFoundError: No module named 'mcp.server.fastmcp'
This affected 0.1.1 and 0.2.0 alike. It went unnoticed because existing environments still had an mcp 1.x resolved from an earlier install — only a clean resolve exposed it.
0.2.1 constrains the dependency to mcp>=1.2,<2. A port to the mcp 2.x API will come separately.
Preventing a repeat
CI now installs the built wheel into a clean virtualenv and imports it before publishing. twine check validates packaging metadata only — it cannot catch a dependency resolution that yields an unimportable package, which is how a broken wheel shipped twice.
Recommended install now auto-upgrades
claude mcp add realhands --scope user -- uvx realhands@latestuvx resolves the newest release every time the server starts, so future fixes reach you on your next client restart with nothing to run. The pinned pip install realhands route is still documented for offline or version-locked setups — that one needs pip install --upgrade realhands by hand.
Upgrading from 0.2.0
Everything in 0.2.0 — action batching via steps, patch-aligned screenshots, unchanged-screen suppression — is unchanged. This release only fixes the dependency.