Repository navigation
0.5.3 — one-click install
The release that makes AnkusDrive a one-click install. Every GitHub release now
carries an .mcpb bundle for Claude Desktop, the same file the Smithery listing
distributes, and it was verified end to end in Claude Desktop — including on a machine
with no uv, where the host downloads its own. Installing that way exposed a quieter
defect: the install hints assumed a plain venv, and every managed install (the
extension, uvx from the MCP Registry, pipx, uv tool) was being told to run a pip
that could not reach it. Both land here, with a reproducible FEM mesh behind them.
Added
- An MCPB bundle,
ankusdrive-<version>.mcpb, attached to every GitHub release — the
one-click Claude Desktop install and the artifact the Smithery listing distributes.
It carries no AnkusDrive code:mcpb/pyproject.tomlpins the matching PyPI release
and the host resolves it withuv(manifest 0.4,server.type: "uv"), so the bundle
is ~34 kB and handles numpy/Pillow on every platform. One optional install field,
the FreeCAD command path. A launcher shim dropsANKUSDRIVE_*values that arrive as
unexpanded${user_config.*}text, which the MCPB reference host leaves in place for
an unset option and AnkusDrive would otherwise read as an explicit, nonexistent
FreeCAD path.publish.ymlbuilds it after the PyPI upload and creates the GitHub
release from the changelog section when it does not exist yet
(#201).
Fixed
-
Install hints now match how AnkusDrive was installed.
setup_status,doctor,
solve_capabilitiesand every*_submitdegradation used to say
pip install 'ankusdrive[X]', which under pipx,uv tool,uvx(the MCP Registry
launch) and the Claude Desktop extension installs into a different Python and
leaves the family missing with no explanation.ankusdrive/install_kind.py
detects the install (ANKUSDRIVE_INSTALL_KIND, else the interpreter path) and
rewrites pip hints:pipx runpip ankusdrive install …,uv tool install --reinstall 'ankusdrive[X]',uvx --from 'ankusdrive[X]' ankusdrive mcp, and for
the extension a plain statement that extras cannot be added, with the pipx route.
Non-pip hints and plain venvs are unchanged. The report gainsinstall: {kind, source}; the FreeCAD worker receives the host's kind, since its own interpreter is
FreeCAD's; the MCPB launcher announcesmcpb. A fast-lane test fails any hint
string that bypasses the routing
(#347). -
fem_meshandfem_cantilever_demomesh with serial Gmsh, like the Elmer and
warpage bridges already did. Gmsh's threaded 3-D Delaunay is nondeterministic, so
the same model meshed to a different tet count run to run (390–406 tets, max
displacement 0.0497–0.0512 mm on one 24-core box) and a FEM test flaked; the result
is now identical across runs, for ~3% more meshing time on a 440k-tet part
(#344).
Changed
- The FreeCAD-path config key is
freecadcmdeverywhere:smithery.yamlsaid
freecadCmdwhileconfig.tomland the bundle sayfreecadcmd
(#201).