deploy: MCP servers' own venvs are synced by the deploy, not by memory
Each server under mcp-servers/ runs from its own .venv — the interpreter its
config in mcp_servers.d/*.json names — and Navi's venv does not carry those
dependencies. When a server's pyproject.toml gained one (trafilatura, Nov
2026) and the host was only pulled and restarted, the server died at import:
the manager could not connect, its tools silently left every profile's tool
list, and nothing reached the chat. SearXNG was healthy the whole time.

sync-mcp-venvs.sh installs every mcp-servers/*/pyproject.toml into its own
venv, stamped by a sha256 of the pyproject so an unchanged server is skipped
and a re-run is cheap. install.sh calls it as a numbered step; UPDATE.md
runs it unconditionally after a pull and verifies the MCP connection in the
journal; docs/mcp.md no longer reads as "install it yourself by hand".
1 parent 502e33a commit 38cd31f8a49755695329d2954da99972ba19b762
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 8 hours ago
Showing 5 changed files
View
deploy/README.md
View
deploy/UPDATE.md
View
deploy/install.sh
View
deploy/sync-mcp-venvs.sh 0 → 100755
View
docs/mcp.md