SQLite MCP: spawn uvx ENOENT (install uv first)
Fixes the SQLite MCP server failing to start with uvx: command not found or spawn uvx ENOENT. The official server is distributed via uvx, which requires the uv package manager. The fix is installing uv first. Use when the client cannot spawn the server at all; not for database errors.
TL;DR: uvx is not a system command, it ships with the uv package manager, and the SQLite MCP server needs it to launch. Install uv, confirm uvx --version works in a terminal, then restart your MCP client.
spawn uvx ENOENTVariant: uvx: command not found.
Fix it
- Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh On Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex".
- Verify it is on PATH in a fresh terminal:
uvx --version Expected: a version number like uv 0.7.x.
- If the terminal sees it but the MCP client does not, the client was launched before uv updated PATH, or GUI apps do not read your shell profile. Either restart the machine, or put the absolute path to
uvxin the client config"command"field. Find it withwhich uvx. Restart the MCP client.
Expected: the sqlite server spawns and its tools appear.
When to use this
- The MCP client shows the sqlite server as failed/disconnected immediately at startup.
- Logs or errors mention
uvx,ENOENT, orcommand not found.
When NOT to use this
- The server starts but queries fail. That is a database problem, not a launcher problem.
- You installed the server via pip or another method. Then
uvxis not involved at all.
Compatibility
- @modelcontextprotocol/server-sqlite installed via uvx.
- Any MCP client that spawns stdio servers: Claude Desktop, Claude Code, Cursor.
Why it happens
uvx is uv's tool-runner, similar to npx for npm. The official install docs assume it exists, but fresh machines (and especially GUI-launched MCP clients with a minimal PATH) do not have it. The client then fails to spawn the server process at all, which surfaces as ENOENT rather than any database error.
Edge cases
- Homebrew installs of uv usually land on PATH for terminals but not for GUI apps. The absolute-path trick in step 3 is the reliable fix on macOS.
- Corporate machines sometimes block the install script.
pip install uvorbrew install uvare alternatives. - After installing, the first
uvxrun downloads the server package. Give it a minute on slow networks.