Old pinned versions can crash on startup (ModuleNotFoundError: unifi_mcp_shared.config) — fixed in current releases; broken historical wheels yanked #333
sirkirby
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
TL;DR
If you pin an old exact version of
unifi-network-mcp(orunifi-protect-mcp/unifi-access-mcp) — or you're running a stale plugin install — startup can crash before any login/config step with:Current releases are not affected. Fix: install with
@latest, e.g.uvx unifi-network-mcp@latest, or update the plugin from the marketplace. We've also yanked the broken historical wheels so the failure is now self-explaining instead of cryptic.What happened
Releases published before late April 2026 declared their dependency on
unifi-mcp-shared(andunifi-core) without an upper version bound. On 2026-04-28, an internal refactor moved shared configuration code out ofunifi-mcp-sharedinto a newunifi-corepackage — theunifi_mcp_shared.configsubmodule went away, replaced byunifi_core.config.Because those older releases had no upper bound,
uvx/pipresolves them against the newestunifi-mcp-shared, which no longer ships theconfigsubmodule the old code imports — so the import fails immediately. These releases worked when published; they were retroactively broken by the later refactor combined with an unpinned internal dependency.Reported and tracked in #331.
The fix (already shipped)
Current releases pin their internal dependencies with proper bounds, so resolution can no longer drift:
unifi-network-mcp→ 0.19.2unifi-protect-mcp→ 0.4.7unifi-access-mcp→ 0.3.3The Claude Code / marketplace plugins already point at these current versions.
Cleanup: historical wheels yanked
To stop old exact-pins from failing cryptically, we yanked the affected historical releases on PyPI (the ones with unbounded internal deps):
unifi-network-mcp0.7.0–0.14.12unifi-protect-mcp0.1.0–0.3.4unifi-access-mcp0.1.0–0.2.3Yanking does not delete anything. Existing lockfiles that pin these exact versions still resolve (now with a warning), so nothing already working breaks; new and loose installs simply skip them. The yank message points you to
@latest.What you should do
@latest:@latest.If you still hit this after moving to a current version, please open an issue. Thanks to @CamelSprout for the detailed report in #331 that surfaced this.
All reactions