Skip to content

v3.4.4 - Fix: Claude Desktop MCP attach failure (transitive dependency pinning)

Latest

Choose a tag to compare

@gvasile29 gvasile29 released this 31 Aug 11:19
· 7 commits to master since this release
f1e8352

Fixed

qai-consultant-mcp could again silently fail to attach in Claude Desktop -- a different root cause from the v3.1.5/v3.1.6/v3.3.1 incidents, but the same underlying class of problem.

Root cause: v3.3.1 exact-pinned only the 6 direct runtime dependencies. Every transitive dependency (scipy, scikit-learn, numpy, transformers, ~85 others) stayed unpinned. On 2026-08-31, scikit-learn (pulled in by sentence-transformers) resolved to a scipy release uv hadn't cached yet. The resulting 35MB download, on top of the already-known ~20-25s embedding-import cost, pushed a cold uvx start past Claude Desktop's ~60s initialize timeout -- and because the client cancels during the install, the wheel never reached the permanent uv cache, so every subsequent launch repeated the identical failed download.

Fix: exact-pin the entire resolved dependency tree (~99 entries, including per-Python-version variants for packages like numpy/scipy/scikit-learn that need a different exact version on 3.10 vs. 3.11 vs. 3.12+), generated via uv pip compile --universal and embedded in pyproject.toml's dependencies.

No functional or MCP tool-surface change. See CHANGELOG.md and CLAUDE.md's Gotchas section for the full incident writeup.

PyPI: https://pypi.org/project/qai-consultant-mcp/3.4.4/