Skip to content

uv tool install version not verified — stale global binary causes opaque import errors #89

Description

@wtthornton

Problem

When tapps-mcp is installed globally via uv tool install or pip install --user, the .mcp.json config references just tapps-mcp (no path). If the user upgrades the source repo but forgets to reinstall the global tool, the MCP server runs the old version from ~/.local/bin/tapps-mcp.

This produces opaque errors like:

Error executing tool tapps_session_start: No module named 'tapps_core.experts.rag_embedder'

The error points to a module removed in v2.0.0, but the user believes they're running v2.3.0 because the repo is at v2.3.0.

Diagnosis Path (took ~30 minutes)

  1. tapps_session_startNo module named 'tapps_core.experts.rag_embedder'
  2. uv sync in repo → rebuilt venv, but error persists
  3. Searched for rag_embedder in source → not found anywhere
  4. Cleaned __pycache__ → no effect
  5. which tapps-mcp~/.local/bin/tapps-mcp
  6. tapps-mcp --versionv1.14.0 (expected v2.3.0)
  7. uv tool install --force --editable packages/tapps-mcp → fixed

Suggested Fixes

  1. tapps_session_start should report the binary path — include sys.executable or shutil.which('tapps-mcp') in the response so version mismatches are immediately visible
  2. tapps_upgrade should check binary version — compare tapps-mcp --version against the repo version and warn if mismatched
  3. tapps_doctor should detect this — check if the running server version matches the repo version
  4. .mcp.json template could use full pathuv run --project /path/to/tapps-mcp tapps-mcp serve instead of bare tapps-mcp

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium prioritybugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions